抓包工具之Fiddler(详解)

Fiddler是最强大最好用的Web调试工具之一,它能记录所有客户端和服务器的http和https请求,允许你监视,设置断点,甚至修改输入输出数据,Fiddler包含了一个强大的基于事件脚本的子系统,并且能使用.net语言进行扩展。

你对HTTP协议越了解,你就能越掌握Fiddler的使用方法.你越使用Fiddler,就越能帮助你了解HTTP协议。

Fiddler无论对开发人员或者测试人员来说,都是非常有用的工具。

Fiddler的官方网站:www.fiddler2.com

Fiddle安装

Download Fiddle

请先选择版本下载,双击即可安装。

工作原理

Fiddler是以代理web服务器的形式工作的,它使用代理地址:127.0.0.1, 端口:8888. 当运行Fiddler时会自动设置代理,退出的时候它会自动注销代理,不会影响别的程序。不过如果Fiddler非正常退出,这时候因为Fiddler没有自动注销,会造成网页无法访问。解决的办法是重新启动下Fiddler。

常见使用环境

工具条常用功能

工具栏从左到右按钮功能分别为:

  1.增加备注——选中某个会话,点击按钮,可对会话添加备注

  2.回放按钮——选中某个会话,点击按钮,回放对该会话的请求。快捷键为R

  3.清空监控面板

  4.调试Debug

  5.模式切换——在流模式和缓冲模式之间切换,默认缓冲模式

  6.解压请求——将HTTPS的请求解压,以便查看

  7.保持会话——考虑电脑性能,自行选择

  8.过滤请求——按下按钮不放,选择要捕获的软件进程,松开按钮,即可捕捉到该软件发出的所有请求

  9.查找——点击,输入想查找的会话

  10.保存会话

  11.保存截图

  12.计时器

  13.快速启动浏览器

  14.清除缓存

  15.编码/解码

状态栏操作

  1.上面黑色区域为控制台,用于输入命令。

  2.下面从左到右分别为:

    (1)控制Fiddler是否工作——图标出现:表示Fiddler工作;图标消失:表示Fiddler不工作

    (2)过滤会话来源

    (3)记录当前展示的会话数量

    (4)会话的详细地址

监控面板使用

左侧框中常见项:

  "#"列:表示记录来自服务器端的请求会话

  "Result"列:表示会话状态

  "Protocol"列:表示协议

  "Host"列:表示主机地址/域名

右侧框中常见项:

  "Statistics"项:表示请求的性能指标

  "Show Chart"项:表示可视化

  "Inspectors"项:表示对请求解包

  "AutoResponder"项:表示文件代理

  "Composer"项:表示前后端接口连调

  "Log"项:表示记录log日志

  "Timeline"项:表示网站性能分析

文件、文件夹代理和HOST配置

HOST配置

这个功能主要作用就是不需要每次配置hosts都到windows目录下去修改hosts文件;可以直接方便在fiddler界面里面配置即可;方便快速的配置自己的测试host。

步骤如下:Tools》HOSTS》激活Enable功能》选择服务器IP,修改要配置的Host的IP》save》刷新可启用

文件、文件夹代理

选中文件,拖入AutoResponders界面》精准匹配》选择本地文件》保存即可生效

请求模拟,前后端接口调试

网速限制

方法一:

Fiddle提供了一个功能,让我们模拟低速网路环境…启用方法如下:Rules → Performances → Simulate Modem Speeds (如下图)

方法二:

Fiddler也可以自己定义Modem Speeds.点开Rules → Customize Rules (如下图)

此时,如果没有安装FiddleScript插件,会弹出提示安装,点击确认即可安装;如果有安装插件,会弹出CustomRules.js的代码,找m_SimulateModem这个字,你会找到下面这段:

这就是他模拟网路速度的原理,每上传/下载1KB 要delay 多久。如果你习惯用kbps 去算的话,那么我们的算法就是 1000/下载速度 = 需要delay的时间(毫秒),比如50kb/s 需要delay200毫秒来接收数据。

请注意,当你存档之后,原本已经勾选的Simulate Modem Speeds 会被取消勾选,要记得再到Rules → Performances → Simulate Modem Speeds 勾选,这样限制网速就成功了。

常用插件

插件官方下载地址:www.telerik.com/fiddler/add-ons。Fiddle也支持第三方插件。

以下推荐几款插件:

1.代码格式化插件:JavaScript Formatter。安装完重启,右击会话,选择“Make JavaScript Pretty”,即可。如下图。

2.对比会话插件:Traffic Differ。安装完重启,可在“监控面板”右侧找到“Differ”选项,点击,拖动多个会话即可对比信息。如下图。

常见命令

help    //打开官方的使用页面介绍
select    //选择会话命令
?.png     //用来选择png后缀的图片
cls    //清屏  (Ctrl+x 也可以清屏)
bpu  //截获request

 

使用场景:

1.查看执行某些域名的请求记录

一、步骤

切换到fiddler右侧窗口的Filters选项卡,勾选顶部的“Use Filters”,找到Hosts区域,设置以下三个选项:
1.第一项有三个选项,不做更改:
“No zone filter”
“Show Only Intranet Hosts”
“Show Only Internet Hosts”
2.第二个选项是只监控以下网址,如只监控百度,在下面的输入框里填上 www.baidu.com
“No Host Filter”不设置hosts过滤
“Hide The Following Hosts”隐藏过滤到的域名
“Show Only The Following Hosts”只显示过滤到的域名
“Flag The Following Hosts”标记过滤到的域名
3.文本框内输入需要过滤的域名,多个域名使用”;“分号分割。添加域名后,需要点击下图2位置的保存变更,fiddler默认会检查http头中设置的host,强制显示http地址中的域名

4.点击3位置的Actions-Run Filterset now

5.访问抓包即可

 

 

修改请求参数与请求响应:  https://www.cnblogs.com/banml/p/12055322.html

 

posted @ 2020-09-07 18:59  X-Wolf  阅读(925)  评论(0编辑  收藏  举报