Fiddler
Fiddler能够记录所有客户端和服务器的http和https请求,允许监视,设置断点,还可以修改输入输出数据。对于手机端用户来说,也可以设置手机代理连接到Fiddler,对手机应用进行抓包分析。
一、如何抓包:
注:为了确保发送和捕获所有请求,在开始捕获之前需要清除浏览器的缓存。
1.捕获从浏览器发出的http请求
在捕获来自大多数浏览器的请求时,只要开启捕获功能就可以了。File>Capture Traffic (快捷键F12),主要捕获从浏览器发送到http://localhost或http://127.0.0.1的请求
2.捕获从浏览器发出的https请求
目前为了保证网路安全,大部分应用都会使用https协议进行传输数据,fiddler只有在安装安全证书后才能捕获https请求。
- 点击 Tools>Fiddler Options>HTTPS
- 勾选 Decrypt HTTPS traffic
要拦截HTTPS请求,Fiddler将生成唯一的根证书。
配置Windows端以信任Fiddler根证书以禁止安全警告。
3.捕获从移动设备发出的http请求
在移动互联网时代,移动端的数据交换模式一般情况下都是以接口形式进行的,fiddler除了可以捕获到从浏览器发起的请求,也可以很方便的捕获从移动设备发起的各种情求。
配置Fiddler
- 点击Tools > Fiddler Options > Connections
- 勾选Allow remote computers to connect 设置允许远程计算机连接
- 重新启动Fiddler
- 检查防火墙设置允许Fiddler连接
- 将鼠标悬停在Fiddler工具栏最右侧的Online图标上,会显示分配给Fiddler机器的IP地址。
- iOS设备可以通过在浏览器中导航到http://10.168.11.81:8888来访问Fiddler。 调用成功后会显示fiddler服务页面
- 需要手机与fiddler所在电脑保持同一网段
设置iOS设备代理
- 进入手机设置 > 无线局域网后,点击当前连接无线后面的问号标识,进入无线详情页面后,在HTTP代理处选择手动,在服务器、端口处输入fiddler地址及正在监听的端口号(默认为8888)。
设置android设备代理
进入手机设置 > WLAN设置,长按已连接的无线局域网络,在弹出的浮层中选择修改网络
进入无线详情页面后,在HTTP代理处选择手动,在服务器、端口处输入fiddler地址及正在监听的端口号(默认为8888)。
4.捕获移动设备的HTTPS请求
- 下载fiddler Certificate Maker插件。
插件地址:http://www.telerik.com/fiddler/add-ons
- 安装证书制作插件
- 重启fiddler
- 重新配置安装Fiddler允许远程计算机连接,信任Fiddler根证书。
- 在移动设备浏览器中输入http:// Fiddler机器的IP地址:8888, 点击FiddlerRoot certificate进行证书安装。
- Fiddler就可以正常抓取https请求了
二、查看请求内容
区域A显示了请求的摘要信息
区域B Inspectors显示了请求内容
区域C中可以查看请求Headers、Cookies、请求内容等信息
区域D中可以查看响应请求的Headers、Cookies、以及响应内容体