Fiddler快速入门
Fiddler是一个免费、强大、跨平台的HTTP抓包工具。Wireshark也是一个强大的抓包工具,不过Wireshark是一个通用的抓包工具,主要精力放在各种协议上了,针对HTTP的特定功能较少。所以如果你需要研究HTTP包的话,Fiddler一定是最适合的工具。
下载和安装
我们可以到Fidller下载页面下载Fiddler。下载完成之后安装即可。安装之后,我们打开它,可以得到类似的用户界面。在Windows下可能需要管理员权限,允许即可。
Fiddler通过打开localhost:8888
端口来监听HTTP连接。在Windows下启动Fiddler的时候回自动将系统代理设置为localhost:8888
。只要一个程序可以设置代理到localhost:8888
,那么它就可以被Fiddler监听。
基本使用
Fiddler最常用的就是监听和查看浏览器请求。我们把浏览器代理设置为Fiddler代理。然后随便打开几个网页,就可以看到Fidller成功捕获到了这些HTTP请求。
如果我们需要详细查看某个请求,可以在左边列表选择一个,然后在右边点击Inspectors。点击Inspectors之后,我们可以看到右边有很多标签,上面是请求,下面是响应。我们可以查看Headers、TextView、ImageView等多种视图。如果点击Raw视图的话,我们就可以查看原始的HTTP请求内容了。这里由于我在使用Fiddler捕获的时候网页开着简书,所以捕获了多个简书的自动保存请求。我们可以看到简书的文章使用JSON格式发送到服务器的。
过滤捕获
默认情况下Fiddler会捕获通过localhost:8888
的所有请求。这样的话列表中会显示很多我们实际上不需要的请求。我们可以使用过滤功能来得到我们需要的结果。
按进程过滤
在按钮栏上有一个按钮叫All Process
,我们按住这个按钮不放,鼠标会变成十字,然后我们拖动到需要捕获的程序上,Fiddler就会获取到该程序的进程号,这样我们就可以只不过某个程序的请求了。
使用过滤器
在右边选择Filter,选中Use Filter,即可使用过滤器。我们可以看到有很多过滤条件。
- 过滤主机。我们可以指定只捕获某些主机和端口号的请求。不过貌似Fiddler不过智能,我们为了过滤本机回环地址,需要同时指定
127.0.0.1
和localhost
。如果近指定一个,就无法捕获另一个地址的请求。 - 过滤进程。和上面指定进程的方式差不多。
- 过滤请求头。我们可以根据某个请求头是否存在显示或隐藏某些请求,还可以使用Fiddler添加或删除请求头。
- 断点。我们还可以在捕获到某些请求时暂停它们,以便进行调试。
- 过滤响应状态码,响应类型等等。
图上是我自己的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>
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
利用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地址。然后在其它设备上设置代理ip地址:8888
即可。例如在安卓手机上设置,即可让Fiddler捕获手机的HTTP连接。(本来截了张手机设置图,结果一看太大,影响排版,还是删了)
此外Fiddler还有一些其他功能,就需要各位自己挖掘了。Fiddler文档在此,只不过是英文的,有兴趣的同学可以看看。
Fiddler快速入门的更多相关文章
- FIDDLER的使用方法及技巧总结(连载一)FIDDLER快速入门及使用场景
FIDDLER的使用方法及技巧总结 一.FIDDLER快速入门及使用场景 Fiddler的官方网站:http://www.fiddler2.com Fiddler的官方帮助:http://docs.t ...
- Fiddler快速入门(还有一个功能就是不经过网络,直接模拟一个响应返回给客户端)
Fiddler是一个免费.强大.跨平台的HTTP抓包工具.Wireshark也是一个强大的抓包工具,不过Wireshark是一个通用的抓包工具,主要精力放在各种协议上了,针对HTTP的特定功能较少.所 ...
- 快速入门系列--WebAPI--01基础
ASP.NET MVC和WebAPI已经是.NET Web部分的主流,刚开始时两个公用同一个管道,之后为了更加的轻量化(WebAPI是对WCF Restful的轻量化),WebAPI使用了新的管道,因 ...
- 【第二篇】ASP.NET MVC快速入门之数据注解(MVC5+EF6)
目录 [第一篇]ASP.NET MVC快速入门之数据库操作(MVC5+EF6) [第二篇]ASP.NET MVC快速入门之数据注解(MVC5+EF6) [第三篇]ASP.NET MVC快速入门之安全策 ...
- [转]快速入门系列--WebAPI--01基础
本文转自:http://www.cnblogs.com/wanliwang01/p/aspnet_webapi_base01.html ASP.NET MVC和WebAPI已经是.NET Web部分的 ...
- Web Api 入门实战 (快速入门+工具使用+不依赖IIS)
平台之大势何人能挡? 带着你的Net飞奔吧!:http://www.cnblogs.com/dunitian/p/4822808.html 屁话我也就不多说了,什么简介的也省了,直接简单概括+demo ...
- SignalR快速入门 ~ 仿QQ即时聊天,消息推送,单聊,群聊,多群公聊(基础=》提升)
SignalR快速入门 ~ 仿QQ即时聊天,消息推送,单聊,群聊,多群公聊(基础=>提升,5个Demo贯彻全篇,感兴趣的玩才是真的学) 官方demo:http://www.asp.net/si ...
- 前端开发小白必学技能—非关系数据库又像关系数据库的MongoDB快速入门命令(2)
今天给大家道个歉,没有及时更新MongoDB快速入门的下篇,最近有点小忙,在此向博友们致歉.下面我将简单地说一下mongdb的一些基本命令以及我们日常开发过程中的一些问题.mongodb可以为我们提供 ...
- 【第三篇】ASP.NET MVC快速入门之安全策略(MVC5+EF6)
目录 [第一篇]ASP.NET MVC快速入门之数据库操作(MVC5+EF6) [第二篇]ASP.NET MVC快速入门之数据注解(MVC5+EF6) [第三篇]ASP.NET MVC快速入门之安全策 ...
随机推荐
- xor
xor 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 524288K,其他语言1048576K 64bit IO Format: %lld 题目描述 Your are given n ...
- arcgis信息窗口
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...
- Watering Grass (贪心,最小覆盖)
参考: https://blog.csdn.net/shuangde800/article/details/7828675 https://www.cnblogs.com/haoabcd2010/p/ ...
- 微服务Eureka使用详解
Eureka是spring cloud中的一个负责服务注册与发现的组件.遵循着CAP理论中的A(可用性)P(分区容错性). 一个Eureka中分为eureka server和eureka client ...
- 部署 LAMP (CentOS 7.2)
摘自:https://help.aliyun.com/document_detail/50774.html 简介 LAMP指Linux+Apache+Mysql/MariaDB+Perl/PHP/Py ...
- Mysql主从安装配置
Mysql主从安装配置 环境: 主从服务器上的MySQL数据库版本同为5.1.34 主机IP:192.168.0.1 从机IP:192.168.0.2 一. MySQL主服务器配置 1.编辑配置 ...
- hdu3879 最大权闭合图
若a,b 2点能够相连,那么可以得到ci的价值,也就是说a,b是得到c的前提条件,对于每一个点,又有耗费. 对于本题,先求出最多能够得到的利益有多少,最小割=未被 选的用户的收益之和 + 被选择的站点 ...
- Leetcode804.Unique Morse Code Words唯一摩尔斯密码词
国际摩尔斯密码定义一种标准编码方式,将每个字母对应于一个由一系列点和短线组成的字符串, 比如: "a" 对应 ".-", "b" 对应 &q ...
- Linux使用注意事项
1.Linux严格区分大小写 2.Linux中所有内容以文件形式保存,包括硬件 3.修改任何设置,若想永久生效,都需要修改配置文件(除非某些发现版已经默认设置为同时修改内存和硬盘数据). 4.Linu ...
- AtCoder Regular Contest 085 C HSI【概率论】
AtCoder Regular Contest 085 C HSI 没学概率论还不怎么看得懂,虽然感觉不难,其实明明可以猜出来的..... 参考博客:https://www.cnblogs.com/g ...