【工具篇】Fiddler的使用

CSDN话题挑战赛第2期
参赛话题:学习笔记

目录

 ​​​​​什么是代理

Fiddler的左侧面板

Fiddler的右侧面板

 (1) Statistics

 (2) Inspectors

 (3) AutoResponder

 (4) Filters

 (5)Composer


今天我们再来介绍Fiddler。话不多说,开始整干货,老规矩,首先全图镇楼

 ​​​​​什么是代理


Fiddler是一个抓包工具。其实抓包工具在chrome浏览器也有,通常按F12 之后,然后有一个 Network的功能选项,下面就是抓包的面板,这个面板有两个部分,左边就是一条一条的 URL ,右边就是点击每个 URL 之后显示的详细信息。

但是浏览器它是毕竟是用来浏览网页的,抓包工具有是有,就是功能不是太强大,也不是一个专门的工具。所以Fiddler是一个专门的一个抓包工具。

Fiddler到底是什么?我们先看看一个例子,比如你访问一个网页,就会有请求发出,然后服务器返回数据,这是一次比较典型的客户端服务器模式,但是当你使用Fiddler之后,它会在中间给你加一层代理。你作为一个客户端,你发送的 URL 不再是直接发给服务器了,而是先发给这个Fiddler,Fiddler拿到你的请求之后,然后可能做处理,也可能不做处理,然后再把请求转发给服务器。同样服务器处理完请求,返回结果的时候,不再直接返回到你这里,而是先发给Fiddler,Fiddler拿到你的响应结果之后,然后可能做处理,也可能不做处理,最后再返回给你。


这就像有人要买房,有人要卖房的,他们之间没有那么好的运气能够碰面,中间要有房产经纪人才能凑成这单生意。房产经纪人就是这种代理。说白了代理就是在中间截取流量,它可能对这个流量做手脚也可能不做手脚,然后再转发出去,所以它的作用还是蛮大的。

Fiddler的左侧面板

以下是Fiddler的界面,它有两个部分,就像 Chrome 浏览器一样,按F12,在Network面板里也同样有两个部分,他们基本上长得都差不多。左边是一条条的URL,右边是点击某个URL的详细信息。


我们先看看左侧,左侧看似内容比较多,其实最主要的内容就是一条条的URL,然而它也不是单纯的URL,而是通过表格的方式,对每个URL进行更细粒度的划分,首先看一看表头:

1:#(抓取HTTP Request的顺序,从1开始,以此递增)
2:Result(HTTP状态码)
3:Protocol(请求:使用的协议,如HTTP/HTTPS/FTP等)
4:Host(请求地址的主机名)
5:URL(请求资源的位置)
6:Body(该请求的大小)
7:Caching(请求的缓存过期时间或者缓存控制值)
8:Content-Type(请求响应的类型)
9:Process(发送此请求的进程:进程ID)
10:Comments(允许用户为此回话添加备注)
11:Custom( 允许用户设置自定义值)

第一列的#号它是表示顺序,从上往下递增。

其次是状态码,这里只要关注状态码为200的URL,其余状态码都是异常状态。

接下来的协议有HTTP和HTTPS,当前主流的网站都使用HTTPS的协议,因为HTTPS是HTTP的升级,HTTPS后面的S是指SSL,是一种安全协议,也就是HTTP+SSL=HTTPS。URL才有HTTPS协议,通常在安全性上更有保证,相比HTTP裸奔的方式要好很多。

Host是主机的域名,和后面的URL似乎很相似,其实这里的URL就是主机域名加资源路径的组成,主机域名可以理解为服务器的ip地址,我们大老远的访问服务器,总得先确定到底是访问的那个服务器吧,我们沿着主机域名绑定的IP来到了服务器,接下来需要做什么?

显然就是寻找服务了,这里的资源路径就派上用场了,这里的资源路径有点像文件系统里的文件路径,就好像直接访问文件路径下文件就直接返回结果了,其实这样说是不准确的,服务器的作用就是运行应用,这个资源路径其实就是访问应用的路径,其实就是访问应用的接口,说是接口,最终还是调用应用里的方法,其实有的应用框架在提供对外接口的时候确实是按方法名命名的,但是这样只图一时爽的方式还是有很多的弊病,首先就是它所能表达的信息比较有限,所有的信息都写在方法名上,一个名字太长也容易让人困惑,然而以资源路径的方式作为接口就有了更多的表达含义,比如以版本,模块,功能为路径划分接口,就有了灵活又丰富的表达内容。

剩下的Body,Caching,Content-Type,Process等就是将消息头的内容提前展示出来,为快速批量的查看URL提供了便利,这是Chrome自带的抓包工具所不能比的。

在查看左侧面板的一条条的URL的时候,还有一个比较重要的内容就第一列递增数字旁边的小图标,这个小图标表明了当前URL返回的数据时什么样的类型,或者表示当前请求所处的状态,内容比较丰富,直接上表格:

