fiddler抓包工具

一、fiddler下载安装

 Fiddler Everywhere是可以运行在任何浏览器,任何系统、跨平台(Windows、Mac、Linux)的一款Web调试代理工具。它记录了计算机和Internet之间的所有HTTP(S)通信,可以检查和编辑通信,并Mock请求以及修改响应返回的能力

 下载地址:https://www.telerik.com/fiddler

  

 默认安装

二、抓取网络浏览器请求

 Chrome/IE浏览器使用的都是系统代理设置chrome浏览器的设置中搜索代理,可以看到

  

 手动配置浏览器代理:打开chrome/IE浏览器,选择设置->Internet选项->连接->局域网设置->代理服务器 设置为 127.0.0.1:8888

    

     

 

  

       

   Tools->Options->Actions->Open Windows Certificate Manger查看已安装的证书

    

   证书如果过期了则重新生成并安装新证书:Reset All Certificates,然后重新Trust Root Certificate

   

  抓包请求结果有提示:Response body is encoded.Click to decode.解决办法:   

   

  浏览器请求https://ww.cnblogs.com,抓包结果:

  

  Statistics:数据统计面板,性能分析

  Inspectors:查看请求与响应

  Filters:过滤器只抓取某些网站的请求

   Actions:

    • Run Filterset now运行过滤器
    • Load Filterset导入过滤规则
    • Save Filterset保存过滤器到本地

    

 三、抓取手机端请求

 确保手机和Fiddler在同一局域网。

  在 Fiddler 中找到port端口(Tools → Options → Connections)

  在手机上设置 Wi-Fi 代理,填写:

  代理 IP:Fiddler 运行的 PC 的 IP  

  端口:8888

  在手机浏览器访问 http://<Fiddler_IP>:8888 下载证书FiddlerRoot.cer并安装。

    

四、弱网测试

 1. 手动设置设置上行,下行速率,模拟网路速度的原理,每上传/下载1KB 要delay 多久…

  

  在Fiddler ScriptEditor中搜索关键字:m_SimulateModem

   

  当修改好后,点击左上角File-->Save进行保存即可

   

 2. 启动规则

  Rules → Performances →勾选 Simulate Modem Speeds

  这时打开网站就会比较慢,说明限速了。

   

 五、mock返回值

 使用其中的AutoResponder功能实现mock测试。

 篡改返回的数据,返回的数据意味着我们关心页面上的显示(比如:页面上显示这个东西,返回的结果发生改变之后,页面是否正常显示,页面处理情况)

  • AutoResponder类似于Charles的MapLocal功能,但是更强大,因为可以用正则去匹配;
  • 平时我们可能需要观察某个请求返回特定的响应数据,但是该请求可能每次都会带有唯一的请求参数(如:时间戳),那就可以通过AutoResponder的正则去匹配该请求,无需url里关心唯一的请求参数,而且也可以根据Header的属性去匹配url;
  • 甚至Fiddler还提供了多种response,不一定要自定义一个response。

 1. 参数设置

  在AutoResponder中进行如下设置:

    勾选Enable rules(执行匹配规则,就是用来启动AutoResponder)
    勾选unmatched requests passthrough(不匹配请求失败的url)
    点击Add rule(添加匹配规则)

    

 2. 使用 

  将左侧监控面板中抓取到的请求,拖到Autoresponder中,勾选If request matches中的请求复选框

  选中该请求->右键->Edit Response->Textview,修改服务端返回的内容(建议格式化之后再做修改,返回的内容结构会更清晰),点击【save】按钮

  这时客户端重新发起该请求的时候,就会返回修改的内容。

     

 3. 规则

  

  请求框:默认EXACT精准匹配,完全相同的请求地址才会被拦截,该编辑框支持正则表达式进行模糊匹配,如regex:(?insx).*\.(css|js|PHP)$ 表示匹配所有以css,js,php结尾的请求url

  Test:正则较为复杂时,可以用Test去测试自己写的正则能否匹配上对应url。绿色表示匹配成功,红色表示匹配失败

   regex正则表达式匹配:

      .+ 一个或多个

      .* 零个或多个

      (?insx)不区分大小写

      \ 转义

    匹配规则:regex:(?inx)^https://.+\.gif$           简单理解:https开头,.gif结尾的url

  响应:可选择服务器返回不同的code值或返回一个本地文件;Fiddler支持的拦截重定向的方式:

    

  

六、Composer构造器

 Fiddler Composer的功能就是用来创建HTTP Request 然后发送。你可以自定义一个Request, 也可以手写一个Request,你甚至可以在Web会话列表中拖拽一个已有的Request,来创建一个新的HTTP Request。

 简单来说,Composer可以用来接口测试,支持前后端接口连调,支持多种类型的请求,如GET、POST。其中,POST请求的参数写在request body中、一般协议选择HTTP1.1。

  

  

 

posted on 2025-04-24 02:39  花溪月影  阅读(251)  评论(0)    收藏  举报