fiddler-抓包开发环境搭建

目录

fiddler Windows端开发环境搭建

fiddler安装完之后应该做哪些配置?

fiddler如何设置抓取的数据来源?

fiddler在使用的过程中若出现The system proxy was changed. Click to reenable capturing.,该如何处理呢?

1.关闭VPN代理,然后重启fiddler就可以了。注意是把软件关闭,而不是仅仅关闭连接。

2.配置fiddler,删除其他的代理

3.修改fiddler的规则

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框架就闪退是怎么回事?

换蓝叠试试

下面的是模拟器的使用评价:

刚试完,蓝叠太卡了。

逍遥模拟器还是可以的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值