最近,在工作中需要测试一个监控网络请求的SDK,需要校验该SDK记录的耗时数据的准确性。根据网上大神们提供的工作经验,可以利用Fiddler工具给手机添加代理,来监控手机的一系列网络请求。但是,没想到,路漫漫其修远兮,fiddler工具给手机设置代理之后,手机竟然上不了网了,尝试了N种解决方法,终于给解决了,因此,记录下来以备不时之需。
1、fiddler给手机添加代理
打开fiddler工具->Tools->Fiddler Options,记住下面的端口号;
电脑和手机连接同一个网络,确保在一个局域网。电脑端(cmd-ipconfig)查看电脑的ip地址:
其中,ipv4地址就是电脑的ip地址。
手机端设置WLAN种给网络设置代理,选择对应的WLAN,对该网络进行编辑,代理选择手动,主机名填上面电脑ip地址,端口写fiddler提供的端口。
2、手机端用浏览器访问http://IP:端口,观察网络是否访问成功。
3、添加代理后连不上网的解决方法
a、关闭电脑防火墙
b、打开注册表(cmd-regedit),在HKEY_CURRENT_USER\Software\Microsoft\Fiddler2下创建一个DWORD,值置为80(十进制)
编写fiddlerScript rule,点击Rules->Customize Rules,用Ctrl+F查找OnBeforeRequest方法添加一行代码
if (oSession.host.toLowerCase() == "webserver:8888")
{
oSession.host = "webserver:80";
}
设置完之后重启Fiddler即可。
给手机安装fiddler证书
如果需要抓取手机端的HTTPS包,就要在手机上面安装fiddler证书。
1、使用手机连接WiFi做好代理;
2、代理成功后打开手机浏览器;
3、在浏览器输入:http://IP地址:端口号后搜索(如:http://192.168.3.111:8833);
4、将会展示该页面
5、安装完之后你就可以抓取HTTPS的数据包了,如果你的手机是iOS系统的将需要多一步:
需要再信任自定义证书,设置--通用--关于本机--证书信任设置--(对应证书的开关)。
参考:https://www.cnblogs.com/hhhyaaon/p/5839283.html
https://www.cnblogs.com/joshua317/p/8670923.html