首页 > 其他 > 详细

Fiddler_抓包应用_01

时间:2019-03-22 13:55:53      阅读:90      评论:0      收藏:0      [点我收藏+]

标签:inf   默认   break   pre   res   out   速度   系统   场景   

 

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. 修改参数值

pcAPP上操作,选择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.

 技术分享图片

 

 

Fiddler_抓包应用_01

标签:inf   默认   break   pre   res   out   速度   系统   场景   

原文:https://www.cnblogs.com/happy-xiaoxiao/p/10577528.html

(0)
(0)
   
举报
评论 一句话评论(0
0条  
登录后才能评论!
© 2014 bubuko.com 版权所有 鲁ICP备09046678号-4
打开技术之扣,分享程序人生!
             

鲁公网安备 37021202000002号