Fiddler的右侧面板

(1) Statistics

Statistics 请求的性能数据分析,关于发送时间和响应时间的统计,发送了多少字节的数据,接收了多少字节的数据,以及消息头的大小。

 (2) Inspectors

Inspectors 查看数据内容,Inspectors是最主要使用的功能,所谓的抓包,抓到的包就是这里的内容,它包括请求的内容和响应的内容,
在上面的请求内容里不仅有请求的URL和请求方式,还有请求头信息
在下面的响应内容里不仅有响应的内容和响应状态,还有响应的头信息

  (3) AutoResponder

AutoResponder 允许拦截指定规则的请求,AutoResponder功能可以拦截请求,只要请求的URL中含有AutoResponder配置的字符串则会被拦下这个请求。

1. Add Rule 添加一个拦截规则
2. 编辑拦截规则,需要拦截的字符串,这里是baidu,也可以使用正则表达式进行匹配
3. 当URL触发拦截的时候,响应给请求方的内容,这里是一个图片,注意这个图片需要放在Fiddler2\Captures\Responses下
4. 保存拦截规则
5. Enable Rules 使拦截规则生效
6. Unmatched requests passthrough 放行不匹配的的请求,这里不打钩,则所有的请求都被拦住 

  (4) Filters

Filters 请求过滤规则,在使用Fiddler的时候,作为一个自动开启的代理软件,自然就把网络流量给接管过来,这样哗啦啦的一大堆请求,并不是我们都需要的,弱水三千只取一瓢饮,在实际使用的时候,我们只关注几个URL即可,这时就可以使用Filters功能,设置需要关注的URL,面板中无关人员就退场了,只留下几个需要关注的URL。

1. 默认选项,无须设置
2. 只显示互联网域名
3. 设置互联网域名,这里是只关注www.baidu.com的流量
4. 点击生效 

 (5)Composer

Composer自定义请求发送服务器

1. 请求的URL:http://autodev.openspeech.cn/csp/api/v2.1/weather?openId=aiuicus&clientType=android&sign=android&city=南京
2. 请求头信息
3. 请求成功 

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
简介:Fiddler2是一个网络调试代理,用来监测本地计算机和Internet之间所有的HTTP通讯。 可以监测所有的HTTP通讯,设置断点,并且可以修改到进入到本地计算机的数据和从本地计算机出去的数据(就是可以伪造数据)。 Fiddler包含一个JScript .NET 事件脚本子系统(event-based scripting subsystem),可以使用任何一种.Net语言扩展。 该软件是免费的,支持多种浏览器,包括Internet Explorer,Mozilla Firefox,Opera和其它一些浏览器 从Fiddler官方网站上可以看见原版的英文介绍 http://www.fiddler2.com/fiddler2/ Fiddler2很小,只有629K 一、右侧窗口下面依次进行介绍 1、Statistics 对所选中的这些会话的一个统计信息,这里可以选择一条或者多条,在右侧会给出相应的统计信息。 点击ShowChart会以图表的形式显示各种文件的比例 2、Inspectors 对某一条对话的Response和Request的详细介绍 i)上面是请求信息的监测,Headers是头信息,TextView是内容,Raw 是原始信息,就是没有经过分析的信息。 [RW] Headers—Shows request headers and status.---------------------请求的头信息和统计信息 [RW] TextView—Shows the request body in a text box.-----------------请求内容部分 [RW] HexView—Shows the request body in a hexadecimal view.---------请求内容的16进制显示 [RO] XML—Shows the request body as an XML DOM in a tree view.------请求内容的XML显示 ii)下面是响应信息的监测,也有Headers和TextView,如果是图片还可以从ImageView看到图片,如果返回的是XML还可以通过XML选项卡查看树型的XML信息 [RW] Transformer—Removes GZip, DEFLATE, and CHUNKED encodings for easier debugging. ----支持某些压缩 [RW] Headers—Shows response headers and status. ---------------------------------------------响应的头信息和统计信息 [RW] TextView—Shows the response body in a text box. -----------------------------------------响应内容部分 [RW] HexView—Shows the response body in a hexadecimal view.----------------------------------响应内容的16进制显示 [RO] ImageView—Shows the response body as an Image. Supports all .NET image formats.-------响应内容如果是图片则显示图片 [RO] XML—Shows the response body as an XML DOM in a tree view.------------------------------响应内容是XML的用树装结构 [RO] Privacy—Explains the P3P statement in the response headers, if present.---------------------响应内容中如果有隐私进行说明 3、AutoResponder 可以将已有的相应发回给服务器 4、Request Builder 可以自己手动写请求,包括请求的头和请求的内容。 也可以将左侧刚刚捕获的会话,拖到右侧进行修改 5、Filter 可以对会话进行过滤 6、TimeLine 通讯的时间

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

编程小猪猪

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值