fiddler抓包12

课程大纲

原理

正常“客户端-服务器”通信,即发送请求,接收返回。

Fiddler抓包:请求和响应都会从Fiddler通过,Fiddler可以捕获并展示。

Fiddler抓包是「客户端-浏览器」进行交互时,请求和响应都会从Fiddler通过,Fiddler可以捕获并展示。

请求前断点:Fiddler拦截、修改请求,再发给服务器。

请求前断点(BreakPoint Before Request):请求发出后,Fiddler拦截、修改请求,直到点击放行按钮,再发给服务器。

应用场景

1. 测试接口:验证后端服务功能,如前端禁止输入空,拦截后篡改成空,看服务器是否有空参限制。

2. 测试前端:抓包,篡改请求为异常,看客户端接收特定服务器返回的效果(如手机app是否会崩溃)。

按照作用范围分为2种:单个断点、全局断点。

1. 单个断点

① 开启断点:fiddler命令行输入:bpu https://www.baidu.com - 回车。(加不加协议“https://”都可以)

② 拦截请求并查看:

百度输入搜索关键字“tuxiaomao” - 点击“百度一下” - fiddler左侧列表,选中请求 - 点击右侧标签菜单“WebForms”。

(可以看到,被打断点的请求前有个红色的icon。同时,网站处于等待响应的状态。)

③ 篡改请求参数并发送请求:

字段"wd"内容“tuxiaomao”,改为“七宝”- 点击下方按钮“Run to Completion”释放请求到服务器。

(请求列表会恢复正常状态,红色拦截icon消失)

④ 查看请求响应:请求右侧 - 上部请求区“WebForms”- 下部响应区“WebView”- 浏览器。

网页显示的搜索结果,是篡改后关键字的结果——“七宝。”

Fiddler

浏览器

⑤ 取消断点:

fiddler命令行,输入命令“bpu ” - 回车。

取消断点,不再拦截请求。

【一点说明】

1.拦截的站点看层级,如bpu后跟baidu.com、www.baidu.com、https://www.baidu.com,都是拦截百度主域名,子域(如image.baidu.com)也会拦截。

反之,如果拦截的是子域名“image.baidu.com”,不拦截父级域名(如www.baidu.com)和同级域名(如zhidao.baidu.com)。

2.Fiddler列表底栏会显示拦截的站点,可筛选显示哪种程序上的请求。

2. 全局断点

① 开启断点:快捷键点击F11,或界面操作如下。

② 拦截请求并查看:所有请求都会被拦截。

③ 篡改请求参数并发送请求:可以修改请求任意部分 - 点击下方按钮“Run to Completion”释放请求到服务器;

④ 查看请求响应:请求右侧 - 上部请求区“WebForms”- 下部响应区“WebView”- 浏览器;

⑤ 取消断点:点击 “sihft + F11”,或界面操作如下。