抓包工具 Fiddler 使用介绍

时间:2023-03-09 19:07:18
抓包工具 Fiddler 使用介绍

简介

Fiddler是一个抓包工具,可以将网络传输发送与接收的数据包进行截获、重发、编辑等操作。也可以用来检测流量。原理是以web代理服务器的形式进行工作的,使用的代理地址是:127.0.0.1,端口默认为8888,我们也可以通过设置进行修改。

Fiddler是通过改写HTTP代理,让数据从它那通过,来监控并且截取到数据。在打开它的那一瞬间,它就已经设置好了浏览器的代理了。当你关闭的时候,它又帮你把代理还原了。Fiddler也可以抓取支持https代理的任意程序的数据包但是需要要先安装证书。

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

工具栏

抓包工具 Fiddler 使用介绍

说明注释、重新请求、删除会话、继续执行、流模式/缓冲模式、解码、保留会话、监控指定进程、寻找、保存会话、切图、计时、打开浏览器、清除IE缓存、编码/解码工具、弹出控制监控面板、MSDN、帮助

开启抓包

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

抓包工具 Fiddler 使用介绍或者通过点击左下角图标抓包工具 Fiddler 使用介绍。开启的时候该图标显示,关闭的时候该图标隐藏。

一般直接打开Fiddler的时候就开始自动抓包了。

已抓取数据包列表

每个Fiddler抓取到的数据包都会在该列表中展示,点击具体的一条数据包可以在右侧菜单点击Insepector查看详细内容。主要分为请求(即客户端发出的数据)和响应(服务器返回的数据)两部分。

数据包列表字段

名称

含义

#

抓取HTTP Request的顺序,从1开始,以此递增

Result

HTTP状态码

Protocol

请求使用的协议,如HTTP/HTTPS/FTP等

Host

请求地址的主机名

URL

请求资源的位置

Body

该请求的大小

Caching

请求的缓存过期时间或者缓存控制值

Content-Type

请求响应的类型

Process

发送此请求的进程:进程ID

Comments

允许用户为此回话添加备注

Custom

允许用户设置自定义值

数据包列表图标

图标

含义

抓包工具 Fiddler 使用介绍

请求已经发往服务器

抓包工具 Fiddler 使用介绍

已从服务器下载响应结果

抓包工具 Fiddler 使用介绍

请求从断点处暂停

抓包工具 Fiddler 使用介绍

响应从断点处暂停

抓包工具 Fiddler 使用介绍

请求使用 HTTP 的 HEAD 方法,即响应没有内容(Body)

抓包工具 Fiddler 使用介绍

请求使用 HTTP 的 POST 方法

抓包工具 Fiddler 使用介绍

请求使用 HTTP 的 CONNECT 方法,使用 HTTPS 协议建立连接隧道

抓包工具 Fiddler 使用介绍

响应是 HTML 格式

抓包工具 Fiddler 使用介绍

响应是一张图片

抓包工具 Fiddler 使用介绍

响应是脚本格式

抓包工具 Fiddler 使用介绍

响应是 CSS 格式

抓包工具 Fiddler 使用介绍

响应是 XML 格式

抓包工具 Fiddler 使用介绍

响应是 JSON 格式

抓包工具 Fiddler 使用介绍

响应是一个音频文件

抓包工具 Fiddler 使用介绍

响应是一个视频文件

抓包工具 Fiddler 使用介绍

响应是一个 SilverLight

抓包工具 Fiddler 使用介绍

响应是一个 FLASH

抓包工具 Fiddler 使用介绍

响应是一个字体

抓包工具 Fiddler 使用介绍

普通响应成功

抓包工具 Fiddler 使用介绍

响应是 HTTP/300、301、302、303 或 307 重定向

抓包工具 Fiddler 使用介绍

响应是 HTTP/304(无变更):使用缓存文件

抓包工具 Fiddler 使用介绍

响应需要客户端证书验证

抓包工具 Fiddler 使用介绍

服务端错误

抓包工具 Fiddler 使用介绍

会话被客户端、Fiddler 或者服务端终止

Statistics选项

统计面板,这里显示请求性能,随意点击一个请求,就可以看到Statistics关于该HTTP请求的性能以及数据分析了。

Inspectors选项(常用)

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

请求区域

名称

含义

Headers

TextView

显示请求的数据

SyntaxView

