![Пересылка TCP-пакетов по месту назначения и номеру порта](https://rvso.com/image/1438135/%D0%9F%D0%B5%D1%80%D0%B5%D1%81%D1%8B%D0%BB%D0%BA%D0%B0%20TCP-%D0%BF%D0%B0%D0%BA%D0%B5%D1%82%D0%BE%D0%B2%20%D0%BF%D0%BE%20%D0%BC%D0%B5%D1%81%D1%82%D1%83%20%D0%BD%D0%B0%D0%B7%D0%BD%D0%B0%D1%87%D0%B5%D0%BD%D0%B8%D1%8F%20%D0%B8%20%D0%BD%D0%BE%D0%BC%D0%B5%D1%80%D1%83%20%D0%BF%D0%BE%D1%80%D1%82%D0%B0.png)
Есть ли способ пересылать только TCP-пакеты, направляющиеся в пункт назначения XYZ и порт номер NN, на порт 127.0.0.1 номер 9150?
У меня Windows.
Спасибо
решение1
Это может сработать (на Windows 7+,с установленным стеком IPv6, даже если это IPv4):
netsh interface portproxy
add v4tov4 listenport=NN listenaddress=XYZ
connectport=9150 connectaddress=127.0.0.1
Если это не так (я не уверен, должен ли listenaddress быть одним из зарегистрированных интерфейсов), вам, возможно, придется перехватывать весь трафик на порт NN; это почти наверняка сработает в общем случае, но это не совсем то, что вы просили, и это не сработает, если вы хотите перехватить порт NN, нонет, скажем, порт NN+1.
netsh interface portproxy
add v4tov4 listenport=NN listenaddress=0.0.0.0
connectport=9150 connectaddress=127.0.0.1
Вы также можете попробоватьСлужба Рували. Он кажется более гибким, но, по-видимому, устарел в пользу netsh
самого себя.