
У меня есть программа, не поддерживающая прокси, которую мне нужно заставить работать через HTTP-прокси-сервер. Программа (MYPROG), запущенная на машине, которую я могу настроить по своему желанию (MYSRV), подключается к определенному серверу (DESTSRV) на определенном порту (DESTPRT). Существует существующий HTTP-прокси-сервер (PROXYSRV:PROXYPRT), который пропустит трафик, если MYPROG поддерживает прокси, но это не так.
Есть ли способ прослушивать локально на определенном порту и пересылать трафик через прокси-сервер? Я могу полностью настроить, куда указывает MYPROG, так что я могу указать на MYSRV:4545 с мыслью, что какая-то чудо-программа перенаправит данные на DESTSRV:DESTPRT через PROXYSRV:PROXYPRT. Я думаю, что IP-таблицы или netcat могли бы сделать это, если бы я только мог разобраться с ними...
Спасибо!
решение1
С точки зрения переадресации портов, я бы, вероятно, использовал socat
для этого, используя ваш пример переменных, это выглядело бы примерно так:
socat tcp-listen:4545,fork,reuseaddr proxy:PROXYSRV:DESTSRV:DESTPRT,proxyport=PROXYPRT
И man socat
, конечно же, восполню любые детали, которые я забыл.
решение2
Переадресация портов может помочь.