常见抓包工具
- Wireshark:以ip地址形式显示数据交互,难用
- Charles:支持pc、移动端抓包,使用体验一般
- Fiddler:支持pc、移动端抓包,功能强大、方便好用,推荐
下载
Everywhere版收费,下载 Classic 经典版即可,下载时填的邮箱可以乱填
下载地址:https://www.telerik.com/download/fiddler
抓取https数据包
Tools -> Options -> HTTPS
信任证书
抓手机数据包
1、Tools -> Options -> Connections
Fiddler默认使用 8888 端口,可根据需要修改。
2、cmd 执行 ipconfig 查看本机 ipv4 地址
3、手机打开wifi,连接到同一局域网(手机、电脑必须在同一局域网,不然抓不到手机的数据包)。
并在连接的wifi中手动设置代理,填入电脑ip地址、fiddler端口
4、手机浏览器访问 电脑ip地址:8888
,下载fiddler根证书 FiddlerRoot certificate,并在wifi设置中安装该证书。
拦截、修改请求
1、设置断点为向服务器发起请求前
2、发起请求
3、修改请求
如果需要修改响应,可以点击Break on Response,在获取响应后打断点进行拦截修改。
4、操作后需要将第一步中的断点设置为 Disabled 禁用,不然会一直拦截所有的请求。
拦截、修改响应
方式一 设置响应断点
会拦截所有http请求的响应,偏死板,而我们通常只需要修改其中一两个http请求的响应,不太方便,不推荐使用。
1、设置断点为从服务器获取响应后
2、发起请求
3、修改响应
4、操作后需要将第一步中的断点设置为 Disabled 禁用。
方式二 自动响应(推荐)
十分灵活,可以根据匹配规则拦截特定http请求的响应;可以使用预定义的响应码,十分方便,推荐使用。
Inspectors -> 响应 -> Raw 复制全部响应数据到txt之类的文本文件中,根据需要修改、保存响应内容。
设置响应数据从文件中读取
- 拦截时需要url完全相同才会被拦截,即get请求方式需要url携带的数据也相同才会被拦截。
- 第三步如果未勾选 放行不匹配的请求,则会拦截所有请求。
- 操作后需要取消勾选 Enable rules。
常用快捷键
Ctrl+X #清除全部请求
常见问题
如果不知道如何解决,可以查看、复制 fiddler 错误日志,百度一下
fiddler抓不到任何数据包
如果确信配置没问题,可能是以下2个原因
- Fiddler权限不够,无法设置windows系统代理,可以尝试以管理员身份运行Fiddler;
- 挂着梯子,可以断开、关闭梯子后再试。
关闭fiddler后电脑无法上网
可能是关闭fiddler时 fiddler权限不够,不能关闭fiddler的系统代理,可以尝试以管理员身份重新运行、关闭fiddler。