Fiddler 抓包探究

Fiddler是位于客户端和服务器端的HTTP代理,也是目前最常用的http抓包工具之一 。 它能够记录客户端和服务器之间的所有 HTTP请求,可以针对特定的HTTP请求,分析请求数据、设置断点、调试web应用、修改请求的数据,甚至可以修改服务器返回的数据,功能非常强大,是web调试的利器。

安装完成之后点击启动Fiddler,Fiddler界面见下:

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

2). Statistics 请求的性能数据分析

好了。左边看完了,现在可以看右边了

随意点击一个请求,就可以看到Statistics关于HTTP请求的性能以及数据分析了(不可能安装好了Fiddler一条请求都没有…):

3). Inspectors 查看数据内容

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

4). AutoResponder 允许拦截指定规则的请求

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

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

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

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

字符串匹配(baidu) 是否匹配
http://www.baidu.com 匹配
http://pan.baidu.com 匹配
http://tieba.baidu.com 匹配

2. 正则表达式匹配:以“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 不匹配

4). Composer 自定义请求发送服务器

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

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

5). Filters 请求过滤规则

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

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

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

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

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

6). Timeline 请求响应时间

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

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

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

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

1. Tools –> Fiddler Options –>  HTTPS

2. 勾选Decrypt HTTPS Traffic

3. 点击OK

3. Fiddler 抓取Iphone / Android数据包

想要Fiddler抓取移动端设备的数据包,其实很简单,先来说说移动设备怎么去访问网络,看了下面这张图,就明白了。

可以看得出,移动端的数据包,都是要走wifi出去,所以我们可以把自己的电脑开启热点,将手机连上电脑,Fiddler开启代理后,让这些数据通过Fiddler,Fiddler就可以抓到这些包,然后发给路由器(如图):

1. 打开Wifi热点,让手机连上(我这里用的360wifi,其实随意一个都行)

2. 打开Fidder,点击菜单栏中的 [Tools] –> [Fiddler Options]

3. 点击 [Connections] ,设置代理端口是8888, 勾选 Allow remote computers to connect, 点击OK

4. 这时在 Fiddler 可以看到自己本机无线网卡的IP了(要是没有的话,重启Fiddler,或者可以在cmd中ipconfig找到自己的网卡IP)

5. 在手机端连接PC的wifi,并且设置代理IP与端口(代理IP就是上图的IP,端口是Fiddler的代理端口8888)

6. 访问网页输入代理IP和端口,下载Fiddler的证书,点击下图FiddlerRoot certificate

【注意】:如果打开浏览器碰到类似下面的报错,请打开Fiddler的证书解密模式(Fiddler 设置解密HTTPS的网络数据)

No root certificate was found. Have you enabled HTTPS traffic decryption in Fiddler yet?

          

          

7. 安装完了证书,可以用手机访问应用,就可以看到截取到的数据包了。(下图选中是布卡漫画的数据包,下面还有QQ邮箱的)

4. Fiddler 内置命令与断点

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

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


命令


对应请求项


介绍


示例


?


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

示例演示:

?

>

<

=

@

select

cls

dump

断点命令:

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

命令:

bpafter

   

bps

bpv

g / go

原文地址:https://www.cnblogs.com/johnvwan/p/12075106.html

时间: 2024-08-06 07:12:39

Fiddler 抓包探究的相关文章

Python+Requests接口测试教程(1):Fiddler抓包工具

本书涵盖内容:fiddler.http协议.json.requests+unittest+报告.bs4.数据相关(mysql/oracle/logging)等内容.刚买须知:本书是针对零基础入门接口测试和python+requests自动化的,首先本书确实写的比较基础,对基础内容也写的很详细,所以大神绕道. 为什么要先学fiddler? 学习接口测试必学http协议,如果直接先讲协议,我估计小伙伴们更懵,为了更好的理解协议,先从抓包开始.结合抓包工具讲http协议更容易学一些. 1.1 抓fir

Fiddler抓包11-HTTPS证书Actions无法导出问题

