Назад | Перейти на главную страницу

Как туннелировать локальный порт через прокси-сервер?

У меня есть программа, не поддерживающая прокси, которая мне нужна для работы через прокси-сервер HTTP. Программа (MYPROG), запущенная на машине, которую я могу настроить по своему желанию (MYSRV), подключается к определенному серверу (DESTSRV) через определенный порт (DESTPRT). Существует существующий прокси-сервер HTTP (PROXYSRV: PROXYPRT), который будет пропускать трафик, если MYPROG поддерживает прокси, но это не так.

Есть ли способ прослушивать локально определенный порт и перенаправлять трафик через прокси-сервер? Я могу полностью настроить, куда указывает MYPROG, так что я мог бы указать его на MYSRV: 4545 с мыслью, что какая-то чудо-программа перенаправит данные в DESTSRV: DESTPRT через PROXYSRV: PROXYPRT. Я думаю, что IP Tables или netcat могли бы помочь, если бы я только мог их понять ...

Спасибо!

Что касается экспедитора портов, я бы, вероятно, использовал socat для этого, чтобы использовать переменные вашего примера, это будет выглядеть примерно так:

socat tcp-listen:4545,fork,reuseaddr proxy:PROXYSRV:DESTSRV:DESTPRT,proxyport=PROXYPRT

И man socat разумеется, заполню все детали, которые я забыл.

Перенаправитель портов может помочь.