Fiddler的安装和使用教程(详细)

article/2025/8/23 21:03:31

一、安装

1、fiddler工具下载网址:http://www.telerik.com/download/fiddler。
2、运行 FiddlerSetup.exe一键完成安装。
3、安装成功后点击关闭按钮,所选路径下多出一个Fiddler文件夹
4、运行fiddler.exe。

二、Fiddler的配置

1、Fiddler的抓包原理
在这里插入图片描述
Fiddler 是以代理web服务器的形式工作的,它使用代理地址:127.0.0.1,端口:8888,能支持HTTP代理的任意程序的数据包都能被Fiddler嗅探到,Fiddler的运行机制其实就是本机上监听8888端口的HTTP代理。当Fiddler退出的时候它会自动注销,这样就不会影响别的 程序。不过如果Fiddler非正常退出,这时候因为Fiddler没有自动注销,会造成网页无法访问。解决的办法是重新启动下Fiddler。

配置:打开Fiddler文件夹,点击Fiddler.exe运行fiddler进行配置
点击Tools–>options

**1)**在Tools–>options弹框,点击connections,端口8888可修改为其他数字,并勾选Allow remote computers to connect,点击OK。
在这里插入图片描述
2)抓取HTTPS数据包
在options弹框中切换至HTTPS,勾选图中标记的2个选项并点击OK
在这里插入图片描述
勾选后会弹出安装证书的提示,根据提示一直点击“是”即可安装成功

**

三、抓取手机APP数据包

1)确认电脑和手机连的同一局域网
2)查看电脑IP并设置手机WIFI的HTTP代理
在这里插入图片描述
在这里插入图片描述
(3)打开手机 浏览器,输入192.168.xxx.xx:8888(即上一步的IP:端口),这一步Android和IOS的手机是一样的

如出现以下页面则表示正常,点击红框下载证书,如访问不了地址或者页面提示拒绝访问之类的表示配置有误,再检查一下哪里没有配置好
在这里插入图片描述
4)下载证书成功后,Android手机需要给证书命名,任意输入一个名字即可;

     IOS会跳转到一个界面,点击安装,有可能第一遍安装不上返回浏览器再操作一次就安装成功了,切记IOS安装好证书需要信任才行,如果忘记信任了Orz(进入设置--通用--关于本机--证书信任设置--找到DO_NOT_TRUST_FiddlerRott开启信任)
  • 1

(我用的Android手机IOS没有亲测)

5)设置过滤
手机上设置代理后,这时候fiddler上抓到的是pc和app所有的请求,如果pc上打开网址,会很多,这时候就需要开启过滤功能了。

2.打开fiddler>Tools>Fiddler Options>HTTPS>…from remote clients only,勾选这个选项就可以了

…from all processes :抓所有的请求

…from browsers only :只抓浏览器的请求

…from non-browsers only :只抓非浏览器的请求

…from remote clients only:只抓远程客户端请求

注意:我的手机在设置完代理后显示无法上网,也无法访问192.168.xxx:8888
下面是解决办法

(1)输入regedit打开注册表,输入路径:计算机\HKEY_CURRENT_USER\Software\Microsoft\Fiddler2后回车
在这里插入图片描述
(2)新建QWORD,值设置80
在这里插入图片描述
(3)打开fiddler,进入Rules -->Customize Rules,
(4)ctrl+f,搜索OnBeforeRequest
(5)在OnBeforeRequest方法最后添加一行


if (oSession.host.toLowerCase() == "webserver:8888") {oSession.host = "webserver:80";}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

(6)重启fiddler就可以了
**
**

四、Fiddler的使用

1)Fiddler的基本界面
在这里插入图片描述
主菜单:

File: 文件

capture Traffic:    是否启动抓包;勾选后左下角显示capturing。是开始抓取;不勾选是不抓取,无capturing。

new viewer:   新建fiddler窗口。

save:    将当前抓取的会话进行保存。

其他的基本上不用,就不写了。

Edit:编辑

copy: ·   对所选的信息进行copy,包含对session、URL、headers等信息进行copy。

Remove:    删除,包含删除选择的session,未选择的session、删除所有的。

Select All:    将回话区所有的会话全选。

