-A PREROUTING -s 10.0.10.0/24 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 8080
-A PREROUTING -s 10.0.10.0/24 -p tcp -m tcp --dport 443 -j REDIRECT --to-ports 8080
-A POSTROUTING -s 10.0.10.0/24 -o eth0 -j MASQUERADE
COMMIT
上面的代码是我用来在 Linux 中转发流量的代码。
现在我需要在 Mac OSX 10.8 中做同样的事情,如果有必要的话。
所以这里是交易。
之前,我使用代理连接到 Linux 机器,并且使用该代理,我能够使用 mitmproxy 监控流量
现在,在 Mac 上,我使用内置的互联网共享,并想使用仅监听端口 8080 的内容的 mitmproxy。
bridge0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
ether ac:de:48:81:1d:4a
inet 192.168.2.1 netmask 0xffffff00 broadcast 192.168.2.255
Configuration:
priority 0 hellotime 0 fwddelay 0 maxage 0
ipfilter disabled flags 0x2
member: en0 flags=3<LEARNING,DISCOVER>
port 5 priority 0 path cost 0
以上就是我认为需要转发的“共享连接”。
答案1
假设你所有的网络流量请求都来自192.168.2.0/24
一个接口bridge0
添加以下规则/etc/pf.conf
rdr pass on bridge0 inet proto tcp from 192.168.2.0/24 to any port http -> 127.0.0.1 port 8080
rdr pass on bridge0 inet proto tcp from 192.168.2.0/24 to any port https -> 127.0.0.1 port 8080
快速提示
测试 pf.conf 是否存在语法错误
pfctl -v -n -f /etc/pf.conf
应用/重新加载规则
pfctl -f /etc/pf.conf
这是一个备忘单适用于 OS X pfctl。