首页>软件资讯>常见问题

常见问题

Fiddler抓包工具的使用-购软平台

发布时间:2022-10-17 11:09:57人气:344

  Fiddler使用

  先给大家简单说一下,Fiddler这款抓包工具,与别人工具还是有所不同的。

  Fiddler是通过改写HTTP代理,让数据从它那通过,来监控并且截取到数据。当然Fiddler很屌,在打开它的那一瞬间,它就已经设置好了浏览器的代理了。当你关闭的时候,它又帮你把代理还原了,是不是很方便?

  1、开启或关闭抓包功能

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

Fiddler开启或关闭抓包功能.png

  2、字段说明


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

Fiddler抓到的数据包.png

名称含义
#抓取HTTP Request的顺序,从1开始,以此递增
ResultHTTP状态码
Protocol请求使用的协议,如HTTP/HTTPS/FTP等
Host请求地址的主机名
URL请求资源的位置
Body该请求的大小
Caching请求的缓存过期时间或者缓存控制值
Content-Type请求响应的类型
Process发送此请求的进程:进程ID
Comments允许用户为此回话添加备注
Custom允许用户设置自定义值
图标含义
图标1.png请求已经发往服务器
图标2.png已从服务器下载响应结果
图标3.png请求从断点处暂停
图标4.png响应从断点处暂停
图标5.png请求使用 HTTP 的 HEAD 方法,即响应没有内容(Body)
图标6.png请求使用 HTTP 的 POST 方法
图标7.png请求使用 HTTP 的 CONNECT 方法,使用 HTTPS 协议建立连接隧道
图标8.png响应是 HTML 格式
图标9.png响应是一张图片
图标10.png响应是脚本格式
图标11.png响应是 CSS 格式
图标12.png响应是 XML 格式
图标13.png响应是 JSON 格式
图标14.png响应是一个音频文件
图标15.png响应是一个视频文件
图标16.png响应是一个 SilverLight
图标17.png响应是一个 FLASH
图标18.png响应是一个字体
图标19.png普通响应成功
图标20.png响应是 HTTP/300、301、302、303 或 307 重定向
图标21.png响应是 HTTP/304(无变更):使用缓存文件
图标22.png响应需要客户端证书验证
图标23.png服务端错误
图标24.png会话被客户端、Fiddler 或者服务端终止

  3、Statistics请求的性能数据分析

  好了,左边看完了,现在可以看右边了;随意点击一个请求,就可以看到Statistics关于HTTP请求的性能以及数据分析了。

Statistics关于HTTP请求的性能以及数据分析.png

  4、Inspectors查看数据内容

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

Inspectors查看数据内容.png

  5、AutoResponder允许拦截指定规则的请求

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

  看下图5步,我将“baidu”这个关键字与我电脑“f:UsersYukiOPicturesoy.jpeg”这张图片绑定了,点击“Save”保存后勾选“Enablerules”,再访问baidu,就会被劫持。

AutoResponder允许拦截指定规则的请求5步.png

  这个玩意有很多匹配规则,如:

  字符串匹配(默认):只要包含指定字符串(不区分大小写),全部认为是匹配字符串匹配(baidu)是否匹配

  http://www.baidu.com匹配http://pan.baidu.com匹配http://tieba.baidu.com匹配

  正则表达式匹配:以“regex:”开头,使用正则表达式来匹配,这个是区分大小写的字符串匹配(regex:.+.(jpg|gif|bmp)$)是否匹配

  http://bbs.fishc.com/Path1/query=foo.bmp&bar不匹配http://bbs.fishc.com/Path1/query=example.gif匹配http://bbs.fishc.com/Path1/query=example.bmp匹配http://bbs.fishc.com/Path1/query=example.Gif不匹配

  6、Composer自定义请求发送服务器

  Composer允许自定义请求发送到服务器,可以手动创建一个新的请求,也可以在会话表中,拖拽一个现有的请求

  Parsed模式下你只需要提供简单的URLS地址即可(如下图,也可以在RequestBody定制一些属性,如模拟浏览器User-Agent)

Composer自定义请求发送服务器界面.png

  7、Filters请求过滤规则

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

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

左上角的UseFilters开启过滤器.jpg

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

Zone指定只显示内网.jpg

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

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

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

  8、Timeline请求响应时间

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

Timeline请求响应时间.png

  9、Fiddler设置解密HTTPS的网络数据

  Fiddler可以通过伪造CA证书来欺骗浏览器和服务器。Fiddler是个很会装逼的好东西,大概原理就是在浏览器面前Fiddler伪装成一个HTTPS服务器,而在真正的HTTPS服务器面前Fiddler又装成浏览器,从而实现解密HTTPS数据包的目的。

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

  (1)、Tools–>FiddlerOptions–>HTTPS;

Tools–>FiddlerOptions;HTTPS.png

  (2)、勾选DecryptHTTPSTrafficDecrypt

勾选DecryptHTTPSTrafficDecrypt.png

  (3)、点击OK

界面ok.png


  10、Fiddler内置命令与断点

  Fiddler还有一个藏的很深的命令框,就是眼前,我用了几年的Fiddler都没有发现它,偶尔在别人的文章发现还有这个小功能,还蛮好用的,整理下记录在这里。

Fiddler内置命令与断点.png

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

命令对应请求项介绍示例
?Al问号后边跟一个字符串,可以匹配出包含这个字符串的请求?google
>Body大于号后面跟一个数字,可以匹配出请求大小,大于这个数字请求>1000
<Body小于号跟大于号相反,匹配出请求大小,小于这个数字的请求<100
=Result等于号后面跟数字,可以匹配HTTP返回码=200
@Host@后面跟Host,可以匹配域名@www.baidu.com
selectContent-Typeselect后面跟响应类型,可以匹配到相关的类型select image
clsAll清空当前所有请求cls
dumpAll将所有请求打包成saz压缩包,保存到“我的文档Fiddler2Captures”目录下dump
startAll开始监听请求start
stopAll停止监听请求stop


  断点命令

  bpafter命令示例:

  断点命令:

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

断点命令界面.png

  以上是Fiddler抓包工具的使用介绍,更多Fiddler技术内容请关注本站,购软平台-软件使用教程和购买平台。


上一条:Fiddler抓包工具,中文版安装教程-购软平台

下一条:Fiddler工作原理是什么?哪些场景会用到Fiddler-购软平台