简短版本:
在OS X Mountain Lion(10.8)中启用Internet共享后,如何将所有流量从en2端口80/443重定向到127.0.0.1:8080?
一些背景:
我正在做一篇硕士论文,我将在此评估各种智能手机应用程序的通信安全性。我选择使用新的MacBook Air作为路由器。
我已通过USB以太网将Air连接到Internet,并将Internet共享设置为Wifi。这很好。我可以通过wifi将其他设备连接到Air并访问Internet。大!
现在,我想拦截此流量并即时对其进行修改。我认为我需要一个代理来执行此操作,但是我需要一个透明的代理,无需在设备上进行任何配置。我发现mitmproxy恰好提供了这些功能。所以我让它运行在127.0.0.1:8080上,准备拦截流量。
不幸的是,我一直试图将来自端口80和443上的wifi(en2)的流量重定向到127.0.0.1:8080。mitmproxy文档建议为pfctl配置,但它不起作用。我注意到Apple为Internet共享提供了一些配置,从而启用了NAT。因此,如果我不使用它们的配置,则Internet共享将停止工作。当我尝试将rdr行添加到它们的配置中时,它没有生效(尝试在文件/etc/pf.conf中的几个位置)。我的流量只是绕过mitmproxy传递到了Internet。