Fiddler是一个免费、强大、跨平台的HTTP抓包工具。Wireshark也是一个强大的抓包工具,不过Wireshark是一个通用的抓包工具,主要精力放在各种协议上了,针对HTTP的特定功能较少。所以如果你需要研究HTTP包的话,Fiddler一定是最适合的工具。 下载和安装我们可以到Fidller下载页面下载Fiddler。下载完成之后安装即可。安装之后,我们打开它,可以得到类似的用户界面。在Windows下可能需要管理员权限,允许即可。 Fiddler
Fiddler通过打开 基本使用Fiddler最常用的就是监听和查看浏览器请求。我们把浏览器代理设置为Fiddler代理。然后随便打开几个网页,就可以看到Fidller成功捕获到了这些HTTP请求。 监听请求
如果我们需要详细查看某个请求,可以在左边列表选择一个,然后在右边点击Inspectors。点击Inspectors之后,我们可以看到右边有很多标签,上面是请求,下面是响应。我们可以查看Headers、TextView、ImageView等多种视图。如果点击Raw视图的话,我们就可以查看原始的HTTP请求内容了。这里由于我在使用Fiddler捕获的时候网页开着简书,所以捕获了多个简书的自动保存请求。我们可以看到简书的文章使用JSON格式发送到服务器的。 查看HTTP信息
过滤捕获默认情况下Fiddler会捕获通过 按进程过滤在按钮栏上有一个按钮叫 使用过滤器在右边选择Filter,选中Use Filter,即可使用过滤器。我们可以看到有很多过滤条件。
图上是我自己的Spring小程序,返回了一个JSON。 过滤器
如果这些过滤器不能满足需求,可能需要自己编写Fiddler脚本了。 模拟表单提交假设我们有如下一个表单需要填写。 表单网页
表单代码如下。 <form method='post' action='/spring-web-mvc-sample/addUser'>
<label for='name'>姓名</label>
<input type='text' name='name' id='name'/>
<br>
<label for='age'>年龄</label>
<input type='text' name='age' id='age'/>
<br>
<label for='gender'>性别</label>
<input type='text' name='gender' id='gender'/>
<br>
<input type='submit' value='提交'/>
</form>
利用Fiddler可以帮我们完成表单提交这样的工作。切到Composer选项卡即可使用该功能。我们在上半部分填写请求头,下面填写请求体。如果是POST提交,那么数据应该写在请求体;如果是GET提交,那么数据应写在请求头。 模拟提交
如果不知道请求头和请求体如何填写,可以先使用浏览器提交一个表单,然后用Fiddler查看一下浏览器是如何提交的,再改为自己的。 模拟返回Fiddler还有一个功能就是不经过网络,直接模拟一个响应返回给客户端。我们选择AutoResponser即可使用该功能。选中Enable Rules,然后添加一条规则,我们就可以根据指定的URL来返回指定的结果了。Fiddler提供了一些简单的结果。我们也可以自定义响应。Enable Rules右边还有两个选项依次是跳过不匹配的请求和启用延迟(单位是毫秒)。Fiddler支持URL的正则匹配,右下角的Test用于测试URL是否匹配。我这里简单的精确匹配了一下。 模拟提交
这个功能其实很强大。我们可以利用Fiddler截取某些软件激活的信息(假如它们使用的是HTTP协议),然后利用这个功能模拟返回服务器信息。这样我们就可以伪造一个假的激活服务器了。 远程抓包Fiddler不仅可以捕获本机的HTTP请求,还可以捕获远程机器的请求。首先我们点击Tool->Telerik Fiddler Options,然后允许远程计算机连接。启用该选项需要重启Fiddler。 允许远程连接
然后使用方法和前面差不多。我们查看一下本机IP地址。然后在其它设备上设置代理 此外Fiddler还有一些其他功能,就需要各位自己挖掘了。Fiddler文档在此,只不过是英文的,有兴趣的同学可以看看。 |
|
来自: 一枚平凡的叶子 > 《Python接口自动化》