Fiddler_抓包应用_01
1. 手机抓包配置
1.1. Fiddler配置
Tools->Options
抓取https的请求:
查看Fiddler端口
1.2. 获取Fiddler 所在IP
(1) 可通过fiddler右上角Online下查看
(2) 也可通过电脑上ipconfig查看
1.3. 手机设置代理
1.3.1. Android手机
Step1、设置->无线和网络->选择WLAN(应与Fiddler在同一网络)
Step2、修改网络->显示高级选项->代理->手动,填写fiddler所在IP和 端口(默认8888)
1.3.2. iOS手机
Step1、设置->无线局域网->选中网络(应与Fiddler在同一网络)->配置代理
1.4. 手机安装证书
打开手机浏览器访问Fiddler-IP:8888,下载并安装.crt证书
特殊情况:
1.ios10以上系统,需要在设置->通用->关于本机,信任安装的证书
1.5. 手机操作后,fiddler抓取请求
2. 其他常用
2.1. 添加Server IP
(1) .Rules->Customize Rules
(2) 搜索Main函数
(3) 添加FiddlerObject.UI.lvSessions.AddBoundColumn("Server IP", 120, "X-HostIP");
Fiddler是可以看到Server IP了
2.2. 添加响应时间
抓取的请求中显示响应时间,效果如下
在FiddlerScript中添加脚本如下:
public static BindUIColumn("TimeTaken/ms", 120) function TimeTaken(oS: Session):String{ var sResult = "0"; var t1_ms = oS.Timers.ClientBeginResponse.ToUniversalTime().Millisecond; var t1_m = oS.Timers.ClientBeginResponse.ToUniversalTime().Minute; var t1_s = oS.Timers.ClientBeginResponse.ToUniversalTime().Second; var t1 = t1_m*60*1000 + t1_s*1000 + t1_ms ; var t2_ms = oS.Timers.ClientDoneRequest.ToUniversalTime().Millisecond; var t2_m = oS.Timers.ClientDoneRequest.ToUniversalTime().Minute; var t2_s = oS.Timers.ClientDoneRequest.ToUniversalTime().Second; var t2 = t2_m*60*1000 + t2_s*1000 + t2_ms ; if(t1 >= t2){ var t3 = t1 - t2; sResult = t3.toString(); } return sResult; }
2.3. 修改请求参数
场景:手机APP登录使用token认证方式,模拟token失效后代码如何处理。使用Fiddler抓包并修改其中请求参数构造token失效场景。
2.3.1. 添加断点
此例为修改发送给服务端的参数,观察服务端响应
1.Rules->Automatic Breakpoints->Before Requests
2.3.2. 修改参数值
在pc或APP上操作,选择fiddler获取的URL,然后选中修改其中的值;再点击“Run to Completion”
2.4. Fiddler弱网测试
Fiddler模拟限速是通过延迟发送数据或接收数据的时间来限制网络的下载速度和 上传速度,从而达到限速的效果。
Step1、Tools->Options 如下设置
Step2、Rules->Customize Rules.. 更改如下代码,
if (m_SimulateModem) {
// Delay sends by 300ms per KB uploaded.
oSession["request-trickle-delay"] = "300";
// Delay receives by 150ms per KB downloaded.
oSession["response-trickle-delay"] = "150";
}
Step3、勾选 Rules->Performance->Simulate Modem Speeds 模拟调制解调器的速度
Step4、设置完成后,清空原有的log,并使用你的app进行弱网条件下的操作,
选择第一个请求和最后一个请求,可获得整个页面加载所消耗的总体时间。从条形图表中还可以分别出哪些请求耗时最多,从而对页面的访问进行访问速度优化
Step5、不同请求耗时多少的图形表,获取那种资源耗时最大,进而进行优化:
2.5.限制抓取范围
Tool->Options
可以设置只抓取浏览器、非浏览器、或远程客户端的包
3. 常见问题
3.1. Fiddler无法抓包
方法一:Fiddler查看help->about .net版本,4.6以上可抓包
方法二:重置Fiddler所有证书,手机端重新安装证
Step1、重置证书:注意不要删除根存储区证书
不要删除根存储区证书
Step2、安装证书
一路yes
Step3、手机安装证书: 浏览器访问Fiddler-IP:8888
Step4、还不可以的话重启fidder
3.2. 手机配置代理后连不上网
Fiddler-->tools->Options 勾选 Allow Remote computers to connect
3.3. Fiddler响应乱码
点击 Request body is encoded. Click to decode.