欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

抓包工具Fiddler介绍以及常用功能

程序员文章站 2022-06-06 10:02:41
...

1.Fiddler简介
Fiddler是比较好用的web代理调试工具之一,它能记录并检查所有客户端与服务端的HTTP/HTTPS请求,能够设置断点,篡改及伪造Request/Response的数据,修改hosts,限制网速,http请求性能统计,简单并发,接口测试,辅助自动化测试,等等。现在抓包工具成为测试人员的必备使用工具,开发人员也在普遍使用,进行问题的定位分析,是非常有助于工作的一款工具。

2.Fiddler工作模式
浏览器给webserver发送一个Request,代理服务器fiddler接收到Request,fiddler将Request发送到webserver,webserver接收到Request后进行处理,Response到代理服务器fiddler,Fiddler将Response返回到浏览器,如图:
抓包工具Fiddler介绍以及常用功能

3.Fiddler功能强大,有以下常用功能:
Fiddler抓取HTTPS请求配置
Fiddler自带方便的编码工具:TextWizard
接口测试
设置断点,篡改和伪造数据
修改电脑系统hosts
HTTP请求统计视图
简单并发测试
慢网络测试(限制网速)
显示出服务器IP方法
命令行QuickExec用法

4.菜单栏
抓包工具Fiddler介绍以及常用功能
1、点击“会话记录”,“增加备注”即可

2、点击“会话记录”,点击“回放/重播”按钮,或者点击“快捷键R”即可回放

3、清空控制面板,选项:Images、Non-200s、Non-Browser等

  点击“Remove all”按钮(全部清空)

4、调试Bug,可以请求断点的时候让断点往下走,结合状态栏使用

对发出的请求,设置断点,点击“箭头”(位于下方,箭头朝上并显示×),代表请求在发送阶段,会有断点,再次点击“箭头”(位于下方,箭头向上并显示×),代表请求在返回阶段,产生断点。

若遇上请求没有发出去,想让断点往下走,点击“GO”按钮

5、代理模式切换,默认缓冲模式,点击“切换流模式”

6、解压请求,帮助解压Http请求里面的东西,方便查看

7、保持会话,默认选择“All sessions”Fiddler保存的会话数量越多,Fiddler占用内存数量就会越大

8、过滤请求,过滤一些不想看到进程里面发出的请求,例如:打开谷歌浏览器,和Fiddler并列排放,把图标移到谷歌浏览器上面,过滤请求就会显示谷歌浏览器的相关信息

9、查找,当会话数量较多时使用,例如:查找baidu,选择“粉色”,即可显示效果

10、保存会话,例如:保存会话,取名Demo,清空会话,点击“File”-“Recent archives”,找到刚刚保存的会话打开即可

11、保存截图,点击“图标”之后,5秒钟后保存截图

12、计时器,点击“图标”,开始计时,再点击“图标”,返回计时结果

13、快速启动浏览器,显示电脑本身已安装的浏览器,点击“浏览器”,即可打开使用

14、清除缓存,清除IE浏览器缓存的快捷键,点击“Clear Cache”,自动清除浏览器缓存

15、编码/解码,点击“TextWizard”,编码/解码文本内容,例如:URL被编码,选择“URLDecode”,即可解码

16、分离面板,显示浮窗效果,不用则关闭

17、MSDN搜索,针对MSDN

5.请求和返回报文查看选项卡功能说明
抓包工具Fiddler介绍以及常用功能
6.Fiddler抓取HTTPS请求配置
由于fiddler安装后默认只能抓取http请求,如果需要抓取https请求需要进行配置。配置方式:

Tools—>Options—>HTTPS,勾选CaptureHTTPS CONNECTs、Decrypt HTTPS traffic 、ignore server certificate errors(unsafe),点击OK,会弹出证书直接确认即可。
抓包工具Fiddler介绍以及常用功能
7.抓取移动端APP的请求配置
Tools---->Connections---->勾选Allow remote computers to connect:
抓包工具Fiddler介绍以及常用功能
然后再手机上设置代理,以iPhone为例:
在手机上设置代理:设置—>无线网络,设置服务器ip和端口号:
抓包工具Fiddler介绍以及常用功能
然后手机safari浏览器输入地址:电脑ip:8888如:http://172.21.10.42:8888会出现如下页面:
抓包工具Fiddler介绍以及常用功能
点击“FiddlerRoot certificate”进行证书安装,安装完成后,如下说明安装成功:
抓包工具Fiddler介绍以及常用功能
此时,证书还不算完成安装完,假如手机是ios10.0以上系统,需要在手机系统设置—关于手机----证书信任设置,在此页面把证书开启即可,此时手机safari浏览器地址栏输入测试网址或者使用APP,在电脑端fiddler上即可显示出对应的请求:
8.Fiddler自带方便的编码工具:TextWizard
抓包工具Fiddler介绍以及常用功能
9.接口测试
Composer
抓包工具Fiddler介绍以及常用功能
10.设置断点,篡改和伪造数据
注册类 订单提交 支付类功能
请求时,可被篡改的两个点:Before Requests、After Responses。
抓包工具Fiddler介绍以及常用功能
修改Requests方法:Rules---->Automatic Breakpoints---->Before Requests

