fiddler -- 一个强大的抓包工具

一、fiddler常用功能:

1. Fiddler 是位于客户端和服务器端的http代理,也是目前最常用的http抓包工具之一。它能够记录客户端和服务器之间的所有http请求,可以针对特定的http请求,分析请求数据、设置断点、调试web应用、修改请求的数据,甚至可以修改服务器返回的数据,功能非常强大,是web调试的利器。

既然是代理,也就是说,客户端的所有请求都要先经过fiddler,然后转发到相应的服务器,反之,服务器端的所有响应,也都会先经过fiddler然后发送到客户端,基于这个原因,fiddler支持所有可以设置http代理为127.0.0.1:8888的浏览器和应用程序。使用了fiddler之后,web客户端和服务器的请求如下所示:

2. fiddler界面如下:

3. Inspectors Tab下可以查看request的消息

1) Header : 查看header 2) WebForms:以直观的界面查看body的值以及Query String的值 3)Cooikes : 以直观的界面查看header中cookie的值 4) Raw : 可以查看完整的消息结构

4. Statistics:统计当前的会话信息,可获得整个页面加载所消耗的总体时间,从条形图标中可以分别出哪些请求耗时最多,以便于对页面的访问进行访问速度优化

5. Fiddler左下角有个命令行工具QuickExec,可以直接输入命令,常见的命令有:

① help:打开官方的使用页面介绍,所有的命令都会列出来 ② cls :清屏(Ctrl + X)③ select :选择会话的命令 ④ ?.png :用来选择.png后缀的图片⑤ bpu :截获request

6. fiddler中设置断点修改request:

① 方法一:打开fiddler,点击Rules ->Automatic Breakpoint ->before Requests (这种方法会中断所有会话),消除命令:点击Rules ->Automatic Breakpoint ->Disabled

② 方法二:在命令行中输入命令:bpu www.baidu.com (这种方法只会中断www.baidu.com),消除命令:在命令行中输入bpu,bpm

7. fiddler中设置断点修改response:

① 方法一:点击Rules ->Automatic Breakpoint ->after Response (这种方法会中断所有会话),消除命令:点击Rules ->Automatic Breakpoint ->Disabled

② 方法二:在命令行中输入命令:bpafter www.baidu.com(这种方法只会中断www.baidu.com),消除命令:在命令行中输入bpafter

8.fiddler常用断点命令:

bpafter xxx :中断URL包含指定字符的全部session响应(或者bpu xxx)

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

bpv xxx :中断指定请求方式的全部session(或者bpm xxx)

go命令 :可以使得当前的请求跳过断点

9. 查询会话:Ctrl + F

10 . 保存会话 :选择想要保存的会话,点击File ->Save ->Selected sessions

11. fiddler模拟各种浏览器,可以点击菜单Rules -> User ->Agents

12. fiddler的Fiter功能使用:

①选择fiter ->选择 show only the following Hosts 选项,下方输入需要抓的url,点击Actions

② 在Composer中选择请求方法,输入url,选择http版本,点击Execute,点击Inspectors按钮以及JSON按钮,查看url的对应的接口以及返回的JSON文件,获取接口(没有接口文档的情况下可以用来抓取接口)

③ 想要抓取HTTPS的请求,需要浏览器安装证书,从fiddler中导出证书,然后打开浏览器导入证书

④ 检查代理设置,勾选对所有协议均使用相同的代理服务器

二、fiddler实现手机的抓包:

1. 手机抓包的前提:安装fiddler的电脑与手机app在同一网络中 

2. 配置fiddler,允许远程连接

①打开fiddler,Tools ->Fiddler Options ->Connections ->勾选Allow remote computers to connect,允许其他设备将http / https请求发送到fiddler上来

② 选择HTTPS ->勾选HTTPS CONNECTS 

3. 手机设置代理

① cmd -> ipconfig 查出电脑ip,并在手机上设置手动代理,输入电脑ip,端口号:8888并保存

② 要想抓取HTTPS请求,手机还需要安装证书,手机浏览器访问:http://电脑ip:8888,点击FiddlerRoot certificate安装证书即可

③ 点击手机中的设置 ->通用 ->关于本机 ->证书信息设置(信任)

原文地址:https://www.cnblogs.com/annie1226/p/10758520.html