Я работаю 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
на TCP
порту 4000 на всех интерфейсах ничего не отображается.