提示
:
点击上方
"
艾橙科技
"
↑
蓝色小字关注我们吧
上期
《
Thor 新手教程(一)
》
我们介绍了Thor 的基本用法,这期我们就介绍一下,如何使用抓包过滤器来快速抓取需要的内容。并配合一些示例演示。
▍
自定义过滤器提高抓包效率
Thor 默认是全局抓包,抓取的数据比较多,我们可以自定义过滤器,有选择的抓取数据,从而减少筛选数据的繁琐,提高效率。
首页点击过滤器配置,可以进入过滤器界面。点击右上角“+”号,选择新建自己的过滤器,过滤器用于设置哪一些包你能抓取到。
如下图所示,可以按照提示一一选择。
抓包支持协议:可以选择 HTTP或者HTTPS 解析方式。
包括域名:填写域名后,只会在所填域名内的包才会抓取。请参看提示的文字说明,填写正确的域名格式,不支持IP地址。
排除域名:可以设置无需抓包记录的域名,请注意参看说明的正确格式
匹配HTTP方法:目前有多种方式。我们需要下载资源,一般选取GET方式。详情请参考文末知识。
排除HTTP的方法:与前面的“匹配HTTP方法”相反。
按需启动抓包域名:可以设置域名,当我们在任意地方访问这些域名的时候,Thor会自动开启抓包。
DNS服务器:添加自己的DNS服务器,用于抓取一些特定环境的包,例如国外数据。
通过建立Thor过滤器配置,可以缩小抓包范围,减少筛选数据的繁琐,帮你最快的抓取到你所需的数据。
注意:过滤器配置的规则,只在包的“请求行”,“请求头”中匹配。
例如你想抓取秒拍视频,过滤器可以这样设置:
【抓包支持协议】:可以选择 HTTP
【匹配HTTP方法】:选择“GET”
【包含关键词】:填写“mp4”
开启Thor ,打开想要抓取的秒拍视频,点击播放,返回Thor ,查看抓包记录,你会发现,只有“GET”的包,而且只有包含关键词“mp4”的,这样就可以快速查看是否可以抓取到该视频了。
▍
抓取音乐示例
通过设置好过滤器,我们也能很快捷的抓取音乐,包含免费、收费音乐哦。
首先新建一个过滤器:
【匹配HTTP方法】:选择“GET”
【包含关键词】:填写“mp3
”
然后,打开网易云音乐,试听你想下载的音乐。
返回Thor ,停止抓包,查看数据。
可以看到抓取的全部为包含“mp3”关键词的数据,点开查看就可以抓取到你想下载的音乐啦。
下载好的音乐可以概况里面通过在Safari打开的方式试听,
复制链接可以使用其他方式下载。
或者在
响应一栏——消息体打开来试听,点击右上角分享按钮来导出到其他App。
小视频演示
抓取视频也是一样的道理。像秒拍,美拍,这些视频能轻松抓取。至于还能抓取哪些内容,大家可以尝试一下。
▍
抓取ipa安装包示例
Thor 如何抓取装ipa安装包呢?同理,可以新建一个过滤器,关键词填写ipa,或者默认全局抓包,抓包记录查看的时候,筛选“安装包”就可以了。
我们演示一下如何抓取迅雷。开启Thor,打开迅雷安装页面,安装迅雷。等待安装完毕,返回
Thor,停止
Thor。
查看抓包记录,筛选器选择安装包,可以看到所以安装包相关记录。点击查看抓包详情,可以看到一个大小为65MB的包就是抓取到的迅雷ipa安装包啦,复制链接,可以使用其他方式下载保存。
视频演示
为什么要抓取安装包呢?
对于一些第三方分发应用,每日有下载次数限制,或者随时会被上传者取消分享,通过这个办法,可以把安装包保存起来,方便随时安装。当然,该应用证书没有失效前,都是可以使用的。越狱设备可以随时安装,未越狱设备,可以将ipa上传到类似的第三方分发平台,自己就可以随时安装啦。
这样的方法,同样可以抓取App Store的应用。
注意,抓取App Store,需新建一个过滤器,将需要将排除域名内的“apple”相关地址,等待安装完毕才可以抓取到正确下载链接。
从App Store抓取到的ipa安装包,无法导入iTunes进行安装的。仅仅适合越狱设备临时备份安装包,以免下架。
▍
抓取一些更直接的链接
Thor 还可以抓取一些直接一点的链接。
示例为我们平时所看的电视直播,点开界面,选择电视观看,难免看到广告,是否可以直接打开收看呢?我们用Thor试试看看否抓取直接观看的地址?
新建一个过滤,关键词“m3u8”,开启
Thor,在Safari打开直播观看,可以观看,返回
Thor,停止抓包。
点击查看抓包记录,可以
响应一栏——消息体查看包的格式,在概况内,打开抓取到的链接,就可以直接观看该直播频道了。
视频演示
视频仅仅演示了抓取到直接的链接,同理,
可以想办法抓取一些API接口,VIP视频解析接口,一些下载的直链等等。
大家自行测试吧
▍
HTTP常见问题
在Thor 设置自己的过滤器配置的时候,在匹配HTTP方法一栏,常见的HTTP方法都可以看到,具体是什么意思呢?下面做下简单的介绍。
常用的HTTP方法
-
GET: 用于请求访问已经被URI(统一资源标识符)识别的资源,可以通过URL传参给服务器。
-
POST:用于传输信息给服务器,主要功能与GET方法类似。
-
PUT: 传输文件,报文主体中包含文件内容,保存到对应URI位置。
-
HEAD: 获得报文首部,与GET方法类似,只是不返回报文主体,一般用于验证URI是否有效。
-
DELETE:删除文件,与PUT方法相反,删除对应URI位置的文件。
-
OPTIONS:查询相应URI支持的HTTP方法。
-
PATCH:是对PUT方法的补充,用来对已知资源进行局部更新
GET方法与POST方法的区别
-
get重点在从服务器上获取资源,post重点在向服务器发送数据;
-
get传输数据是通过URL请求,以field(字段)= value的形式,置于URL后,并用"?"连接,多个请求数据间用"&"连接,这个过程用户是可见的;post传输数据通过Http的post机制,将字段与对应值封存在请求实体中发送给服务器,这个过程对用户是不可见的;
-
Get传输的数据量小,因为受URL长度限制,但效率较高;Post可以传输大量数据,所以上传文件时只能用Post方式;
-
get是不安全的,因为URL是可见的,可能会泄露私密信息,如密码等;post较get安全性较高;
-
get方式只能支持ASCII字符,向服务器传的中文字符可能会乱码。post支持标准字符集,可以正确传递中文字符。
常见的HTTP相应状态码
200:请求被正常处理。可以正常播放的音视频,常见于网页直接播放或者下载。
204:请求被受理但没有资源可以返回
206:客户端只是请求资源的一部分,服务器只对请求的部分资源执行GET方法,相应报文中通过Content-
Range指定范围的资源。完整的音视频被拆成了很多段,每一个206都是其中一段,且不能直接播放(首段除外),常见于播放器播放产生。
301:永久性重定向
302:临时重定向。301和302表示请求的音视频url地址变更为其他URL,新的URL在响应——请求头——Location中可以找到。
303:与302状态码有相似功能,只是它希望客户端在请求一个URI的时候,能通过GET方法重定向到另一个URI
上
304:发送附带条件的请求时,条件不满足时返回,与重定向无关。向服务器询问url 指向资源是否更新,无更新则服务器返回304。所以不会有资源被抓到,但是请求的url 可以单独去下载。
307:临时重定向,与302类似,只是强制要求使用POST方法
400:请求报文语法有误,服务器无法识别
401:请求需要认证
403:请求的对应资源禁止被访问
404:服务器无法找到对应资源
500:服务器内部错误
503:服务器正忙
HTTP的缺点与HTTPS
a、通信使用明文不加密,内容可能被窃听
b、不验证通信方身份,可能遭到伪装
c、无法验证报文完整性,可能被篡改
HTTPS就是HTTP加上加密处理(一般是SSL安全通信线路)+认证+完整性保护。所以我们解析HTTPS,需要安装和信任证书。
上述基础知识转载于:
http://10808695.blog.51cto.com/10798695/1840537
▍
Thor 的特点及抓包套路
有很多朋友在后台问,可以抓包的软件有Surge, Take等,Thor 有什么优势呢?
抓包工具很多,Thor 做为专业抓包,还是拥有自己的众多特点。