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

    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.

     

     

  • 相关阅读:
    mysql数据库
    is not in the sudoers file.This incident will be reported
    linux的一些命令
    u盘安装linux(windows7+linux双系统)
    优惠券、礼品卡、礼券
    优惠营销管理
    优惠营销管理
    hdu 1166 线段树单点更新
    hdu 1542 扫描线求矩形面积的并
    hdu 2444 二分图判断与最大匹配
  • 原文地址:https://www.cnblogs.com/happy-xiaoxiao/p/10577528.html
Copyright © 2020-2023  润新知