我正在Debian 8
上运行iptables
。
我有以下规则:
iptables -t mangle -A PREROUTING -p tcp --dport 5000 -j TPROXY --tproxy-mark 0x1/0x1 --on-port 4000
我只是想将所有与目标端口5000相连的流量重定向到端口4000。
在我的情况下,标准iptables
REDIRECT
不可用,因为它会更改数据包并更改原始目标端口。
看着iptables -t mangle -nvL
,我看到规则被打了
Chain PREROUTING (policy ACCEPT 5056 packets, 13M bytes)
pkts bytes target prot opt in out source destination
12 720 TPROXY tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:5000 TPROXY redirect 0.0.0.0:4000 mark
0x1/0x1
但是我在端口4000
上运行的服务无法拦截数据包。
我有一个简单的NodeJS
应用程序,监听端口TCP
上的所有4000
,但没有收到任何packets
:
server.listen(4000, () => { console.log('listening on 4000'); });
此外,在所有接口上的wireshark
端口4000上运行TCP
不会显示任何内容。