常用的HTTP抓包工具Fiddler之使用技巧,了解一下!

很多时候,我们测试app过程中,发现了一些bug,比如我们订单的数据不对啊,本来应该是小王的,怎么显示小李?心里暗喜,给App端开发提交了一个bug,结果app端分析后回复:朋友,你技能有点差啊,这是服务端的问题,你为什么提交给我?顿时心里不开心,感觉被羞辱了,实际上,其实我们可以在发现类似问题时,先通过抓包工具例如Fiddler,抓包分析下就知道是谁的问题了。下面我们就来聊一聊这个超好用的抓包工具——Fiddler。

Fiddler 工具浅析

Fiddler 是位于客户端和服务器端的 HTTP 代理,也是目前最常用的 HTTP 抓包工具之一。(Mac OS 建议采用 Charles)

它可以记录客户端和服务器之间的所有 HTTP 请求,并可以针对特定的 HTTP 请求,分析请求数据、设置断点、调试 web 应用、修改请求的数据,甚至可以修改服务器返回的数据,功能非常强大,是 web 调试和网络请求分析的利器。

Fiddler 作为一个代理,自然客户端的所有请求都会先经过它,再转发给相应的服务器。反之,服务器端的所有响应,也都会先经过 Fiddler 然后发送给客户端。所以,Fiddler 支持所有可以设置 HTTP 代理为 127.0.0.1:8888 的浏览器和应用程序。

为什么选择Fiddler ?

1、本地化的工具,是一个使用本地 127.0.0.1:8888 的 HTTP 代理 (任何能够设置 HTTP 代理为 127.0.0.1:8888 的浏览器和应用程序都可以使用 Fiddler)

2、Fiddler本身对http协议支持较好,且操作简单容易上手

3、具有抓包和分析功能,省去了安装其他工具的必要

4、工具本身功能强大,如劫包、篡改数据、限速等

Fiddler 的基本原理

本地应用与服务器之间所有的Request 和Response都将经过Fiddler,由Fiddler进行转发,此时Fiddler以代理服务器的方式存在。

由于所有的网络数据都会经过Fiddler,因此Fiddler能够截获这些数据,实现网络数据的抓包。

Fiddler的抓包过程

1、配置

此处将不再赘述Fiddler的下载和安装过程,具体可参考Fiddler的官方文档:http://docs.telerik.com/fiddler/。

2、简单抓包说明

3、Fiddler抓包配置

打开【Tools】--【Options】选项

4、配置抓取https请求

【Options】--【HTTPS】

5、修改默认监听端口

【Options】--【Connections】 默认端口号为8888

6、抓取数据

【Inspectors】--【WebForms】

【Inspectors】--【Raw】

7、请求session过滤

【Filters】 勾选 【use filters】

8、如何拦截请求

【Rules】--【AtuomaticBreakPoints】--【BeforRequets】

设置断点

9、篡改服务器端响应数据

【Rules】--【AtuomaticBreakPoints】--【After Responses】

10、抓包并设置自定义响应数据

【AutoResponer】--【Enable Rules】--【Add Rule】

11、使用fiddler模拟发送get请求接口

【Composer】面板设置

12、使用fiddler模拟发送post请求接口

13、修改HOST值

总结:

常用的抓包工具对比:

抓包工具有很多,小到最常用的web调试工具firebug,达到通用的强大的抓包工具wireshark。大家在选择抓包工具时,一定要定位好自己的需求。

Firebug虽然可以抓包,但是对于分析http请求的详细信息,不够强大。模拟http请求的功能也不够,且firebug常常是需要“无刷新修改”,如果刷新了页面,所有的修改都不会保存。

Wireshark是通用的抓包工具,但是比较庞大,对于只需要抓取http请求的应用来说,似乎有些大材小用。

Httpwatch也是比较常用的http抓包工具,但是只支持IE和firefox浏览器(其他浏览器可能会有相应的插件),对于想要调试chrome浏览器的http请求,似乎稍显无力。

Fiddler是一个使用本地 127.0.0.1:8888 的 HTTP 代理,任何能够设置 HTTP 代理为 127.0.0.1:8888 的浏览器和应用程序都可以使用 Fiddler。

  • 发表于:
  • 原文链接:https://kuaibao.qq.com/s/20181017A1HPYY00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券