fiddler 的基本原理是会启动一个 http 代理服务器,通过该代理服务器的流量会被自动解析。fiddler 的代理服务器默认监听 127.0.0.1:8888 端口,设置 Allow remote 可以让它监听 0.0.0.0:8888 ,这样手机流量也可以被 fiddler 窃听。
fiddler 默认会设置系统的代理属性 https_proxy, http_proxy。在 Windows
fiddler 带 filter 功能,通过设置filter可以隐藏无意义的流量。
image.png

访问 127.0.0.1

fiddler 会自动绕过 URL 的 Host 为回环地址(如 127.0.0.0/16)的请求,fiddler 建议你[1]用 http://ipv4.fiddler 来访问,这样就不会自动绕过。
另一个方案是修改 hosts,windows 的 hosts 在 C:\Windows\System32\drivers\etc 目录下,Linux 在 /etc/hosts 目录下。

开源替代方案: mitmproxy[2]

mitmproxy 是一套开源的 http/https 抓包工具。
以中间CA私钥 > 中间CA公钥 > 根CA公钥的顺序拼装 mitmproxy-ca.pem 放在 ~/.mitmproxy 中,mitmproxy 会自动用它来签发证书。

参考文献

[1]: https://docs.telerik.com/fiddler/observe-traffic/troubleshooting/notraffictolocalhost
[2]: https://docs.mitmproxy.org/stable/