什么是Fiddler?
官方说法:记录您的计算机和因特网之间的所有HTTP(S)流量。检查流量,设置断点,并处理请求/响应。
通俗说法:Fiddler是一个http协议调试代理工具,Fiddler4数据抓包软件能够记录并检查所有你的电脑和互联网之间的http通讯,设置断点,查看所有的“进出”Fiddler的数据(指cookie,html,js,css等文件,)
下载地址 https://www.telerik.com/fiddler
功能说明:
一、菜单栏
- File
Capture Traffic:默认勾选,勾选此项才可抓包,与点击左下角状态栏的 Capture 效果一样
New Viewer:开启一个新的 fiddler 的 viewer,注意这里不是再开一个新的 fiddler,而是开一个新的fiddler的viewer
Load Archive…:用于重新加载之前捕获到的 SAZ 文件格式保存的流量。Session Archive Zip 文件,用于保存 http 请求信息。
Recent Archives:查看最近之前捕获到的 SAZ 文件格式保存的流量
Save:保存
Import Sessions…:从目标文件夹及其子文件夹加载所有 SAZ 文件。缓存和重用密码。 支持导入从其他工具获得的流量
Export sessions:支持用fiddler把捕捉到的 sesison 用多种方式保存。CURL 脚本由 CURL 回放;参见 CURL
Exit:退出 Fiddler
-
Edit
Copy:用来拷贝请求的相关信息。有用于复制在 web session 列表中选中的 session 信息,包括 just URL(选中的 session 的 URL 复制到剪切板中)、this column(拷贝菜单所在列的文本)、terse summary(选中 session 的简要说明复制到剪切板里)、header only (把 session 请求头复制到剪切板里)、session(把整个的 session 列表都复制到剪切板里)、full summary(把列表中显示的所有 session 信息复制到剪切板里)这些功能
Remove:主要是用来移除左侧边栏中的 session
Select All:全选左侧边栏中 session
Undelete:恢复之前删除的 session
Paste as Sessions:把剪切板里的 sesisongs 复制到 web sessions 中,把以前的会话粘贴回来
Mark:自定义不同 session 的显示颜色
Unlock for Editing:把锁定的 session 进行解锁,可以进行编辑,默认情况下是不可进行编辑的,默认可以看到选定的 session 前是“锁”的图形 ,点击此按钮后变成可编辑按钮 。
Find Sessions…:搜索 session
- Rules
Hide Image Requests:可以隐藏图片请求,让图片类的 session 不在 session 框中显示出来
Hide CONNECTs:可以隐藏 CONNECT 方法的请求,让这类 session 不在 session 框中显示出来
Automatic Breakpoints:自动断点,控制是否自动在 Before Request 或 After Request 处断点,来修改请求或响应的内容
Customize Rules…:来打开 fiddler script 工具,调取脚本操作,多用于网络修改,其他自定义时使用
Require proxy authentication:若选中此项,则所有未提交 Require proxy authentication 的请求头的请求会返回 HTTP/407 响应,要求客户安装证书
Apply GZIP Encoding:请求 GZIP 编码,若选中此项,则只要请求包含了 gzip 标识的 Accept-Encoding 请求头就会对除了图片以外的所有相应使用 GZIP HTTP 进行压缩
Remove All Encoding:若选中此项,会删除所有请求相应的 http 内容编码和传输编码
Hide 304s:在session框中隐藏所有的 304 的 session
Request Japanese Content:把所有的 Accept-Encoding 请求头设置替换成 ja 标示,标示客户端希望以日语的形式发送
Automatically Authenticate:自动进行身份验证 鉴权
User-Agents:选择相应的用户代理模式,默认是选择 disabled。那什么是 user-agent 呢?ua 是头域的组成部分,简单来说就是你向访问的网站提供你所用的浏览器的类型等信息,ua 字符串在每次浏览器 http 请求时发送到服务器端
Performance:此项提供影响 web 性能的简单选项。若选中了 simulate modem speeds,它会设置所有后续 session 的 flag,把 request-trickle-delay 标志设置为 300,所有上传数据延迟 300ms/kb,若把 response-trickle-delay 标志位设为 150,会使所有下载数据延迟 150ms/kb。若选中了 disable caching,将会删除所有 If-None-Match和If-Modified-Since 请求头,并添加 Pragma:no-cache 请求头,选中该项还会删除响应中的所有 Expires 头,并把 Cache-Control 响应头设置成 no-cache,该项无法阻止浏览器重用在所用该选项之前所缓存的响应,在选中该选项后,为了得到最佳结果,最好是清空浏览器中缓存。若选择 Catch Always Fresh 会自动响应所有包含 http/304 响应的有条件的 http 请求,表示客户端缓存是最新的,当访问的站点无法正确的设置缓存失效日期时,该选项可以极大的提高性能。
-
Tools
Options…:打开 Options 窗口,是 fiddler 抓包的一些设置项,包括对抓取接口是 Http 还是 Https 的设置,获取证书,设置代理端口号等功能
WinINET Options…:打开IE浏览器的 options 进行设置
Clear WinINET Catch:清空 IE 和其他应用中所使用的 WinINET 的缓存文件
Clear WinINET Cookies:清空 IE 和其他应用中所使用的 WinINET 的 Cookies 文件
TextWizard:文本向导工具,是一个非常好用的可以轻松将 text 文本 encode 和 decode 的小工具
Reset Script:重置脚本
Sandbox:fiddler sanbox 官方文档
View IE Cache:查看IE浏览器缓存文件夹
New Session Clipboard…:打开一个新的 session 剪贴板,可以把侧边栏中的 session 拖到这个剪贴板中具体来查看
HOSTS:主机重定向工具。若在其中勾选 Enable 框,然后在下面加入 host 配置,点击保存之后,这个配置并不会修改到本地 hosts 中,取消勾选就会失效,若点击 Import Windows Hosts File 将会导入本地的 host 文件内容、
-
View
Show Toolbar:显示工具栏,默认是勾选的
Default Layout:默认 layout,session 在左,请求和响应在右边的上下处
Stacked Layout:session 在上,请求在下方
Wide layout:session 在上,请求和响应在下方的左右处
Tabs:打开标签页面,其中有三个标签可以打开,分别是 Preferences(fiddler 偏好属性),AutoSave(fiddler 自动保存的设置),APITest(api 的测试)
Statistics:查看一个请求的统计数据
Inspectors:嗅探,用来查看会话的内容,上面是请求,下面是响应
Composer:设计构造,在 Composer 中进行请求的修改,可以把 session 框中的数据先清除,然后点击 Composer 中的 Excute 按钮来发送请求,请求出现在 session 框中
Minimize To Tray:最小化托盘
Squish Session List:挤压 session 框
AutoScroll Session List:自动滚动会话列表,默认是勾选此项的,勾选此项后,session 框中的每出现新的 session,session 框中就会不断向下滚动,若不勾选此项,就很方便具体某一个 session 的定位,即使出现了新的 session 也不会自动向下滚动
Refresh:刷新功能,按 F5 刷新
- Help
Help:进入 fiddler 的帮助的网页中
Get Fiddler Book…:fiddler book 的网页
Discussions:fiddler 的讨论网页,这个需要魔法上网
Http Preferences:进入 http preferences 相关网站
Troubleshoot…:会捕获所有请求,对于哪些被过滤的请求用删除线表示出来并给出原因,使用时候会打开一个网页
Get Priority Support…:打开网页购买 fiddler 的优先级服务
Check for Updates…:检查软件更新情况
Send Feedback…:意见反馈
About:当前 fiddler 的相关信息
二、工具栏
WinConfig windows 使用了一种叫做“AppContainer”的隔离技术,使得一些流量无法正常捕获,在 fiddler 中点击 WinConfig 按钮可以解除这个诅咒,这个与菜单栏 Tools→Win8 Loopback Exemptions 功能是一致的
-
此按钮来给选定的 session 添加注释
Replay 重发按钮,选定请求重发按钮
移除按钮,其中有 Remove all 移除所有,Images,CONNECTs,Non-200s,Non-Browser,Complete & Unmarked,Duplicate response bodies,这些都是移除 session 中的这些状态的选项
Go 重跑 sessions,依据断点暂停
Stream流模式是一种实时通信模式,请求之后实时的返回,更接近浏览器真实行为,但 fiddler 默认是缓冲模式而不是流模式
Decode 解码,这里可以将 session 中乱码进行解码方便查看
Keep All sessions All sessions:这里可以保持 session 框中存在多少个 sessions
Any Process 点击此按钮并且拖动到你想要捕获的浏览器从而实现只捕获某个浏览器的请求
Find 查询
Save 保存按钮,保存所有的 session 成 SAZ 文件
-
截图
-
计时功能 手动点击运行,手动点击暂停终止
Browser 打开浏览器来查看响应数据
Clear Cache 清除 WinINET 的缓存,按住 CTRL 键点击可以清除已经存在的 cookies
TextWizard 此工具可以将某一编码过的或者未编码过的字串拿到此处解码和编码,在菜单栏中的 Tools 中也有此项可以打开
Tearoff 此功能用来将右边栏里的请求和响应部分给单独拆成一个新窗口,方便视察
MSDN Search… 在网页版的微软开发中去搜索
-
帮助
-
鼠标悬停显示本机的一些ip信息
-
用来关闭工具栏的按钮,在 View 中选择第一个可以打开工具栏
三、底端状态栏
-
此处与菜单栏中 File→Capture Traffic 效果是一致的,默认底端状态栏此处是有 Caturing,有它才表示 fiddler 捕获请求
All Processes 这里有 All Processes,Web Browsers,Non-Browser,Hide All 几个选项,这个几个选项顾名思义,但要注意的是这些不是筛选当前 session 框中的 session,而是选中需要筛选的状态之后,后面的请求会按照此状态来筛选
数字/数字 第一个数字表示这一个请求,第二个数字表示 session 框中共有多少 session
-
此处显示请求的 url 网址
三、Request 栏
在 request 栏中有 9 个大的标签页,分别是 Inspector,AutoResponder,Composer,Fiddler Orchestra Beta,Fiddler Script,Log,Filters,Timeline,Statistics
这里是查看某个 session 的请求和响应,响应的话专门置为一栏讲解,请求的话又可分为 10 个小的标签页。并且右键点击这 10 个标签页可以查看 Inspector的属性还有诸如 copy as image 和隐藏标签页的功能
-
:这里是请求头中的信息,包括 cache,cookies 等信息,点击右边黄色的 Raw 可以以新窗口的形式来显示原生头信息,而 Header Definitions 可以查看 fiddler 官方的头信息的网页版帮助文档,可能需要魔法上网
-
TextView 方式显示传送过去的请求体数据
-
SyntaxView 方式显示传送过去的请求体数据
-
网页表单方式显示传送过去的请求体数据
-
十六进制视图的方式显示传过去的数据
-
显示请求中的身份认证信息
-
显示该请求的cookies信息
-
显示该原生的请求体
-
json 显示请求
-
xml 显示请求
-
重定向,本机代替服务器发送响应
-
-
这个功能应该还是 beta 测试阶段,暂未开放
-
-
查看 fiddler 的 event log 信息,不同请求的 log 信息应该是一致的,每当更新一次页面,event log 会自动刷新一次,若将上方的 any process 拖动到指定浏览器后,fiddler 会单独记录该浏览器页面的通信信息
-
这个可以用来过滤 session 中的请求
-
-
四、Response 栏
这里包含 13 个小的标签页面,分别是 Transformer,Header,TextView,SyntaxView,ImageView,HexView,WebView,Auth,Caching,Cookies,Raw,JSON,XML-
Transformer:这里显示了响应体的字节数,这里头的 Chunked Transfer-Encoding 和 HTTP Compression 是分块传输编码和 HTTP 压缩技术,这就需要 http 的知识了
Headers:这里可以看到响应头部分,包括 http 的协议,返回状态码,连接情况等
重定向,本机代替服务器发送响应响应体信息SyntaxView:这里返回 SyntaxView 形式的响应体信息
ImageView:如果是返回图片的话这里将有显示,并且左边会显示图片的信息
HexView:这里会显示响应体的十六进制信息
WebView:这里会用网页的形式来显示响应体的信息
Auth:显示身份验证
Caching:显示缓存信息
Cookies:显示 Cookies 信息
Raw:显示原生的响应信息
JSON:响应体中的数据 json 显示
XML:响应体中的数据 XML 显示