一、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安装证书即可
③ 点击手机中的设置 ->通用 ->关于本机 ->证书信息设置(信任)