我想使用iptables将我的机器上的所有OUTGOING HTTP请求路由到在同一台机器上运行的mitmdump,然后再路由到原始目的地。
我正在使用这个iptables规则,但似乎它不起作用:
$ sudo iptables -t nat -A OUTPUT -p tcp --dport 80 -j DNAT --to-destination 127.0.0.1:8080
有人可以解释一下为什么它不是正确的解决方案,实现这个目标的正确方法是什么?
答案 0 :(得分:2)
使用iptables的所有者模块解决:
<fieldset ng-disabled="inactive"> ... input fields ...</fieldset>
然后以root身份启动mitmdump。或者更好地为mitmdump创建一个新用户,并用用户的uid替换0。
答案 1 :(得分:0)
根据http://docs.mitmproxy.org/en/stable/transparent/linux.html,您希望将这些规则添加到PREROUTING表中:
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 443 -j REDIRECT --to-port 8080