
Я хотел бы узнать, возможно ли реализовать переадресацию портов в стиле NAT в Windows? Предпочтительнее использовать собственное (входящее в состав ОС) решение, но сторонний инструмент тоже подойдет.
Допустим, я хочу переслать TCP 127.0.0.1:8080
на 127.0.0.1:80
. Но порт 8080
уже открыт другим приложением, которое не может быть закрыто, порт жестко запрограммирован в нем и не может быть изменен. Конечная цель — подключиться к приложению, которое слушает 80
при подключении через 127.0.0.1:8080
, и оставить это другое приложение открытым.
Под переадресацией портов в стиле NAT я подразумеваю метод, который изменяет номер порта в сетевых пакетах, как это делает iptables. Используя iptables, я могу выполнить задачу следующим образом: iptables -t nat -A OUTPUT -o lo -p tcp --dport 8080 -j REDIRECT --to-port 80
.
Решения, прослушивающие порт, такие как SSH или NETSH ( netsh interface portproxy add v4tov4 listenaddress=127.0.0.1 listenport=8080 connectaddress=127.0.0.1 connectport=80
), не подойдут, поскольку порт уже используется.