fiddler使用文档

fiddler使用文档.

fiddler使用手册

一、fiddler介绍

二、使用fiddler代理,使手机链接绑定host的无线网络

三、抓取移动端app数据包

四、抓包 截包伪造提交包

五、修改请求的返回数据(mock)

六、查看接口响应时间

七、模拟2G、3G、4G网络参数

八、接口动态转发

九、fiddler常用命令

 

一、fiddler介绍

简介:Fiddler(中文名称:小提琴)是一个HTTP的调试代理,以代理服务器的方式,监听系统的Http网络数据流动,Fiddler可以也可以让你检查所有的HTTP通讯,设置断点,以及Fiddle所有的"进出"的数据(一般用来抓包)工作原理:Fiddler是以代理WEB服务器的形式工作的,浏览器与服务器之间通过建立TCP连接以HTTP协议进行通信,浏览器默认通过自己发送HTTP请求到服务器,它使用代理地址:127.0.0.1, 端口:8888. 当Fiddler开启会自动设置代理, 退出的时候它会自动注销代理,这样就不会影响别的程序

 

二、使用fiddler代理,使手机链接绑定host的无线网络

1、设置本地host

2、打开工具-设置-链接,设置默认端口号

image                     image

 

3、使用手机链接公司无线网络:Trucmk1,并且设置代理

image

 

三、抓取移动端https的请求

1、设置fiddler:在工具-设置中勾选对应项

imageimageimage

imageimage

 

2、下载证书:完成链接fiddler代理后,访问本地链接,并在本地链接地址后添加默认端口号,即(:8888)。注:ios要使用苹果自带浏览器

image   image

 

注:IOS安装完证书后需要去关于本机-证书信任设置中去信任证书

 

image

 

四、抓包 截包伪造提交包

1、未避免其他请求混淆先使用ctrl + X清空页面,将手机填好信息,准备提交

2、点击页面底部位置开启劫包,修改完信息后,释放请求

image

五、修改返回数据(mock)

俗话说,没图说个**!来,直接上图

image

image

 

步骤

1.选择要修改返回数据的请求

2.点击AUtoResponder

3.点击Add Rule

4.选择本地想要的返回数据的文件

常见问题:

1.修改完成之后发现没有走本地的返回数据或不是想要的返回数据

答:

1)Enable rules未勾选

2)选择的文件错误或者文件中返回数据有问题

3)Add Rule之后 Rule Editor中多出EXACT:  手动删除保存即可

 

六、查看接口响应时间

有时候,某些接口访问过慢,我们需要测试接口查看响应时间,从而进行优化。(由于fiddler自带的没有进行响应时间的统计,所以我们需要给他添加新的规则)

首先打开Fiddler,在菜单栏上面找到Rules→CustomRules

crtl+f 查找class Handlers

image

image

我们把下面的代码复制到 class Handlers中,如上图所示(我已经复制进去了)

function BeginRequestTime(oS: Session)
{
    if (oS.Timers != null)
    {
        return oS.Timers.ClientBeginRequest.ToString();     
    }
    return String.Empty;
}
 public static BindUIColumn("Time Taken")
           function CalcTimingCol(oS: Session){
             var sResult = String.Empty;
             if ((oS.Timers.ServerDoneResponse > oS.Timers.ClientDoneRequest))
             {
               sResult = (oS.Timers.ServerDoneResponse - oS.Timers.ClientDoneRequest).ToString();
             }
             return sResult;
        }

 

然后退出Fiddler,再重启就可以了,

如图所示:现在多了一列Time Taken(响应时间)

image

七、模拟2G、3G、4G网络参数

2G:150Kbps,折合下载速度15-20K/s;

3G:1-6Mbps,折合下载速度120K/s-600K/s

4G:10-100Mbps,折合下载速度1.5M/s-10M/s

限速原理

Fiddler限速是以网络延迟的方式实现的,网络延迟时间*网速=传输字节数。

  • 点击Rules – Customize Rules(快捷键Ctrl + R)打开Fiddler ScriptEditor,或者直接点开右侧主页签的FiddlerScript。

image.png

  • 打开该文件后,Ctrl + F 查找m_SimulateModem标志位,可以看到如下代码:
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"; 
        }

注释说明: request-trickle-delay中的值代表每KB的数据被上传时会被延时多少毫秒;response-trickle-delay则对应下载时每KB的数据会被延时多少毫秒。比如你要模拟上传速度100KBps的网络,那上传延迟就是1KB/100KBps=0.01s=10ms,就改成10。

当勾选了Simulate Modem Speeds时,request-trickle-delayresponse-trickle-delay就会被设置,如果本身网速已经相当快的话,

这里设置的值就可以近似地推算出开启模拟后的上传和下载带宽了,比如默认设置下上传延时为300ms下载延时为150ms,可以推算出大致的模拟带宽为:

上传带宽 = 1KB/300ms = (1 * 8/1000) /0.300 ≈ 0.027Mbps

下载带宽 = 1KB/150ms = (1 * 8/1000) /0.150 ≈ 0.053Mbps

(1MB = 1024 KB ≈ 1000 KB 这里为了运算简便就用了1000的倍数,忽略误差)

实际情况下得到的带宽可能会有误差,受各种外因影响不会这么精确。

由此可见下载带宽是上传的两倍,也就是延时越小,带宽越大。带宽和这里的延时是成反比的。

公式换算:https://www.jianshu.com/p/492a1564d16dhttps://www.jianshu.com/p/f417d328e0df

 

八、接口动态转发

image.png

regex:https://didi.360che.com/wxhelp(?<name>.+)$

https://didi.360che.com/wxhelp:原域名

https://didi.360che.com/wxhelp2:要转发的域名

用起来非常方便,适用于app多环境测试;后端服务整体升级优化,而前端没有变动,此时可以直接做接口转发就可以了

九、fiddler常用命令

1.查找对应响应码的数据包或请求类型的数据包:

输入“=post”将选择post的数据包并用蓝色底标色

2.匹配指定字符的请求包

输入 ?xx  这里百度为例,?360che.com

3.@

@ Host 高亮所有该主机的会话

4.bpafter

bpafter 字符串 再请求结束得到响应前中断所有包含该字符串的会话

5.bps

bps Http状态码中断所有该状态的会话

6.bpv 或 bpm

bpv 或 bpm后边跟的是HTTP方法表示中断所有该方法的会话

7.bpu

bpu 字符串 在请求到服务器之前中断包含该字符串的会话

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值