使用fiddler对手机上进行抓包有以下几个步骤:
1.电脑上安装fiddler;
2.电脑上对fiddler安装证书、进行配置;
3.手机端与笔记本连接同一个局域网,配置手动代理;
4.手机端安装fiddler证书;
原理:
在本机开启了一个http的代理服务器,然后它会转发所有的http请求和响应。Fiddler 是以代理web 服务器的形式工作的,它使用代理地址:127.0.0.1,端口:8888。网络请求走fiddler,fiddler从中拦截数据,由于fiddler充当中间人的角色,所以可以解密https。因此,它比一般的firebug或者是chrome自带的抓包工具要好用的多。不仅如此,它还可以支持请求重放等一些高级功能,还可以支持对手机应用进行http抓包的。本文就是手机抓包。
以下对各步骤进行详解:
1.电脑上安装fiddler。
此步骤百度即可,略。
2.电脑上对fiddler安装证书、进行配置。
1)HTTPS配置:打开fiddler,打开Tools→Options→HTTPS
2)Connections配置:打开Tools→Options→CONNECTIONS,设置端口号为8888,允许远程连接:
3.手机端与笔记本连接同一个局域网,配置手动代理。
1)将手机的无线网和笔记本连接至同一个wifi下。
2)查看电脑的ip地址,并将手机的代理地址设置成电脑的ip。在计算机开始搜索框中输入cmd后回车,在命令行中输入ipconfig:
上图红线中为电脑ip地址,打开设置→wifi→已连接的无线网→配置代理,将服务器地址设置成电脑的ip地址,端口号设置成fiddler上配置的8888:
4.手机端安装fiddler证书。
手机端用浏览器访问http://IP:端口,用电脑的端口和fiddler设置的端口访问安装证书。正常情况下是可以访问的,如果手机上的浏览器无法访问,需要对计算机上的fiddler进行以下修改:
1)在开始的查找菜单中输入regedit打开注册表,在HKEY_CURRENT_USERSOFTWAREMicrosoftFiddler2下创建一个DWORD,值设置为80(十进制):
2)编写FiddlerScript rule,点击Rules > Customize Rules,用ctr+f查找到OnBeforeRequest方法添加以下代码:
if (oSession.host.ToLower() == "webserver:8888") { oSession.host="webserver:80"; }
进行完以上设置后,保存更改,重启fiddler。
重新在手机浏览器上刷新url,可以发现能访问到fiddler的证书了:
点击下载fiddler证书,安装完成后在手机上进行数据访问,可以看到fiddler中有抓取到对应的数据了。