本文根据 全网最全最细Fiddler抓包工具,没有之一【柠檬班】 整理所得后端
1. Fiddler 介绍
- Fiddler 是位于客户端和服务端之间的 HTTP 代理
- 目前最经常使用的 HTTP 抓包工具之一
-
功能很是强大,是 Web 调试的利器浏览器
- 监控浏览器全部的 HTTP / HTTPS 流量
- 查看、分析请求的内容细节
- 伪造客户端请求和服务器响应
- 测试网站性能
- 解密 HTTPS 的 Web 会话
- 全局、局部断点功能
- 第三方插件
-
使用场景缓存
- 接口调试、接口测试、线上环境调试、Web 性能分析
- 判断先后端 bug、开发环境 hosts 配置、mock 假数据、弱网断网测试
2. 工做原理

3. 安装
略。安全
3. 界面介绍

3.1 菜单栏
- 设置代理端口:Tools > Options > Connections > 修改 Fiddler listens on port 值便可
- 隐藏创建通道的链接:Rules > Hide CONNECTs(经常使用)
- 隐藏 304 会话:Rules > Hide 304s(经常使用)
3.2 工具条
从左到右按顺序服务器
- WinConfig:略
- 气泡(对话框)图标:添加备注,在 File > Save 保存会话给别人看的时候有用
- Replay:重发选中的请求(快捷键 r),同时按住 shift 能够重复发屡次
- × 图标:删除会话,快捷键 ctrl + x 删除全部会话
- Go:在会话进入断点时恢复会话
- Stream:流模式,通常不用
- Decode:对全部会话解码
- Keep:保留会话条数,例如 100 条、250 条等等
- 瞄准图标:按住不放,而后将“十字图标”拖动到想要监听的进程,好比拖到 Chrome 浏览器,那么就只会捕捉到 Chrome 的请求
- Find:快捷键 ctrl + f
- Save:保存当前会话为一个 .saz 后缀的文件
- 相机图标:截图
- 时钟图标:计时器,右键取消
- IE 图标:快速打开浏览器
- Clear Cache:清除 IE 浏览器缓存
- TextWizard:打开转码工具
- Tearoff:拆分面板
- 搜索框:进入 https://social.msdn.microsoft...
- 电脑图标:显示本机网络信息
3.3 监控面板(会话列表)
展现了 Fiddler 抓取到的每条 HTTP 请求,每一条称为一个 session,每条 session 都包含了网络
- #:序号,按照页面加载顺序递增
- Result:状态码
- Protocal:协议,如 HTTP、HTTPS
- Host:域名
- URL:请求地址
- Body:请求大小,单位为 byte
- Caching:缓存相关信息
- Content-Type:MIME 类型
- Process:发出该请求的进程
- Comments:备注
- Custom:用户经过脚本设置的自定义值
3.4 命令行 + 状态栏
3.4.1 命令行
命令行帮助文档 session
3.4.2 状态栏
从左到右按顺序ide
- Capturing:正在捕捉请求中,点一下就能够取消捕捉
- 筛选不一样进程发出的会话
- 断点,点一下在发起请求以前进入断点,点两下在请求响应响应以后进入断点
- 略
- 附加信息
3.5 辅助标签 + 工具
3.5.1 Statistics(统计)
请求的性能和其余数据分析,如 DNS 解析时间,创建 TCP/IP 链接的时间等工具
3.5.2 Inspectors(检查器)
能够以不一样的格式(Headers、TextView、Raw 等等)查看请求报文和响应报文性能
3.5.3 AutoResponder(自动相应器)
拦截某一请求,而后进行以下操做
- 使用 Fiddler 内置的响应
- 自定义响应
- 重定向到本地的资源
能够拦截 js 文件制做钓鱼网站或者 mock 假数据
比方说,项目在正式环境出了问题,直接在正式环境修改代码是不合理的,此时就能够用 AutoResponder 将请求拦截,而后重定向到指定的响应内容
Fiddler 具体设置以下
- 勾选 Enable rules
- 勾选 Unmatched requests passthrough
- 点击 Add Rule
- 在 Rule Editor 输入要拦截的地址
- 在 Rule Editor 选择要采起的响应
- 点击 Save
3.5.4 Composer(创做者)
简单的接口测试工具
3.5.5 Filter(过滤器)
多维度的过滤规则,包括
Fiddler 具体设置
- 勾选 Use Filters(记得取消勾选)
- 勾选好过滤条件
- 点击右上角(Use Filters 右边)的 Actions > Run filterset now
4. 断点
- 能够在请求前篡改请求数据
- 能够在响应后篡改响应数据
- 模拟网络超时的状况
Fiddler 具体设置
- 全局断点:Rules > Automatic Breakpoints > Before Requests 或者 After Responses(也能够直接在最下面的状态栏设置,3.4.2 有介绍)
-
局部断点
- 请求前断点:在下面的命令行处输入 bpu login,便可将请求中带有 login 的请求中断,再次输入 bpu 取消断点
- 响应后断点:在下面的命令行处输入 bpafter login,便可将请求中带有 login 的请求中断,再次输入 bpafter 取消断点
5. 弱网测试
Fiddler 具体设置:Rules > Performance > Simulate Modem Speeds
还能够自定义限速的状态,具体操做:
- Rules > Customize Rules
- 在代码中搜索“if (m_SimulateModem) {”,找到后修改里面的数值便可(记得要勾选 Rules > Performance > Simulate Modem Speeds)
5. HTTPS 抓包
Fiddler 具体操做:Tools > Options > HTTPS > 勾选 Decrypt HTTPS traffic
若是仍是不能抓取 HTTPS 请求,执行下面操做:
- Tools > Options > HTTPS > Actions > 点击 Reset All Certificates,而后一直点肯定来安装 fiddler 证书
- 而后 Tools > Options > HTTPS > Actions > 点击 Open Windows Certificate Manager 打开管理计算机证书界面
- 在 Windows 的管理计算机证书界面,点击操做 > 查找证书 > 搜索 fiddler,能查找到相应的证书即设置成功
5.1 Firefox 设置(IE 和 Chrome 执行上述操做便可)
- Firefox 右上角 > 选项(或者地址栏输入 about:preferences) > 找到网络设置(不一样版本可能的位置不同),选中“使用系统代理设置”
- Fiddler > Tools > Options > HTTPS > Actions > 点击 Export Root Certificate to Desktop 导出证书到桌面
- Firefox 右上角 > 选项 > 找到证书模块,点击查看证书 > 选择证书机构 > 点击导入,选择第 2 步的证书,而后将提示框中的选项都勾中,点击肯定,重启 Firefox 便可
6. 抓 iOS 设备中的 App 的包
- Fiddler > Tools > Options > Connections > 勾选 Allow remote computers to connect
- Fiddler > Tools > Options > HTTPS > 勾选 Capture HTTPS CONNECTS 和勾选 Decrypt HTTPS traffic
- 将 iOS 设备和电脑链接 WiFi 并设置代理,服务器填写电脑 IP,端口填写 Fiddler 设置的端口(Tools > Options > Connections > Fiddler listens on port)
- iOS 设备使用浏览器打开 192.168.1.103:8888(电脑 IP 和 Fiddler 设置的端口),而后点击 FiddlerRoot certificate 进行安装操做
- 安装成功后,iOS 设备设置 > 通用 > 关于本机 -> 证书信任设置中信任刚安装的 Fiddler 证书便可
- 记得关闭代理
7. 抓 Android 设备中的 App 的包
- 同 iOS 设备
- 同 iOS 设备
- 同 iOS 设备
- 同 iOS 设备
- 安装后,在(华为手机,其余安卓机相似)设置 > 安全 > 受信任的凭据 > 选择用户,查看是否有 Fiddler 的证书,若是有即设置成功了。若是没有,则在设置 > 安全 > 从 sd 卡安装 > 安装刚刚下载的证书便可
- 记得关闭代理
8. 其余问题