安装
1、fiddler(下载classic版本,免费)工具下载网址:http://www.telerik.com/download/fiddler。
2、运行 FiddlerSetup.exe一键完成安装。
3、安装成功后点击关闭按钮,所选路径下多出一个Fiddler文件夹
4、运行fiddler.exe。
原理
Fiddler 是以代理web服务器的形式工作的,它使用代理地址:127.0.0.1,端口:8888,能支持HTTP代理的任意程序的数据包都能被Fiddler嗅探到,Fiddler的运行机制其实就是本机上监听8888端口的HTTP代理。当Fiddler退出的时候它会自动注销,这样就不会影响别的 程序。不过如果Fiddler非正常退出,这时候因为Fiddler没有自动注销,会造成网页无法访问。解决的办法是重新启动下Fiddler。
配置
1、配置端口和允许远程计算机连接(Tools-options-connections)
2、配置https数据包抓取(Tools-options-https)
会弹出配置https证书,全部选是完成配置
界面功能
顶部菜单
- 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:视图
- show toolbar:开启工具栏
- Autoscroll session list:设置会话区在抓取时是否自动滑动。
- 其他的主要是对布局方式的设置,包括菜单栏是否显示、界面的显示方式。
- Help:帮助
工具栏
statistics:统计选择请求的性能
inspectors:显示请求响应的参数(请求头、body等)
autoresponder:进行请求修改、重定向
composer:模拟接口请求,简单的接口测试
fiddlerscript:显示脚本内容
log:操作日志
filters:设置过滤
timeline:显示多个请求瀑布流
inspectors
- 请求参数显示区
- 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中设置断点的两种方式
before response:这个是打在request请求的时候,未到达服务器之前
after response:也就是服务器响应之后,在Fiddler将响应传回给客户端之前。
全局断点
Fiddler最强大的功能莫过于设置断点了,设置好断点后,你可以修改httpRequest 的任何信息包括host, cookie或者表单中的数据。
rules -> automatic breakpoint -> before requests
单个断点
例如要对http://example.com
打断点,那么就在命令行输入
bpu http://example.com
取消断点在命令行输入bpu
就可以了