Есть ли способ переадресации только TCP-пакетов, направляющихся в пункт назначения XYZ и номер порта NN на номер порта 127.0.0.1 9150?
Я на винде.
Спасибо
Это может работать (в Windows 7+с установленным стеком IPv6, даже если это IPv4):
netsh interface portproxy
add v4tov4 listenport=NN listenaddress=XYZ
connectport=9150 connectaddress=127.0.0.1
Если это не так (я не уверен, должен ли адрес прослушивания быть одним из зарегистрированных интерфейсов), вам может потребоваться перехватить весь трафик на порт NN; это почти наверняка сработает, но это не совсем то, что вы просили, и не сработает, если вы хотите перехватить порт NN, а не, скажем, порт NN+1.
netsh interface portproxy
add v4tov4 listenport=NN listenaddress=0.0.0.0
connectport=9150 connectaddress=127.0.0.1
Вы также можете попробовать услугу Рували. Это кажется более гибким, но, очевидно, не рекомендуется в пользу самого netsh
.