以表单形式显示所有的请求参数和参数值

WebForms

HexView

Auth

显示认证信息

Cookies

显示所有cookies

Raw

显示Headers和Body数据

JSON

若请求数据是json格式,以json形式显示请求内容

XML

若请求数据是xml格式,以xml形式显示请求内容

响应区域

名称

含义

Transformer

Headers

TextView

显示响应的数据

SyntaxView

ImageView

HexView

WebView

Auth

显示认证信息

Caching

Cookies

显示所有cookies

Raw

显示Headers和Body数据

JSON

 若响应数据是json格式,以json形式显示响应内容

XML

 若响应数据是xml格式,以xml形式显示响应内容

AutoResponder选项

AutoResponder允许你拦截指定规则的求情,并返回本地资源或Fiddler资源,从而代替服务器响应。

Composer选项(常用)

Composer允许自定义请求发送到服务器,可以手动创建一个新的请求,也可以在会话表中,拖拽一个现有的请求。常用于模拟GET和POST请求。

模拟GET请求

抓包工具 Fiddler 使用介绍

GET请求比较简单,接下来说下模拟POST请求。

模拟POST请求

这里模拟的是发送JSON数据,主要是需要在请求头设置下 Content-Type : application/json;charset=utf-8 ,然后在请求体里写上JSON数据。

如果发送普通文本数据的话,不需要设置请求头,默认的 Content-Type 是 application/x-www-form-urlencoded,表示普通的form表单元素提交,在发送前编码所有字符,提交的参数格式遵循:name=value&name=value&name=value...。也就是说要按照这种格式把数据写在请求体里。

抓包工具 Fiddler 使用介绍

请求结果

抓包工具 Fiddler 使用介绍

Fiddler Orchestra Beta选项

FiddlerScript选项

显示的是该请求的JS脚本。

Log选项

能够查看该次请求的日志。

Filters 选项(常用)

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

抓包工具 Fiddler 使用介绍

勾选左上角的Use Filters开启过滤器,这里有两个最常用的过滤条件:Zone和Host

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

抓包工具 Fiddler 使用介绍

Host 可选择隐藏,展示,标记某个域名下的会话。

抓包工具 Fiddler 使用介绍

设定好后可点击Actions中的 Run Filterset now 来执行过滤条件。

Timeline 选项

Timeline显示请求响应时间,在左侧会话窗口点击一个或多个(同时按下 Ctrl 键),Timeline 便会显示指定内容从服务端传输到客户端的时间。

Fiddler 命令行

命令行在左下角

抓包工具 Fiddler 使用介绍

FIddler断点功能就是将请求截获下来,但是不发送,这个时候你可以干很多事情,比如说,把包改了,再发送给服务器君。还有一大堆的事情可以做,就不举例子了。

命令

对应请求项

介绍

示例

?

All

问号后边跟一个字符串,可以匹配出包含这个字符串的请求

?google

>

Body

大于号后面跟一个数字,可以匹配出请求大小,大于这个数字请求

>1000

<

Body

小于号跟大于号相反,匹配出请求大小,小于这个数字的请求

<100

=

Result

等于号后面跟数字,可以匹配HTTP返回码

=200

@

Host

@后面跟Host,可以匹配域名

@www.baidu.com

select

Content-Type

select后面跟响应类型,可以匹配到相关的类型

select image

cls

All

清空当前所有请求

cls

dump

All

将所有请求打包成saz压缩包,保存到“我的文档\Fiddler2\Captures”目录下

dump

start

All

开始监听请求

start

stop

All

停止监听请求

stop

断点命令

对应请求项

介绍

示例

bpafter

All

bpafter后边跟一个字符串,表示中断所有包含该字符串的请求

bpafter baidu(输入bpafter解除断点)

bpu

All

跟bpafter差不多,只不过这个是收到请求了,中断响应

bpu baidu(输入bpu解除断点)

bps

Result

后面跟状态吗,表示中断所有是这个状态码的请求

bps 200(输入bps解除断点)

bpv / bpm

HTTP方法

只中断HTTP方法的命令,HTTP方法如POST、GET

bpv get(输入bpv解除断点)

g / go

All

放行所有中断下来的请求

g

参考地址:https://www.cnblogs.com/yyhh/p/5140852.html

https://www.cnblogs.com/conquerorren/p/8472285.html