我正在尝试在 OSX 上设置代理来拦截流量。我发现这样做的本机方法是使用pfctl并使用透明代理工具,如mitmproxy或Burp Suite。Mitmproxy 在他们的文档中有一章介绍如何使用 pfctl 设置 Mac,对于 Burp Suite,您可以找到此说明。但是,这些都没有显示 mitmproxy 或 burp 中的流量。
我的 /etc/pf.conf
scrub-anchor "com.apple/*"
nat-anchor "com.apple/*"
rdr-anchor "com.apple/*"
rdr-anchor "forwarding"
dummynet-anchor "com.apple/*"
anchor "com.apple/*"
load anchor "com.apple" from "/etc/pf.anchors/com.apple"
load anchor "forwarding" from "/etc/pf.anchors/forwarding"
和我的 /etc/pf.anchors/forwarding (en0 是我的工作 wifi 适配器)
rdr log (all) on en0 inet proto tcp to any port 80 -> 127.0.0.1 port 8080
rdr log (all) on en0 inet proto tcp to any port 443 -> 127.0.0.1 port 8080
我也在设置
▶ sudo sysctl -w net.inet.ip.forwarding=1
▶ sudo sysctl -w net.inet6.ip6.forwarding=1
这些命令可以正常工作而不会引发错误
▶ sudo pfctl -vnf /etc/pf.conf
▶ sudo pfctl -evf /etc/pf.conf
这是另一个相关问题,但由于我在 Sierra,答案不适用于我。