Fiddler抓包
pc端抓包
Fiddler 是以代理web服务器的形式工作的,它使用代理地址:127.0.0.1,端口:8888。当Fiddler退出的时候它会自动注销,这样就不会影响别的 程序。不过如果Fiddler非正常退出,这时候因为Fiddler没有自动注销,会造成网页无法访问。解决的办法是重新启动下Fiddler。
1.配置
打开Fiddler Tool->Fiddler Options->HTTPS 。 (配置完后记得要重启Fiddler).
选中"Decrpt HTTPS traffic", Fiddler就可以截获HTTPS请求,第一次会弹出证书安装提示,若没有弹出提示,勾选Actions-> Trust Root Certificate
另外,如果你要监听的程序访问的 HTTPS 站点使用的是不可信的证书,则请接着把下面的 “Ignore servercertificate errors” 勾选
Android端抓包
非https请求抓取
-
允许手机远程连接
如果想要捕获手机上的通信数据,就需要手机连接上Fiddler代理,而Fiddler默认是不允许其他设备进行连接的,解决办法:点击 Fiddler->Tools -> Options,在 Connections 面板选中 Allow remote computers to connect 允许其他设备连接(此操作需重启Fiddler生效)
-
查看本机ip地址
电脑ip地址可通过cmd命令行输入ipconfig查询,或网络连接信息中找到,还有个直观的方法是将鼠标置于fiddler右上角的online中即可显示电脑的ip地址。
-
手机网络代理设置
首先要确保的一点是,手机与装有fiddler的电脑处于同一个局域网内。然后修改手机wifi的代理设置,一般都是长按wifi或者点击修改配置,修改代理设置。选择手动模式,主机名/服务器输入上一步获取的电脑ip,端口号输入fiddler设置的端口监听,没有修改默认是8888。然后保存设置即可。
-
测试实践
打开浏览器访问一些网站和APP,已经可以抓取到http请求了,https请求也有显示,但是无法查看具体信息。
-
过滤电脑信息,只留手机抓取到的信息
点击fiddler界面左下角的Capturing关闭抓取pc端的包,只抓取远程连接的手机端信息
浏览器https请求和部分App的https请求抓取
-
下载证书
手机网络代理设置好之后,打开浏览器,在地址栏输入刚刚的代理地址,即ip:8888,会打开fiddler的一个网页,下载证书
下载完之后,点击即可安装,如果之前没有设置加密密码的,会提示先设置密码,然后输入密码安装即可。这个不同手机安装方法不同,就不详细说了。
-
测试实践
安装证书成功之后,再次访问网站或者APP,可以发现https请求的数据也可以看见了,但是不是所有的APP都可以被抓取到,类似抖音,B站之类的app还是抓取不到。因为这些APP采用了新的https加密技术,ssl pinning技术。对ssl pinning技术的了解可以参考:https://www.jianshu.com/p/22b56d977825
部分采用https加密技术的APP的https请求抓取(抖音举例)
这里采取了其他的软件配合抓取抖音的https加密请求。需要用的的软件是模拟器+Xposed框架+justtrustm。模拟器可以用电脑的安卓模拟器,也可以是手机上安装VirtualXposed,在真机中创建一个虚拟环境,但是经测试抖音APP无法在VirtualXposed中运行,抖音极速版是可以的。所以使用的电脑上的夜神模拟器测试的。
-
模拟器环境配置
-
下载安装夜神模拟器。
-
打开夜神多开器,添加模拟器,新建一个Android5.1.1版本的模拟器,进入新建的模拟器
-
在夜神的应用中心或者游戏中心搜索Xposed框架(安卓5.1.1版本),点击下载安装
-
安装完成之后进入Xposed install软件,安装激活框架
-
激活成功之后,下载安装justtrustme框架,https://github.com/Fuzion24/JustTrustMe/releases/tag/v.2,下载到包之后直接拖入模拟器中即可自动安装
-
justturstme安装成功后会提示你有未启动的模块,打开Xposed Installer---->模块—在justtrustme模块后面打
-
配置网络代理
这步就和之前手机上设置一样,修改wifi的代理设置为本机ip加fiddler监听端口,然后下载证书安装。
-
测试实践
配置完之后,打开抖音APP,可以看到fiddler抓取到了抖音的数据。