Undelent:    将上一次删除的会话进行复原。

Paste as sessions:     将以前的会话粘贴回来。

Mack:    自定义不同状态的会话的显示的颜色。

Unlock for Editing:    不允许进行编辑。

Find sessions:    对会话进行快捷查找,相当于Ctrl+F。

Rules:规则

Hide Image Requests:    隐藏图片请求。

Hide connects:       隐藏connects请求。

Automatic Breakpoints: 修改请求或者响应的内容,做断点使用较多。

Customize Rules:      调取脚本操作,多用于修改网络、其他自定义时使用。

User-Agents:        模拟其他浏览器进行请求。

Performance:       一个性能测试工具,包含:模拟调制解调器速度、禁止缓存、显示TTL8。

Tools:工具

Options:          一些设置项,包含:对抓取接口是http、HTTPS类型设置、获取证书、设置代理的端口号等信息。

Wininet options:       对PC端进行设置代理。

Clear wininet cache:   清除缓存。

Clear wininet cookies:    清除cookies。

TextWizard: 编码工具,可以用来进行编码、解码、转码操作。

compare sessions:     将两个sessions会话进行对比,正常使用需要安装插件。

Reset Script:        将脚本进行还原。

view IE cache:       视图缓存

New sessions Clipboard…:  新建会话剪切板

HOSTS:          对host进行修改、配置。

View:视图

Autoscroll session list:     设置会话区在抓取时是否自动滑动。

其他的主要是对布局方式的设置,包括菜单栏是否显示、界面的显示方式。

Help:帮助

主要包含fiddler自身的一些说明,基本上不用,感兴趣的小伙伴可以自己去了解一下,或者留言。

快捷菜单栏

在这里插入图片描述

请求参数显示区

headers:             主要显示选择的请求的信息,包含、请求头、请求体、body等信息。

textView:             以文本的形式显示请求参数以及body值。

SyntaxView:            以脚本的形式显示请求参数以及body值(需要安装Syntaxview插件)。

WebForms:            以列表的形式显示请求参数以及body值。

HexView:             以16进制形式显示请求参数以及body值。

Auth:               显示header中Proxy-Authorization和Authorization值。

Cookies:             以直观的界面显示header中的cookies的值。

Raw:               将整个请求以纯文本的形式显示。

Josn:              以josn串形式显示请求参数以及body值。

XML:             以XML的形式显示请求参数以及body值。

响应结果显示区

Transformer:          响应信息的压缩编码格式,对响应信息进行编码、解码、转码操作。

Headers:             响应信息,包含响应状态、响应头、响应体。

textView:             以文本的形式展示响应结果。

SyntaxView:            以脚本的形式展示响应结果(需要安装插件)。

ImageView:            当响应中包含图片时可以用此功能进行查看图片以及图片信息。

HexView:             以16进制展示响应结果。

WebView:             以列表形式展示响应结果。

Auth:               展示响应结果中部分信息。

Caching:             响应的缓存过期时间或者缓存

Cookies:              展示响应中的cookies信息。

Raw:               以纯文本形式展示响应头。

json:               以JSON形式展示响应结果。

XML:               以XML形式展示响应结果。
在这里插入图片描述

Fiddler的HTTP统计视图

通过陈列出所有的HTTP通信量,Fiddler可以很容易的向您展示哪些文件生成了您当前请求的页面。使用Statistics页签,用户可以通过选择多个会话来得来这几个会话的总的信息统计,比如多个请求和传输的字节数。

选择第一个请求和最后一个请求,可获得整个页面加载所消耗的总体时间。从条形图表中还可以分别出哪些请求耗时最多,从而对页面的访问进行访问速度优化
在这里插入图片描述
2)QuickExec命令行的使用

Fiddler的左下角有一个命令行工具叫做QuickExec,允许你直接输入命令。

常见得命令有

help 打开官方的使用页面介绍,所有的命令都会列出来

1、cls 清屏 (Ctrl+x 也可以清屏)

2、对目标主机执行DNS查找,并在LOG选项卡上显示结果

!dns www.example.com
!nslookup www.example.com
  • 1
  • 2

3、select 选择会话的命令

4、?.png 用来选择png后缀的图片

