bgc*_*ode 8 macos proxy networking portforwarding mitmproxy
我正在尝试在我的Mac OS X Lion(10.7.5)上设置透明代理,因此我可以使用mitmproxy(拦截来自Android应用程序的SSL流量).我按照mitmproxy文档中的步骤在Mac OS X上使用pf设置端口转发,它们都没有任何错误:
$ sudo sysctl -w net.inet.ip.forwarding=1
Password:
net.inet.ip.forwarding: 0 -> 1
$ sudo pfctl -f pf.conf
No ALTQ support in kernel
ALTQ related functions disabled
$ sudo pfctl -e
No ALTQ support in kernel
ALTQ related functions disabled
pf enabled
Run Code Online (Sandbox Code Playgroud)
但它似乎没有任何影响.当我在浏览器中访问网站时,它会发出直接请求,并且不会通过我指定的端口.这是pf.conf文件(en1是我的wifi):
rdr on en1 inet proto tcp to any port 80 -> 127.0.0.1 port 4500
rdr on en1 inet proto tcp to any port 443 -> 127.0.0.1 port 4500
Run Code Online (Sandbox Code Playgroud)
小智 3
感谢您今天访问 IRC 频道。我已经查明了这一点,基本问题是 rdr 规则适用于入站流量。这意味着它们不会重定向来自盒子本身的流量。如果你仔细想想,这是不可避免的:我们无法区分来自非 mitmproxy 应用程序的出站连接和来自 mitmproxy 本身的出站连接。我们可以使用route-to将流量发送到lo0,然后重定向它,但这会导致无限循环,其中mitmproxy自己的出站连接也被重定向回mitmproxy。
因为我对您的用例有所了解,所以我建议探索使用 VirtualBox 来实现此目的的方法。攻击计划是将 VirtualBox 网络设置为桥接模式,然后使用与源地址匹配的 pf 规则将流量重定向到 mitmproxy。这应该做你想要的,并且不会由于无限重定向而导致时间和空间上的奇点。
如果您需要进一步帮助,请再次访问 IRC 频道。
| 归档时间: |
|
| 查看次数: |
6822 次 |
| 最近记录: |