一、Fiddler 介绍
1.功能特点
Fiddler是一个http协议调试代理工具,Fiddler 够记录客户端和服务器之间的所有HTTP请求,可以针对特定的HTTP请求,分析请求数据、设置断点等。
在打开Fiddler的时候,它就自动设置好了浏览器的代理,通过改写HTTP代理,让数据从它那通过,来监控并且截取到数据。当关闭Fiddler的时候,它又自动帮你把代理还原。
2.下载安装
直接去Fiddler的官网下载即可。地址:http://www.telerik.com/fiddler
二、http 请求抓取
1.Fiddler 启动后就自动开始工作了。
使用浏览器随便访问几个页面,左侧区域就会将捕获的结果显示出来。
通过点击左下角的"Capturing"可以关闭/开启抓包功能。
2.查看请求内容
双击某个会话请求,在右侧的 Inspectors 选项卡中可以查看该会话的内容,上半部分是请求的内容,下半部分是响应的内容。
3.fiddler过滤请求(两种方式)
1.Hosts-域名过滤
点击 Fiters 选项卡,勾选左上角的 Use Filters 即可开启过滤器。下方有两个最常用的过滤条件:Zone 和 Host:
- Zone:指定只显示内网(Intranet) / 互联网(Internet)的内容
- Host:隐藏 / 显示 / 标记某个域名下的会话
点击Actions--Run Filterset now 运行过滤器
2.Client Process-进程过滤
勾选Client Process,选择客户端进程。点击Actions--Run Filterset now 运行过滤器
三、https 请求抓取
Fiddler 可以通过伪造 CA 证书来欺骗浏览器和服务器,从而实现解密 HTTPS 数据包的目的。大概原理就是在浏览器面前 Fiddler 伪装成一个 HTTPS 服务器,而在真正的 HTTPS 服务器面前 Fiddler 又装成浏览器。
1.点击菜单栏 Tools -> Options
2.点击HTTPS ,勾选Capture HTTPS CONNECTS(捕获https连接)和 Decrypt HTTPS traffic(解密HTTPS流量) ;
Ignore server certificate errors (忽略服务器证书错误 不安全);
3. 勾选 Connections 选项卡中的“Allow remote computers to connect”允许远程连接。
- 勾选后如果要求重启 Fiddler,重启一下。
- 默认代理端口是 8888,一般不需要需要修改。
4.成功抓取https请求:
四、移动端http/https请求抓包
1.连接内网WiFi,将手机端的代理服务器主机名设为PC端的IP,代理服务器端口设为Fiddler上配置的端口8888,点"保存"。
2. 接着打开手机浏览器,访问 PC 的地址+端口
3. 在打开的页面中点击“FiddlerRoot certificate”,下载并安装证书。
4. 安装完了证书,使用用手机访问应用,就可以看到截取到的数据包了