天天看点

Fiddler

一、简介

fiddler的实现原理是以代理服务器的方式工作,代理就是在客户端和服务器之间设置一道关卡,客户端先将请求数据发送出去后,代理服务器会将数据包进行拦截,代理服务器再冒充客户端发送数据到服务器;同理,服务器将响应数据返回,代理服务器也会将数据拦截,再返回给客户端。

Fiddler是一个http协议调试代理工具,即只是针对HTTP协议的(工作在OSI参考模型的应用层),而wireshark是针对几乎所有协议的。

浏览器与服务器之间通过建立TCP连接以HTTP协议进行通信,浏览器默认通过自己发送HTTP请求到服务器。 而Fiddler是c#开发(微软出品,主要作者Eric Lawrence)的http代理服务器,fiddler工作于七层中的应用层,能够捕获到通过的http(s)请求。(浏览器 < -> Fiddler < -> 服务器)

 启动Fiddler之后会监听8888端口(默认8888,可以修改)

二、安装

    1. 下载安装

      a) 可以到官网下载Fiddler免费安装包

三、抓包常用操作

1.开启抓包

Fiddler想要抓到数据包,要确保Capture Traffic是开启,在File –> Capture Traffic。开启后再左下角会有显示,当然也可以直接点击左下角的图标来关闭/开启抓包功能。

Fiddler

2.图标与内容说明

Fiddler开始工作后,抓到的数据包就会显示在列表里面,下面总结了这些都是什么意思:

Fiddler
名称 含义
# 抓取HTTP Request的顺序,从1开始,以此递增
Result HTTP状态码
Protocol 请求使用的协议,如HTTP/HTTPS/FTP等
Host 请求地址的主机名
URL 请求资源的位置
Body 该请求的大小
Caching 请求的缓存过期时间或者缓存控制值
Content-Type 请求响应的类型
Process 发送此请求的进程:进程ID
Comments 允许用户为此回话添加备注
Custom 允许用户设置自定义值
图标
Fiddler
请求已经发往服务器
已从服务器下载响应结果
Fiddler
请求从断点处暂停
Fiddler
响应从断点处暂停
Fiddler
请求使用 HTTP 的 HEAD 方法,即响应没有内容(Body)
请求使用 HTTP 的 POST 方法
Fiddler
请求使用 HTTP 的 CONNECT 方法,使用 HTTPS 协议建立连接隧道
Fiddler
响应是 HTML 格式
Fiddler
响应是一张图片
Fiddler
响应是脚本格式
Fiddler
响应是 CSS 格式
Fiddler
响应是 XML 格式
Fiddler
响应是 JSON 格式

3.请求时间记录

随意点击一个请求,就可以看到Statistics关于HTTP请求的性能以及数据分析了

Fiddler

4.请求具体内容

Inspectors是用于查看会话的内容,上半部分是请求的内容,下半部分是响应的内容:

一般我们点击Inspectors-Raw查看请求的原始内容

Fiddler

5.请求过滤规则

Fiters 是过滤请求用的,左边的窗口不断的更新,当你想看你系统的请求的时候,你刷新一下浏览器,一大片不知道哪来请求,看着碍眼,它还一直刷新你的屏幕。这个时候通过过滤规则来过滤掉那些不想看到的请求。

Zone 指定只显示内网(Intranet)或互联网(Internet)的内容

Host 指定显示某个域名下的会话

如果框框为黄色(如图),表示修改未生效,点击红圈里的文字即可

Fiddler
Fiddler

6.Timeline 请求响应时间

Fiddler

7.Fiddler 设置解密HTTPS的网络数据

解密HTTPS需要手动开启,依次点击:

Tools –> Options –>  HTTPS

Fiddler
Fiddler
Fiddler

四、请求修改与断点

断点可以直接点击Fiddler下图的图标位置,就可以设置全部请求的断点,断点的命令可以精确设置需要截获那些请求。如下示例:

Fiddler

继续阅读