以论坛发布帖子为例,修改请求前数据内容,比如发布的内容如下:
抓包工具Fiddler介绍以及常用功能
点击发布帖子,此时请求被fiddler拦截掉,将右侧requests body里面的字段message内容前新增内容:“篡改requests数据成功!”,然后点击Run to Completion,先关闭掉拦截Rules---->Automatic Breakpoints---->Disabled,其他请求都放过,点击工具栏中的“Go”
抓包工具Fiddler介绍以及常用功能
修改Responses方法:Rules---->Automatic Breakpoints---->After Responses,方法跟修改Requests类似,无非修改的内容变成了Response。

10.修改电脑系统hosts
假如我要将www.baidu.com指向www.hao123.com对应的服务器上,www.hao123.com对应的服务器公网ip:47.94.18.31,配置如下:Tools---->Hosts---->勾选Enable remapping of requests for one host to a different host or IP,overriding DNS.然后host编辑区域,输入需要域名需要指向的服务器公网IP,比如我将www.baidu.com域名指向了47.94.18.31,保存即可。(如果不使用host,勾去掉即可)

11.HTTP请求统计视图
ctrl+点击需要统计的请求,右边Statistics可以看到总体明细。

12.简单并发测试
如一个人一天只能有一次抽奖机会,那么在点击抽奖按钮发出请求之前,要设置Before Requests Breakpoints,点击抽奖后在会话列表中会看到一个被断点的请求,此时鼠标选中此请求,按shift+u,会弹出并发次数的设置,按需求设置并发次数。

13.弱网络测试(限制网速)
Fiddler—》Rules—》Customize Rules ,

在CustomRules.js里搜索找到: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"; 

    }

修改完成后,重启下fiddler,Rules---->Performance---->Simulate Modem Speeds,选中即可生效。

14.显示出服务器IP方法
Fiddler默认配置中是看不到服务器IP的,接下来简单介绍下在fiddler上也能够看到请求的服务器IP:

1、Fiddler—》Rules—》Customize Rules ,

2、在CustomRules.js里搜索找到:static function Main() ,

3、添加如下一行脚本:

FiddlerObject.UI.lvSessions.AddBoundColumn(“Server IP”, 120, “X-HostIP”);

完整js代码如下:

static function Main() {

var today: Date = new Date();

FiddlerObject.StatusText = " CustomRules.js was loaded at: " + today;

// Uncomment to add a “Server” column containing the response “Server” header, if present

FiddlerObject.UI.lvSessions.AddBoundColumn(“Server IP”, 120, “X-HostIP”);

}

添加完成后,重启下fiddler,就可以显示出请求的服务器ip。

15.fiddler过滤请求只要看自己想看的
在Filers面板中勾选“Use Filters”,并在Hosts区域,设置以下三个选项:

1).第一项有三个选项,分别是“No zone filter”“Show Only Intranet Hosts”“Show Only Internet Hosts”,不做更改;

2).第二项有四个选项,分别是:

No Host Filter”不设置hosts过滤“;

Hide The Following Hosts”隐藏过滤到的域名;

“Show Only The Following Hosts”只显示过滤到的域名;

“Flag The Following Hosts”标记过滤到的域名;

选中“Show Only The Following Hosts”,在文本框内输入需要过滤的域名,多个域名使用”;“分号分割。fiddler默认会检查http头中设置的host,强制显示http地址中德域名。以

15.Response乱码时的处理方法
问题:有时候我们看到Response中的HTML是乱码的, 这是因为HTML被压缩了, 我们可以通过两种方法去解压缩。

步骤:方法一:点击红框内容“Response body is encouded.Click to decode.”

方法二:选中工具栏中的"Decode"。 这样会自动解压缩。

相关标签: Fiddler

上一篇: 祈福九寨沟

下一篇: 荷之恋