fiddler使用
fiddler使用
1. fiddler教程
1.1. 原理
Fiddler 是以代理web服务器的形式工作的,这一点跟wireshark有点区别。它使用代理地址:127.0.0.1,端口:8888。当Fiddler退出的时候它会自动注销,这样就不会影响别的程序。不过如果Fiddler非正常退出,这时候因为Fiddler没有自动注销,会造成网页无法访问。解决的办法是重新启动下Fiddler。
对于chrome它是无需手动设置就可以抓包,而360浏览器等并不会自动修改配置(猜的,反正chrome挺好用的)。
1.2. 界面解说-左侧
左侧是抓到的包列表,图标含义如下:
名称 |
含义 |
# |
抓取HTTP Request的顺序,从1开始,以此递增 |
Result |
HTTP状态码 |
Protocol |
请求使用的协议,如HTTP/HTTPS/FTP等 |
Host |
请求地址的主机名 |
URL |
请求资源的位置 |
Body |
该请求的大小 |
Caching |
请求的缓存过期时间或者缓存控制值 |
Content-Type |
请求响应的类型 |
Process |
发送此请求的进程:进程ID |
Comments |
允许用户为此回话添加备注 |
Custom |
允许用户设置自定义值 |
图标 |
含义 |
请求已经发往服务器 |
|
已从服务器下载响应结果 |
|
请求从断点处暂停 |
|
响应从断点处暂停 |
|
请求使用 HTTP 的 HEAD 方法,即响应没有内容(Body) |
|
请求使用 HTTP 的 POST 方法 |
|
请求使用 HTTP 的 CONNECT 方法,使用 HTTPS 协议建立连接隧道 |
|
响应是 HTML 格式 |
|
响应是一张图片 |
|
响应是脚本格式 |
|
响应是 CSS 格式 |
|
响应是 XML 格式 |
|
响应是 JSON 格式 |
|
响应是一个音频文件 |
|
响应是一个视频文件 |
|
响应是一个 SilverLight |
|
响应是一个 FLASH |
|
响应是一个字体 |
|
普通响应成功 |
|
响应是 HTTP/300、301、302、303 或 307 重定向 |
|
响应是 HTTP/304(无变更):使用缓存文件 |
|
响应需要客户端证书验证 |
|
服务端错误 |
|
会话被客户端、Fiddler 或者服务端终止 |
1.3. 界面解说-右上
上层是应用信息,包括脚本,日志,过滤器,时间线图示;
二层是统计信息,包查看器,应答模块,请求模块,后面的是一个支持更多功能的接口,一般不使用。
1.4. 界面解说-右下
这里是包的内容,上层是请求,下层是应答。
有一些格式化展示标签可供选择,常用的有headers/textview/imageview/cookies/raw/json
1.5. filter
有两种过滤器zone和host:
zone按内网/外网过滤;
host按域名过滤。
1.6. Fiddler 设置解密HTTPS的网络数据
Fiddler可以通过伪造CA证书来欺骗浏览器和服务器,大概原理就是在浏览器面前Fiddler伪装成一个HTTPS服务器,而在真正的HTTPS服务器面前Fiddler又装成浏览器,从而实现解密HTTPS数据包的目的。
解密HTTPS需要手动开启,依次点击:
- Tools –> Fiddler Options –> HTTPs
- 勾选Decrypt HTTPS Traffic
- 点击OK
会有一些证书信任的弹出,确认即可。
1.7. 抓手机的包
原理类似,也是通过代理来抓包的。
- 需要fiddler设置一个代理端口,默认是8888;
- 电脑设置wifi;
- 在手机上连接wifi,ip和port设为(电脑ip,8888);
- 可以抓包了。
注意:文档提到需要安装证书才能抓包,但实测中ipad没有这一步,直接可以抓到app的数据包;
安装证书:将 Fiddler 代理服务器的证书导到手机上才能抓这些 APP 的包。导入的过程:打开浏览器,在地址栏中输入代理服务器的 IP 和端口(即电脑的IP加fiddler的端口),会看到一个Fiddler 提供的页面,然后确定安装就好了
1.8. 参考文档
https://www.cnblogs.com/yyhh/p/5140852.html
https://www.cnblogs.com/woaixuexi9999/p/9247705.html