5、bpu 截获request
6、在另一个端口上设置一个附加的侦听器,可以选择通过HTTPS证书进行保护


!listen 8889
!listen 4443 localhost
!listen 444 secure.example.com
  • 1
  • 2
  • 3
  • 4

7、选择名称为Header或SessionFlag包含指定字符串的任何会话。

select ui-comments slow
select ui-bold *     <-- unless preceded by a slash, * means any value
select ui-comments \*     <-- Find comments with a *
selec**加粗样式**t @Request.Accept html     <-- Find requests with Accept: html
select @Response.Set-Cookie domain <- Find responses that Set-Cookie on a domain
  • 1
  • 2
  • 3
  • 4
  • 5

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

看下图5步,我将“baidu”这个关键字与我电脑“C:(IBZ0FBB8J3LU_32]73H}ZB.jpg”这张图片绑定了,点击Save保存后勾选Enable rules,再访问baidu,就会被劫持。在这里插入图片描述
在这里插入图片描述
4) Composer 自定义请求发送服务器
Composer允许自定义请求发送到服务器,可以手动创建一个新的请求,也可以在会话表中,拖拽一个现有的请求

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

6)Filters 请求过滤规则
Fiters 是过滤请求用的,左边的窗口不断的更新,当你想看你系统的请求的时候,你刷新一下浏览器,一大片不知道哪来请求,看着碍眼,它还一直刷新你的屏幕。这个时候通过过滤规则来过滤掉那些不想看到的请求。
在这里插入图片描述勾选左上角的Use Filters开启过滤器,这里有两个最常用的过滤条件:
Zone和Host
1、Zone 指定只显示内网(Intranet)或互联网(Internet)的内容:
在这里插入图片描述
2、Host 指定显示某个域名下的会话:
在这里插入图片描述
如果框框为黄色(如图),表示修改未生效,点击红圈里的文字即可

7) Timeline 请求响应时间
在左侧会话窗口点击一个或多个(同时按下 Ctrl 键),Timeline 便会显示指定内容从服务端传输到客户端的时间:
在这里插入图片描述
8)Fiddler中设置断点的两种方式

第一种 before response:这个是打在request请求的时候,未到达服务器之前
在这里插入图片描述

第二种: after response:也就是服务器响应之后,在Fiddler将响应传回给客户端之前。
在这里插入图片描述
全局断点
Fiddler最强大的功能莫过于设置断点了,设置好断点后,你可以修改httpRequest 的任何信息包括host, cookie或者表单中的数据。
1.全局断点就是中断fiddler捕获的所有请求,先设置下,点击rules-> automatic breakpoint ->before requests
在这里插入图片描述
当我们设置断点后,进行HTTP请求,数据包顺序列会有中断的标记,单击该数据包可以看到在右侧会增加一行操作栏。这个时候我们在前端是没有正常加载网页的,点击【Run to Completion】后可以返回响应数据。
在这里插入图片描述
接下来为了看我们的断点设置是否生效,我们以登录为例子进行测试。我们断点规则设置为before request,登录一个网站,登录界面输入未注册的用户,点击登录。然后修改为我注册过的手机号并输入错误密码

(未注册用户回显)在这里插入图片描述
(修改请求包)
在这里插入图片描述
(改包之后回显)
在这里插入图片描述
概述为四步操作
1)点击有断点标识接口
2)右侧Inspectors-WebForms修改入参
3)点击绿色按钮:Run to completion
4)接口会以修改后的入参进行请求
由此可见,我们的断点已经设置成功,并且成功修改了HTTP的请求数据。

after response简述如下:
after response: 也就是服务器响应之后,在Fiddler将响应传回给客户端之前
1)点击有断点标识接口
2)修改返回值TextView值
3)命令行输入Go
4)接口会将修改后的出参返回页面

**

五、单个断点

已经知道了某个接口的请求地址,这时候只需要针对这一条请求打断点调试,在命令行中输入指令就可以了
请求前断点(before response): bpu

论坛登录接口:https://passport.cnblogs.com/user/signin
命令行输入:bpu https://passport.cnblogs.com/user/signin 回车
请求登录接口的时候,就会只拦截登录这个接口了,此时可以修改任意请求参数
取消断点,在命令行输入: bpu 回车就可以了

