目录
fiddler在使用的过程中若出现The system proxy was changed. Click to reenable capturing.,该如何处理呢?
1.关闭VPN代理,然后重启fiddler就可以了。注意是把软件关闭,而不是仅仅关闭连接。
首先应该先配置好电脑端和手机端抓包开发环境,一般不建议用手机进行抓包,因为手机抓包的软件功能太单一了。
fiddler Windows端开发环境搭建
fiddler安装完之后应该做哪些配置?
电脑端安装信任证书,打开端口:
Tools-options-HTTPS-decrypt HTTPS traffic
之后弹出的选框之后全部选择yes。
选择完之后,界面应该是下面的这个
我check for certificate revocation前面的那个对号是自己点上去的。最好这几个√都打上。
然后在Allow remote computers to connect,允许计算机远程连接上面打钩,点击保存,这样电脑端就设置完毕了。
不过想要正常使用fiddler的话,需要重新启动fiddler,这样才能打开端口。
fiddler如何设置抓取的数据来源?
分别为抓取所有的数据、只抓取浏览器数据、只抓取非浏览器数据、只从远程客户端抓取数据
fiddler在使用的过程中若出现The system proxy was changed. Click to reenable capturing.,该如何处理呢?
1.关闭VPN代理,然后重启fiddler就可以了。注意是把软件关闭,而不是仅仅关闭连接。
2.配置fiddler,删除其他的代理
然后将里面的拨号和虚拟专用网络来删除就可以了。
-
3.修改fiddler的规则(估计这个真正起作用的可能性是最高的)
按Ctrl+R或者按照下面的顺序打开自定义规则处
在main()函数中添加下面一行代码:
FiddlerApplication.oProxy.add_DetachedUnexpectedly(DoReattach);
在main()函数上方添加下面三个函数
static function DoReattach(o: Object, ea: EventArgs)
{
ScheduledTasks.ScheduleWork("reattach", 1000, innerReattach);
}
static function innerReattach()
{
FiddlerApplication.UI.actAttachProxy();
}
static function OnRetire()
{
FiddlerApplication.oProxy.remove_DetachedUnexpectedly(DoReattach);
}
fiddler安卓抓包环境搭建
一、PC端安装HTTPS证书
打开fiddler->tools->options->HTTPS,这几个选项都打上勾,
capture HTTPS CONNECTs(捕获HTTPS连接)
Decrypt HTTPS traffic(HTTPS请求解密),首次使用无证书,会弹出是否信任fiddler证书和安全提示,直接点击yes就行,重启fiddler后生效。
2.允许手机远程连接
allow remote computers to connect,允许其他设备远程连接,次操作重启fiddler后生效。
3.查看IP地址
将鼠标放到fiddler的右上角就可以查看本机的IP地址
二、手机端设置
1.接入网络
首先确保手机和电脑是处于同一局域网,然后手机打开WiFi设置,手机代理输入电脑的IP和端口:端口号默认是8888,不过可以在fiddler的options的connections里面设置
点开WiFi设置,里面有一个修改网络的选项,点开之后可以将代理的IP(电脑的内网IP)和端口号输入进去
2.手机安装证书
手机在浏览器里面输入代理的IP+端口号,192.168.1.107:8888,旧课程跳转到fiddler echo service的证书下载页,点击fiddlercertificate下载并安装
到这里安装端的开发环境就已经是搭建完毕了。
搭建环境中遇到的问题
如何设置抓包时抓取电脑端的数据还是抓取手机端的数据?
按照操作步骤都做了,设置了WiFi代理,也打开fiddler,但是fiddler不能对手机端进行抓包?
1.检查一下手机WiFi代理是否保存好了
2.检查一下手机端是否安装了fiddler的证书,在设置里面搜索“受信任的凭据”,看有没有fiddler的,若是没有的话,可以在输入IP和端口号重新安装
3.检查fiddler的connections里面的allow remote computers to connect,这个对勾打上了没有
4.检查fiddler的过滤规则,看下自己是不是将规则设置的太死了,所以导致会话列表里面没有自己需要的数据包
设置好WiFi代理规则后,发现手机上的有些APP无法联网,是怎么回事,怎么处理?
应该是软件为了安全考虑,后台限制了抓包,不允许进行抓包,才有了这个网络异常。
这种情况是因为APP使用了SSL pinning。。
可以考虑root掉真机或者使用模拟器来安装xposed框架,然后安装justtrustme模块,就可以完美解决这个问题了。
用电脑给手机开热点。
什么是SSL pinning?
简单来说,SSL pinning是一种防止中间人攻击(MITM)的计数,主要的机制是在客户端发起请求->收到服务器的证书这一步之后,对收到的证书进行校验,如果收到的证书不被客户端所信任,就直接断开连接不继续请求。
为什么开启了SSL pinning机制的APP无法进行中间人攻击?
当我们使用抓包工具抓包时,抓包工具在拦截了服务器返回的内容并重发给客户端的时候,使用的证书并不是服务器原来的证书,而是抓包工具自己的,抓包工具自己的证书并不是APP开发者社拽的服务端原来的证书,于是就构成了中间人攻击,触发SSL pinning的机制导致连接被中断,所以我们无法直接抓到包。
遇到了开启了SSL pinning的APP时,应该怎么办?
1.直接使用低版本系统的Android手机(低于7.0即可)
2.使用xposed或兼容Xposed的框架+JustTrustMe
3.将抓包工具的证书安装到系统根证书目录中。
4.virtualXposed
5.使用安卓模拟器,用模拟器打开对应的软件。
什么是Xposed框架?
XposedInstaller(Xposed框架)是一款可以在不修改APK的情况下影响程序运行(修改系统)的宽假服务,基于它可以制作出许多功能强大的模块,且在功能不冲突的情况下同时运行。
JustTrustMe是GitHub上的一个开源功能,他是一个Xposed模块,用来禁止SSL证书验证。
这个方案是使用JustTrustMe这个Xposed模块,它所做的事情就是将各种一直的HTTP请求库中用于校验证书的API都进行Hook,使得无论是否是可信任证书的请求,校验结果都返回为正常状态,从实现绕过证书检查的结果。
不过这个Xposed框架不太好安装,替代方案是使用维术大佬的太极APP,支持使用Magisk挂载启动,实现了几乎与Xposed框架同样功能的使用方式和效果,并兼容了很多Xposed的模块,直接解了BootLoader锁之后,刷入Magisk,并在Magisk-Manager中添加太极模块就可以使用。
如何使用Xposed?
1.安装Xposed安装器
Xposed安装器下载地址: https://pan.baidu.com/s/1dEToAvJ 密码:uiu8
下载好Xposed安装器.apk之后,导入手机里或者模拟器里面,直接开始安装就可以了。
这个没什么可说的。
2.安装Xposed框架
这个是需要使用root权限的,所以就直接给了吧,反正在模拟器中,无所谓。安装完之后,需要重启手机。
3.安装JustTrustMe
放
雷电模拟器一安装Xposed框架就闪退是怎么回事?
换蓝叠试试
下面的是模拟器的使用评价:
刚试完,蓝叠太卡了。
逍遥模拟器还是可以的