抓包工具之Fiddler(详解)
Fiddle简介
Fiddler是最强大最好用的Web调试工具之一,它能记录所有客户端和服务器的http和https请求,允许你监视,设置断点,甚至修改输入输出数据,Fiddler包含了一个强大的基于事件脚本的子系统,并且能使用.net语言进行扩展。
你对HTTP协议越了解,你就能越掌握Fiddler的使用方法.你越使用Fiddler,就越能帮助你了解HTTP协议。
Fiddler无论对开发人员或者测试人员来说,都是非常有用的工具。
Fiddler的官方网站:www.fiddler2.com
Fiddle安装
请先选择版本下载,双击即可安装。
工作原理
Fiddler是以代理web服务器的形式工作的,它使用代理地址:127.0.0.1, 端口:8888. 当运行Fiddler时会自动设置代理,退出的时候它会自动注销代理,不会影响别的程序。不过如果Fiddler非正常退出,这时候因为Fiddler没有自动注销,会造成网页无法访问。解决的办法是重新启动下Fiddler。
常见使用环境
工具条常用功能
工具栏从左到右按钮功能分别为:
1.增加备注——选中某个会话,点击按钮,可对会话添加备注
2.回放按钮——选中某个会话,点击按钮,回放对该会话的请求。快捷键为R
3.清空监控面板
4.调试Debug
5.模式切换——在流模式和缓冲模式之间切换,默认缓冲模式
6.解压请求——将HTTPS的请求解压,以便查看
7.保持会话——考虑电脑性能,自行选择
8.过滤请求——按下按钮不放,选择要捕获的软件进程,松开按钮,即可捕捉到该软件发出的所有请求
9.查找——点击,输入想查找的会话
10.保存会话
11.保存截图
12.计时器
13.快速启动浏览器
14.清除缓存
15.编码/解码
状态栏操作
1.上面黑色区域为控制台,用于输入命令。
2.下面从左到右分别为:
(1)控制Fiddler是否工作——图标出现:表示Fiddler工作;图标消失:表示Fiddler不工作
(2)过滤会话来源
(3)记录当前展示的会话数量
(4)会话的详细地址
监控面板使用
左侧框中常见项:
"#"列:表示记录来自服务器端的请求会话
"Result"列:表示会话状态
"Protocol"列:表示协议
"Host"列:表示主机地址/域名
右侧框中常见项:
"Statistics"项:表示请求的性能指标
"Show Chart"项:表示可视化
"Inspectors"项:表示对请求解包
"AutoResponder"项:表示文件代理
"Composer"项:表示前后端接口连调
"Log"项:表示记录log日志
"Timeline"项:表示网站性能分析
文件、文件夹代理和HOST配置
HOST配置
这个功能主要作用就是不需要每次配置hosts都到windows目录下去修改hosts文件;可以直接方便在fiddler界面里面配置即可;方便快速的配置自己的测试host。
步骤如下:Tools》HOSTS》激活Enable功能》选择服务器IP,修改要配置的Host的IP》save》刷新可启用
文件、文件夹代理
选中文件,拖入AutoResponders界面》精准匹配》选择本地文件》保存即可生效
请求模拟,前后端接口调试
网速限制
方法一:
Fiddle提供了一个功能,让我们模拟低速网路环境…启用方法如下:Rules → Performances → Simulate Modem Speeds (如下图)
方法二:
Fiddler也可以自己定义Modem Speeds.点开Rules → Customize Rules (如下图)
此时,如果没有安装FiddleScript插件,会弹出提示安装,点击确认即可安装;如果有安装插件,会弹出CustomRules.js的代码,找m_SimulateModem这个字,你会找到下面这段:
这就是他模拟网路速度的原理,每上传/下载1KB 要delay 多久。如果你习惯用kbps 去算的话,那么我们的算法就是 1000/下载速度 = 需要delay的时间(毫秒),比如50kb/s 需要delay200毫秒来接收数据。
请注意,当你存档之后,原本已经勾选的Simulate Modem Speeds 会被取消勾选,要记得再到Rules → Performances → Simulate Modem Speeds 勾选,这样限制网速就成功了。
常用插件
插件官方下载地址:www.telerik.com/fiddler/add-ons。Fiddle也支持第三方插件。
以下推荐几款插件:
1.代码格式化插件:JavaScript Formatter。安装完重启,右击会话,选择“Make JavaScript Pretty”,即可。如下图。
2.对比会话插件:Traffic Differ。安装完重启,可在“监控面板”右侧找到“Differ”选项,点击,拖动多个会话即可对比信息。如下图。
常见命令
help //打开官方的使用页面介绍 select //选择会话命令 ?.png //用来选择png后缀的图片 cls //清屏 (Ctrl+x 也可以清屏) bpu //截获request
使用场景:
1.查看执行某些域名的请求记录
一、步骤
切换到fiddler右侧窗口的Filters选项卡,勾选顶部的“Use Filters”,找到Hosts区域,设置以下三个选项:
1.第一项有三个选项,不做更改:
“No zone filter”
“Show Only Intranet Hosts”
“Show Only Internet Hosts”
2.第二个选项是只监控以下网址,如只监控百度,在下面的输入框里填上 www.baidu.com
“No Host Filter”不设置hosts过滤
“Hide The Following Hosts”隐藏过滤到的域名
“Show Only The Following Hosts”只显示过滤到的域名
“Flag The Following Hosts”标记过滤到的域名
3.文本框内输入需要过滤的域名,多个域名使用”;“分号分割。添加域名后,需要点击下图2位置的保存变更,fiddler默认会检查http头中设置的host,强制显示http地址中的域名
4.点击3位置的Actions-Run Filterset now
5.访问抓包即可
修改请求参数与请求响应: https://www.cnblogs.com/banml/p/12055322.html