**

**
我公众号大家可以关注支持一哈
主要记录一些网络安全和Python的学习。
在这里插入图片描述


http://chatgpt.dhexx.cn/article/kWwPbx6v.shtml

相关文章

网络层(1.网络层提供的两种服务)

网络层应该提供怎样的服务&#xff0c;是面向“连接”还是“无连接”&#xff0c;本质上是在互联网通信中&#xff0c;可靠交付应该由谁来负责&#xff0c;是网络还是端系统。 1. 面向连接&#xff0c;让网络负责可靠交付 这种观点是借助电信网的成功经验&#xff0c;让网络负…

计算机网络(四)—— 网络层(1、2):网络层概述、网络层提供的两种服务

计算机网络系列内容的学习目录 → \rightarrow →谢希仁计算机网络学习系列内容汇总。 1. 网络层概述1.1 课后练习 2. 网络层提供的两种服务2.1 面向连接的虚电路服务2.2 无连接的数据报服务2.3 虚电路服务与数据报服务的比较2.4 课后练习 1. 网络层概述 ■ 网络层的主要任务是…

网络层(八)

网络层 文章目录 网络层网络层服务网络层的核心功能——转发与路由网络层的核心功能——建立连接网络层服务模型虚电路网络数据报网络数据报网络 or 虚电路网络 IP协议IP数据报格式IP分片IP编址无类域间路由&#xff08;CIDR&#xff09; 网络地址转换&#xff08;NAT&#xff…

第三层:网络层

第五章&#xff1a;网络层 网络层关注的是如何将源端数据包一路送到接收方&#xff0e;为了将数据包送到接收方&#xff0c;可能 沿途要经过许多跳&#xff08;hop&#xff09;中间路由器。这种功能显然与数据链路层的功能不同&#xff0c;数据链路层的目标没那么宏伟&#xf…

网络原理——网络层与数据链路层

JavaEE传送门 JavaEE 网络原理——No.3 传输层_TCP的滑动窗口, 流量控制与拥塞控制 网络原理——No.4 传输层_TCP协议中的延迟应答, 捎带应答, 面向字节流与TCP的异常处理 目录 网络层IP 协议IP 地址路由选择 数据链路层以太网 网络层 网络层做的工作, 就是两点之间, 规划出一…

网络层概述

网络层概述 因特网网络层的三个主要组件网络层的主要功能网络层的类型虚电路网络数据报网络 路由器的硬件体系结构 因特网网络层的三个主要组件 IP&#xff08;网际&#xff09;协议因特网路由选择协议ICMP&#xff08;因特网控制报文协议&#xff09; 网络层的主要功能 前面…

网络层的作用

我们知道网络层处于数据链路层和传输层之间&#xff0c;它在数据报文包的传递中起到了重要作用。 我们来看上面这张图。左边的主机想和右边的主机通话&#xff0c;那么这个数据包一定会经过网络。中间灰色的圆圈是路由器&#xff0c;他们组成了一个网络&#xff0c;数据链路层只…

网络层和传输层

一.网络层的功能 定义了基于IP协议的逻辑地址 连接不同的媒介类型 选择数据通过网络的最佳路径 二.ICMP协议 ICMP是一个“错误侦测与回馈机制” 通过IP数据包封装的 用来发送错误和控制消息 ICMP协议的封装 ICMP协议属于网络层协议 ICMP数据的封装过程 ICMP消息类型和编码…

四、网络层(一)网络层的功能

目录 1.0 网络层的功能 1.1 异构网络互连 1.2 路由选择与分组转发 1.3 软件定义网络(SDN) 1.4 拥塞控制 1.0 网络层的功能 网络层的主要任务就是将分组从源主机经过多个网络和多段链路传输到目的主机&#xff0c;可以将该任务划分为分组转发和路由选择两种重要的功能。 …

TCP/IP——网络层

TCP/IP——网络层 一、网络层协议 网络层继承被称之为IP层。但网络层协议并不只是IP协议&#xff0c;还包括ICMP&#xff08;Internet control Message Protocol&#xff09;协议、IPX&#xff08;Internet Packet Exchange&#xff09;协议 IP寻址&#xff1a;能过上网的设备…