前言 在点Actions时候出现Export Failed:The root certificate could not be located.最近有很多小伙伴在fiddler导出证书的时候,遇到无法导出的问题,收集了几种解决办法,供参考. 一.证书无法导出 1.在点Actions时候出现Export Failed:The root certificate could not be located. 二.无法导出问题解决方案 1.首先确保安装的 Fiddler 是较新的版本,先关闭fiddler

Fiddler抓包工具

Python+Requests接口测试教程(1):Fiddler抓包工具 欢迎您来阅读和练手!您将会从本章的详细讲解中,获取很大的收获!开始学习吧! 目录 为什么要先学fiddler? 1.1 抓firefox上https请求 1.2 证书导出失败问题 1.3 只抓APP的请求 1.4 查看get与post请求 1.5 工具介绍(request和response) 1.6 接口测试(Composer) 1.7 get请求(url详解) 1.8 post请求(body) 1.9 打断点(bpu)

Fiddler抓包10-会话框添加请求类型(get、post)

前言 在使用fiddler抓包的时候,查看请求类型get和post每次只有点开该请求,在Inspectors才能查看get和post请求,不太方便.于是可以在会话框直接添加请求方式. 一.添加会话框菜单 1.点会话框菜单(箭头位置),右键弹出选项菜单 2.选择Customize columns选项,Collection选项选择Miscellaneous 3.Field Name选择:RequestMethod 4.点Add按钮即可添加成功 二.隐藏会话菜单 1.选择需要隐藏的菜单,右键.选择Hi

Fiddler抓包域名过滤

我们在用Fiddler抓包的时候会抓到很多不需要的数据包,我们怎样才能过滤掉不想要的域名只显示自己想要的域名? 通过Fiddler域名过滤可以解决这一问题! 下面是只显示想要的域名,运行的结果: 下面是只显示指定的浏览器和网页

Fiddler 抓包工具总结

阅读目录 1. Fiddler 抓包简介 1). 字段说明 2). Statistics 请求的性能数据分析 3). Inspectors 查看数据内容 4). AutoResponder 允许拦截制定规则的请求 5). Filters 请求过滤规则 6). Timeline 请求响应时间 2. Fiddler 设置解密HTTPS的网络数据 3. Fiddler 抓取Iphone / Android数据包 4. Fiddler 内置命令与断点 序章 Fiddler是一个蛮好用的抓包工具,可以将网

Fiddler 抓包https配置 提示creation of the root certificate was not successful 证书安装不成功

在使用Fiddler抓包时,我们有时需要抓https协议的包,这种需要配置一下 开启监控https才可以 首先 找到Tools——>Options 在弹出的菜单中 选择https项  勾选捕捉https 这样配置完OK之后 一般会弹窗提示安装证书,点击安装,然后重启Fiddler即可. 但有时候没有弹窗安装证书或根本就没有提示,这种情况一般在Win7中较多出现,Win7的系统https方面 在.net Framework4.0上有bug 网上搜罗一番之后解决方案是 1.cmd 命令行   找到f

从Fiddler抓包到Jmeter接口测试(简单的思路)

版权声明:本文为博主原创文章,未经博主允许不得转载. Fiddler下载和配置安装 从网上下载fiddler的安装包即可,直接默认,一直点击下一步,直至安装完成. 安装完成后直接打开Fiddler 在菜单栏Tools->Fiddler Options->Connections,勾选Allow remote computers to connect,默认的端口号为8888,这里不需要修改,在修改手机代理设置时注意与这里一致. 查看pc本机ip后,手机设置代理,填入pc本机的ip和端口号8888,

Fiddler抓包1-抓firefox上https请求

前言 fiddler是一个很好的抓包工具,默认是抓http请求的,对于pc上的https请求,会提示网页不安全,这时候需要在浏览器上安装证书. 一.网页不安全 1.用fiddler抓包时候,打开百度网页:https://www.baidu.com 2.提示:网页不安全 二.fiddler设置 1.打开菜单栏:Tools>Fiddler Options>HTTPS 2.勾选Decrypt HTTPS traffic,里面的两个子菜单也一起勾选了 二.导出证书 1.点右上角Actions按钮 2.