Fiddler

简介

  • Fiddler 是用C#编写的,包含基于JScript.NET事件脚本子系统,支持http调试任务,能用.net框架语言扩展。
  • fiddler是一个代理服务器。代理地址:127.0.0.1 端口号:8888

工作原理

alt

当浏览器向服务器请求数据时,被fiddler截获,截获后再发送给服务器,当服务器像浏览器响应数据时,同样会被fiddler截获,然后再发送给浏览器,所有我们能够在fiddler中看到请求的报文和响应的报文。

关闭fiddler,代理服务器会自动取消。如果fiddler非正常退出,因为fiddler没有自动注销,可能会造成网页无法访问。需要重启fiddler。

使用

应用

  • Fiddler是位于客户端和服务端的http代理。
  • Fiddler是常用的抓包工具之一。
  • Fiddler是web调试器。

菜单栏介绍

  • Capture Traffic:可以控制是否把fiddler注册为系统代理。
  • New Viewer:打开一个新的fiddler窗口。
  • Load Archive:用于重新加载之前捕获的以SAZ文件格式保存的数据包。
  • Save:支持以多种方式把数据包保存到文件中。
  • Import Sessions…:支持导入从其他工具捕获的数据包,也支持导入其他格式存储的数据包。
  • Export Sessions…:把fiddler捕捉到的回话以多种文件格式保存。
  • Exit:取消把fiddler注册为系统代理,并关闭fiddler。

Edit菜单

  • Copy:复制会话。
  • Remove:删除会话。
  • Select All :选择所有会话。
  • Undelete:撤销删除会话。
  • Paste as Session:把剪切板上的内容粘贴成一个或多个模拟的会话。
  • Mark:选择一种颜色标记选中会话。
  • Unlock for Editing:解锁会话。
  • Find Session…打开Find Session窗口,搜索捕获到的数据包。

Rules菜单

  • Hide Image Request:隐藏图片会话。
  • Hide COUNNECTS:隐藏连接通道回话。
  • Automatic Breakpoints:自动在[请求前]或[响应后]设置断点。Ignore Image触发器控制这些断点是否作用于图片请求。
  • Customize Rules…:打开fiddler脚本编辑窗口。
  • Require Proxy Authentication:要求客户端安装证书。该规则可以用于测试http客户端,确保所有未提交Proxy-Authorization请求头的请求会返回http/407响应码。
  • Apply GZIP Encoding:只要请求包含具有gzip标识的Accept-Encoding请求头,就会对所有响应使用GZIP HTTP进行压缩。
  • Remove All Enoding:删除所有请求和响应的http内容编码和传输编码。
  • Hide 304s:隐藏响应为http/304 Not Modified状态的所有回话。
  • Request Japanese Content:选项会把所有请求的Accept-Encoding请求头设置或替换为ja表示,表示客户端希望响应以日语形式发送。
  • User-Agents:把所有请求的User-Agent请求头设置或替换成指定值。
  • performance:模拟弱网测试速度。

Tools菜单

  • Option…:打开fiddler选项窗口。
  • WinINET Options…:打开IE的Internet属性窗口。
  • Clear WinINET Cache:清空IE和其他应用中所使用的WinINET缓存中的所有文件。
  • Clear WinINET Cookies:清空IE和其他应用中发送的WinINET Cookie。
  • TextWizard…:选项会启动TextWizard窗口,对文本进行编码和解码。
  • Compare Session:比较回话。
  • Reset Script:重置fiddler脚本。
  • Sandbox:打开/sandbox/。
  • View IE Cache:打开ie缓存窗口。

View菜单

  • Show Toolbar:控制fiddler工具栏是否可见。
  • Default Layout、Stacked Layout、Wide Layout三种界面布局。
  • Minimize to Tray:最小化fiddler到系统托盘。
  • Squish Session List:控制回话列表是否水平收缩。
  • AutoScroll Session list:添加新的回话时,自动滚动到会话列表底部。

fiddler回话列表详情

alt

  1. 请求的ID编号
  2. http响应状态码
  3. 会话使用协议
  4. 请求发送到的服务器主机名
  5. 数据包在服务器中路径和文件
  6. 响应body的字节数
  7. 响应头信息Cache-Control的值
  8. 响应头信息Content-Type的值
  9. 发起请求的本地windows进程
  10. 注释
  11. 自定义备注

fiddler命令行工具详解

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

cls:清屏

select:选择所有相应类型的回话

?sometext:查找字符串并高亮显示查找到的会话

“>size”:选择请求响应大小小于size自己的会话

=status/=method/@host:查找状态、方法、主机相应对应的会话

1uit:退出fiddler

bpafter xxx:中断URL包含指定字符的全部回话响应

bps xxx:中断http响应状态为指定字符的全部回话响应

bpv xxx:中断指定请求方式的全部回话响应

bpm xxx:中断指定请求方式的全部回话响应。等同于bpv xxx

bpu xxx:与bpafter类似

fiddler状态栏详解

alt