计算机网络 | 网络层 | 什么是网络层 | 详解

本博客为个人笔记&#xff0c;篇幅较长&#xff0c;内容较多&#xff0c;因时间原因&#xff0c;内容中的重点部分没有重点标出&#xff0c;望谅解。如有错误&#xff0c;欢迎各位前来纠正。 目录 一.网络层提供的两种服务 1.虚电路服务 2.电话机与现代计算机的区别 3.数据…

计算机网络-网络层

网络层 1. 前言2. 网络层的作用3. 网络层数据交换4. 网络层协议及报文格式5. ARP与RARP6. 国际控制报文协议ICMP 1. 前言 网络层介于传输层和数据链路层之间&#xff0c;其主要作用是实现两个网络系统之间的数据透明传送&#xff0c;具体包括路由选择&#xff0c;拥塞控制和网…

计算机网络(五):网络层

文章目录 1. 网络层概述1.1 路由器工作原理 2. IP&#xff1a;网际协议2.1 IPv4数据报格式2.2 IP地址2.2.1 IP地址的分类2.2.2 广播和多播2.2.3 子网和子网掩码2.2.4 CIDR与VLSM2.2.5 公有地址和私有地址 2.3 路由控制2.4 IP 分片和重组2.4.1 路径 MTU 发现 2.5 IPv62.5.1 IPv6…

网络层与传输层

目录 一、网络层 &#xff08;一&#xff09;IP数据包格式 &#xff08;二&#xff09;ICMP协议介绍 &#xff08;三&#xff09;ARP协议介绍 &#xff08;四&#xff09;ARP攻击原理 &#xff08;五&#xff09;ping命令及tracert &#xff08; 六&#xff09;ARP命令 …

网络层——IP协议

网络层 网络层概述 网络层主要考虑数据传输的路上问题&#xff0c;在复杂的网络环境中确定一个合适的路径。 网络层设计要尽量简单&#xff0c;向上层只提供简单灵活的、无连接的、不保证可靠性的数据报服务。网络层不提供服务质量的承诺&#xff01; IP 数据报的格式 如何分…

计算机网络——网络层

目录 4.1 网络层概述 4.2 网络层提供的两种服务 面向连接的虚电路服务 无连接的数据报服务 4.3 IPv4地址 IPv4地址概述 分类编址的IPv4地址 划分子网的IPv4地址 无分类编制的IPv4地址 IPv4地址的应用规划 4.4 IP数据报的发送和转发过程 4.5 静态路由配置 默认路由和…

详解网络层_计算机网络

目录 1. 网络层提供的两种服务 2. 网际协议IP 3.虚拟互联网络 4. IP地址 IP地址的划分方法 点分十进制 IP地址指派范围 IP地址的重要特点 5. IP地址与MAC地址 1. 网络层提供的两种服务 首先&#xff0c;网络层的引入主要是为了屏蔽不同网络的差异&#xff0c;实现不同网络…

计算机网络(四)_网络层

相关博文&#xff1a; 计算机网络入门 计算机网络物理层 计算机网络-数据链路层 与网络层相关的IP地址与子网掩码单独抽出于下 IP地址 计算机网络-域名与IP地址详解 子网掩码与子网划分 计算机网络-子网掩码与子网划分 文章目录 IP地址子网掩码与子网划分一些基本概念网络层提供…

应用层、传输层、网络层、数据链路层

应用层 包括&#xff1a;应用服务 &#xff08;FTP&#xff08;FileTransfer Protocol&#xff0c;文件传输协议&#xff09;和DNS&#xff08;Domain NameSystem&#xff0c;域名系统&#xff09;&#xff09;发送HTTP请求DNS域名解析系统&#xff1a;提供通过域名&#xff0…

计算机网络之网络层

一、概述 网络层介于传输层和数据链路层之间&#xff0c;其主要作用是实现两个网络系统之间的数据透明传送&#xff0c;具体包括路由选择&#xff0c;拥塞控制和网际互连等。网络层是网络与网络之间通信的最底层&#xff0c;在数据从数据链路层向传输层进行数据传输的通信中&a…