安装与配置
安装
- 下载地址
- 安装
- Windows 使用一种名为 "AppContainer" 的隔离技术,可能会干扰对沉浸式应用程序和 Edge 浏览器的流量捕获。请使用 Progress Telerik Fiddler 工具栏中的 WinConfig 按钮启用流量捕获。您想了解更多吗?要禁用此警告,请点击"取消"。
- 点击 "Yes" 进入Windows官网详细了解,点击 "No" 关闭窗口,点击"Cancel"禁用这个警告。
- 点击"Cancel"
配置
配置 https
- Tools -> Options -> HTTPS -> Capture HTTPS CONNECTs(捕获HTTPS连接) 勾选 -> Decrpt HTTPS traffic(解密HTTP通信) 勾选 -> Ignore server certificate errors(unsafe)(忽略服务器证书错误(不安全)) 勾选
- 为了拦截HTTPS流量,Fiddler 生成一个唯一的根证书。您可以在Windows 配置信任此根证书,以禁止安全警告。这通常是安全的。单击“是”,重新配置Windows“受信任的CA列表”。点击“否”,如果这对你是未知的。信任Fiddle Root证书
- 点击yes
- 点击是
- 点击是
- 检查证书是否安装成功
- Actions -> open windows certificate Manager
- Actions -> open windows certificate Manager
界面
菜单栏
- File 文件
- Capture Traffic 是否开启抓包功能,可以控制是否把Fiddler注册为系统代理。当把Fiddler注册为系统代理时,所有依赖于WinINET代理的应用(如IE浏览器和其他浏览器)会把Web请求发送给Fiddler
- New Viewer 打开新窗口,打开一个新的fiddler窗口
- Load Archive 加载抓包文件,用于重新加载之前保存的fildder文档
- Recent Archives 加载最近所保存的文件
- Save 保存抓包文件,保存session会话
- Import 导入其他格式的抓包文件,导入session会话
- Export 导出其他格式的抓包文件,导出session会话
- Edit 编辑
- Copy 复制,复制选中Session的某些信息
- remove 删除,删除全部、选择或未选中的Session
- Select All 全选,选择Sessions列表的所有内容
- Undelete 撤销
- Paste as Sessions 黏贴,命令会基于剪贴板上的内容,生成一个或多个模拟的 Session
- Mark 标记
- Unlock for Editing 编辑
- Find Session 查找
- Rules 规则
- Hide Image Requests 隐藏image请求
- Hide CONNECTs
- Automatic Breakpoints 自动断点请求拦截
- Before Requests
- After Responses
- Customize Rules 自定义规则
- Require Proxy Authentication 设置代理的认证
- Apply GZIP Encoding
- Remove All Encodings 去掉所有加密协议
- Hide 304s
- Request Japanese Content
- Automatically Authenticate
- User-Agents 替换useragent
- Performance 性能测试
- Simulate Modem Speeds 慢速访问
- 精确限速
- 修改用户脚本
- 精确限速
- Disable Caching 关闭缓存
- Cache Always Fresh 缓存刷新
- Simulate Modem Speeds 慢速访问
- Tools 工具
- Options 配置
- General
- HTTPS
- 勾选 Decrypt HTTPS Traffic
- Actions -> Trust Root Certificate 为浏览器安装证书(个人/受信任的根证书颁发机构)
- Connections
- 选中 Allow remote computers to connect(允许远程连接)
- Act as system proxy on startup(作为系统启动代理)
- General
- WinINET Options windows 代理设置
- Clear WinINET Cache 清除浏览器缓存
- Clear WinINET Cookie 清除浏览器cookie
- TextWizard 编码转换工具
- Compare Sessions
- Reset Script
- Sandbox
- View IE Cache
- Win8 Loopback Exemptions
- New Session Clipboard
- HOSTS host管理工具
- Options 配置
- View 视图
工具栏
- 工具栏
- 聊天图标
- 备注,增加会话备注,方便我们查看,可以通过前面菜单栏的save功能导出saz文件给他人看
- Replay
- 流重放,回放会话,想要重新请求会话,可以使用此功能(选中会话快捷键 R 重放一次),Shift+R,弹出提示框,输入重放次数
- 关闭图标
- 流删除,清空会话列表,也可以进行过滤列表,清除相应种类的会话
- Remove all 删除所有
- ctrl + X ,删除所有Session
- Shift + Del 删除选中以外的Session
- images 删除所有图片
- CONNECTs 删除所有CONNECTs的请求;其实就是Tunnel to的部分
- Non-200s 删除所有不是200的请求
- Non-Browser 删除所有非浏览器请求
- Duplicate response bodies 删除所有重复响应体的请求
- Remove all 删除所有
- GO
- 执行流
- 截获数据包修改后手动进行执行流
- 使用请求往下走,这个可以和Fiddler断点进行使用
- 执行流
- Stream
- 流模式
- 浏览器实时展现到fiddler中
- fiddler 数据包模式分为 流模式和缓存模式
- 缓存模式
- 浏览器加载完之后展现到fiddler中
- 缓存模式
- 流模式
- Decode
- 流解密
- 避免手动解密,表示把http协议的响应体解码出来,对所有响应解码
- 流解密
- Keep: All sessions
- 根据电脑配置情况指定加载数据包
- 设置保存会话的数量,会话越多占用内存越大
- Any Process
- 抓取进程的流,指定抓取流的进程
- Find
- 查找,查找会话请求,一般会话比较多的时候可以使用此工具进行查找和备注颜色
- 查找范围,请求和响应中,头部信息或者body信息中,或者单独进行配置查找同时我们还可以在下面勾选正则匹配的规则
- Save
- 保存,文件格式 .saz
- 照相机图标
- 截图,保存截图功能,5秒后就把截图保存下来了,保存后直接可以在fiddler上进行查看
- 时间图标
- 计时
- 浏览器图标
- 打开浏览器
- Clear Cache
- 清除缓存
- TextWizard
- 解码工具,快速编码和解码,点击后,选择解码方式,get请求,url编码
- Tearoff
- 拆分右侧
- 电脑
- 本机网络信息,可以看到本机ip
- 聊天图标
会话列表
| 字段名 | 描述 |
|---|---|
| # | HTTP Request的顺序,从1开始,按解页面加载请求的顺序递增 |
| Host | 请求地址的域名 |
| URL | 请求的服务器路径和文件名,也包括GET参数 |
| Body | 请求的大小,以byte为单位 |
| Content-Type | 请求响应的类型(Content-Type) |
| Result | HTTP响应的状态码 |
| Protocol | 请求使用的协议(如HTTP/HTTPS/FTP) |
| Caching | 请求的的缓存过期时间或缓存控制 header等值 |
| Process | 发出此请求的Windows进程及进程ID |
| Commments | 用户通过脚本设置或者右键菜单给此session增加的备注 |
| Custom | 用户可以通过脚本设置的自定义值 |
- 自定义脚本
- 菜单,Rules->Customize Rules,打开“Fiddler ScriptEditor”
- Ctrl+F查找“static function Main()”字符串,然后添加以下代码
FiddlerObject.UI.lvSessions.AddBoundColumn("ServerIP", 120, "X-HostIP");
- 右键
命令行
?text- Fiddler 会高亮所有 URL 匹配问号后的字符的全部 session,按回车聚焦到匹配的 session 上
- 示例:?searchtext
>size- 选择响应尺寸大于指定大小的全部 session。按回车聚焦到匹配的 session 上
- >40000 (选择响应大于 40kb 的请求)
<size- 选择响应尺寸大于指定大小的全部 session。按回车聚焦到匹配的 session 上
- 示例:<5k (选择响应小于 5kb 的请求)
=status- 选择响应 HTTP 状态等于指定值的全部 session。按回车聚焦到匹配的 session 上
- 示例:=200 (选择 请求成功的请求)
@host- 选择包含指定 HOST 的全部 session。按回车聚焦到匹配的 session 上
- 示例:@msn.com (选择 www.msn.com、login.msn.com 等 session)
bold text- 加粗显示 URL 包含指定字符的全部 session
- 示例:bold test.php (加粗显示 URL 中包含 test.php 的 Session)
bold(不带参数表示清空所有加粗显示的 Session)
bpafter- 收到响应后中断 URL 包含指定字符的全部 session 响应
- 示例:bpafter test.php (中断 URL 中包含 test.php 的 Session)
bpafter(不带参数表示清空所有设置断点的 Session)
bpu- 在发起请求前中断 URL 中包含指定字符的全部 session 响应
- 示例:bpu test.php (中断所有请求 URL 中包含指定字符的 Session)
bpu(不带参数表示清空所有设置断点的 Session)
bps- 中断 HTTP 响应状态为指定字符的全部 session 响应
- 示例:bps 404 (中断所有响应 404 的 Session)
bps(不带参数表示清空所有设置断点的 Session)
bpv 或 bpm- 中断指定请求方式的全部 session 响应
- 示例:bpv POST (中断所有 POST 请求的 Session
bpv(不带参数表示清空所有设置断点的 Session)
cls 或 clear- 清除所有 session
- 示例:cls
dump- 将所有 session 打包到 C 盘根目录下的一个 zip 压缩包中
- 示例:dump
g 或 go- 继续所有中断的 Session
- 示例:g
help- 用浏览器打开 QuickExec 在线帮助页
- 示例:help
hide- 将 Fiddler 隐藏到任务栏图标中
- 示例:hide
urlreplace- 将 URL 中的字符串替换成特定的字符串
- 示例: urlreplace SeekStr ReplaceWithStr
urlreplace(不带参数表示清空所有之前的设置)
start- 将 Fiddler 为系统代理
- 示例:start
stop- 将 Fiddler 从系统代理注销
- 示例:stop
show- 将 Fiddler 从任务栏图标恢复为图形界面,此命令在命令行工具ExecAction.exe 中使用
- 示例:show
select- 选中响应类型 (Content-Type) 为指定字符的所有 session
- 示例:select image select css select json
allbut 或 keeponly- 将不是该类型 (Content-Type) 的session删除,留下的都是该类型的响应
- 示例:allbut json
quit- 退出 Fiddler
-
- 示例:quit
状态栏
- 代理状态
- 显示的 Fiddler 是否处于系统代理状态,(有capture表示开启状态,点击清除图标取消代理),可以用快捷键 F12 切换或者点击该区域
- 会话选择
- All Processes — 捕获所有进程的请求
- Web Browsers — 捕获 Web 浏览器的请求
- Non-Browser — 捕获非 Web 浏览器的请求
- Hide All — 隐藏所有请求
- 断点设置
- 不设置断点
- 所有请求在断点处被暂停
- 点一下请求前断点,before response:这个是打在request请求的时候,未到达服务器之前
- 修改请求并Break on Response(执行请求),然后进入中断响应
- 所有响应在断点处被暂停
- 点两下时响应断点,.after response:也就是服务器响应之后,在Fiddler将响应传回给客户端之前
- 修改响应 Choose Response -> Run to Comp(执行响应)
- 选择Session数
- 显示共选择了多少 session 及 session 总数
- 附加信息
- 如果是刚打开 Fiddler,会显示什么时间加载了 CustomRules.js;如果选择了一个 Session,会显示该 Session 的 URL;如果在 QuickExec 命令行输入一个命令,就会显示命令相关信息
辅助标签加工具
- Statistics 统计分析
- Http或Https请求的性能和其他数据分析,如DNS解析时间,TCP/TP建立连接的时间(TCP三次握手的时间)、SSL连接的时间(针对https请求)等信息
- Inspectors 检查器
- 直接可以双击会话打开检查器,或选择会话后点击检查器
- 以不同的形式展示请求或部分请求报文、响应或部分响应报文
- 请求部分
- Headers:显示客户端发送到服务器的 HTTP 请求的 header,显示为一个分级视图,包含了 Web 客户端信息、Cookie、传输状态等
- TextView:显示 POST 请求的 body 部分为文本
- SyntaxView:语法的格式
- WebForms:显示请求的 GET 参数 和 POST body 内容,特别说明,这里的QueryString为url后接的内容;这里 body 为是 application/x-www-form-urlen-coded 格式。(form表单post请求默认是这种查看方式)
- HexView: 用十六进制数据显示请求
- Auth :显示 header 中的 Proxy-Authorization 和 Authorization 信息
- Cookies:显示请求的cookie信息
- Raw:原生的纯文本(用的较多)
- XML:如果请求的 body 是 XML 格式,就是用分级的 XML 树来显示
- 响应部分
- Transformer :显示响应的编码信息
- Headers :用分级视图显示响应的 header
- TextView : 使用文本显示相应的 body
- SyntaxView: javaScript 语法视图(相较text有高光)
- ImageVies :如果请求是图片资源,显示响应的图片
- HexView : 用十六进制数据显示响应
- WebView :响应在 Web 浏览器中的预览效果
- Auth:显示响应 header 中的 Proxy-Authorization 和 Authorization 信息
- Caching : 显示此请求的缓存信息
- Cookies:显示返回的cookie信息
- Raw:原生的纯文本(用的较多)
- JSON:返回的响应内容如果是一个json格式的,这里会显示
- XML:如果相应的 body 是 XML 格式,就是用分级的 XML 树来显示它
- AutoResponder 自动响应器
- Enable rules(使用规则)
- Unmatched requests passthrough(放行未匹配的请求)
- 可用于拦截某一请求,进行如下操作
- 请求重定向到本地的资源
- 一个文件存在问题,使用fiddler测试文件是否正常再进行替换服务器上的文件
- 使用Fiddler的内置响应
- 自定义响应
- 请求重定向到本地的资源
- 具体操作步骤
- 选择会话或者复制请求的URL,然后点击
Add Rule(或者左键按住,并拖动需要请求的url到右侧列表面板,此时url自动填充在Rule Editor处) - 设置响应的内容,可以选择Fiddler的内置响应或者是重定向至用户本地文件(或者点击规则,鼠标右键,选择Edit Response,进行自定义响应)
- 同时选中 Enable rules(使用规则)和 Unmatched requests passthrough(放行未匹配的请求)
- 选择会话或者复制请求的URL,然后点击
- Composer 设计器
- 设计请求,修改请求参数,进行简单的接口测试
- 具体操作
- 鼠标左键拖动请求的url至右侧Composer面板处,请求信息会自动填充,修改请求参数,点击Execute
- Filters 过滤器
- 忽略不想显示的请求,过滤出想要的请求,是一个多维度的过滤器。过滤器要起作用,必须选中Use Filters ,不用的时候记得关闭,防止出现抓不到包的情况
- Hosts 主机
- 域过滤
- Show only Intranet Hosts:仅显示局域网的请求
- Show only Internet Hosts:仅显示广域网的请求
- No Zone Filter:无域限制(默认)
- 主机过滤
- No Host Filter:无主机限制(默认)
- Hide the following Hosts:隐藏输入到下面文本框的主机(域名或者IP)的请求(可以选择请求,单击右键,Copy >> This Column 的方式复制请求的主机)
- Show only the following Hosts:仅显示输入到下面文本框的主机(域名或者IP)的请求
- Flag the following Hosts:含有下面文本框的主机(域名或者IP)的请求做标记(即加粗显示)
- 域过滤
- Client Process 客户端进程
- Show only traffic from:仅显示某一进程的请求
- Show only Internet Explorer traffic:仅显示IE浏览器发出的请求
- Hide traffic from Service Host:隐藏来自service host(即由svchost.exe进程)发出的请求
- Request Headers 请求头
- Show only if URL contains:仅显示url中包含输入的字符串的请求
- Hide if URL contains:隐藏url中包含输入的字符串的请求
- Flag requests with headers:标记请求头中有指定内容的请求
- Delete request headers:删除请求头中的指定内容
- Set request header:设置请求头中添加指定的内容
- Breakpoints 断点
- Break request on POST:在POST请求中设置断点(请求前设置断点)
- Break request on GET with query string:在带有请求参数的GET请求中设置断点(请求前设置断点)
- Break on XMLHTTpRequest:在ajax请求中设置断点(请求前设置断点)
- Break response on Content-type:在响应中含有指定Content-type的请求中设置断点(响应后设置断点)
- Response Status Code 响应状态码
- Hide success(2xx):隐藏响应状态码为2XX的请求
- Hide non-2xx:隐藏响应状态码非2xx的请求
- Hide redirects(300, 301, 302, 303, 307):隐藏状态码为300、301、302、303、307的重定向请求
- Hide Authentication demands(401,407):隐藏状态码为401,407的响应(需要用户确认证书的请求)
- Hide Not Modified(304):隐藏状态码为304的响应
- Response Type and Size 响应类型和大小
- 下拉框
- Show all Content-Types:显示任意响应类型的请求
- Show only IMAGE/*:仅显示响应类型是图片的请求* Show only HTML:仅显示响应类型是html的请求
- Show only TEXT/CSS:仅显示响应类型是text/css的请求
- Show only SCRIPTS:仅显示响应类型是js脚本的请求
- Show only XML:仅显示响应类型是xml的请求
- Show only JSON:仅显示响应类型是json的请求
- Hide IMAGE/*:隐藏响应类型是图片的请求
- Hide smaller than KB:隐藏响应体小于指定字节数的响应
- Hide larger than KB:隐藏响应体大于指定字节数的响应
- Time HeatMap:根据响应时间给每个请求设置背景色。小于50ms绿色,50-300ms不着色,300-500ms黄色,大于500ms红色
- Block scriptfiles:将响应类型为js脚本的请求,设置返回HTTP/404响应
- Block image files:将响应类型为图片的请求,设置返回HTTP/404响应
- Block SWF files:将响应类型为flash的请求,设置返回HTTP/404响应
- Block CSS files:将响应类型为css的请求,设置返回HTTP/404响应
- 下拉框
- Response Headers 响应头
- Flag responses that setcookies:将响应中设置了cookies的请求标记显示(斜体显示)
- Flag responses with headers:将响应头中包含指定内容的请求标记显示(加粗显示)
- Delete responseheaders:删除响应中指定的响应头
- Set response header:将响应头中添加指定的内容
- 忽略不想显示的请求,过滤出想要的请求,是一个多维度的过滤器。过滤器要起作用,必须选中Use Filters ,不用的时候记得关闭,防止出现抓不到包的情况