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

Как использовать socat в качестве прокси-сервера?

Я бы хотел, чтобы мое приложение .NET использовало прокси-сервер, который я знаю, за исключением того, что .net не поддерживает sock4a / sock5. Я знаю, как настроить свое приложение, но как мне настроить socat для прослушивания в качестве TCP-прокси на порту 1234 и использовать сервер socks5 на 127.0.0.1:5678?

Он должен пересылать все TCP-соединения. Раньше мне повезло с Privoxy, но он поддерживает только HTTP-соединения.

PS: Я работаю в Windows, но команды должны быть такими же, как в Linux

Вы не указали целевой хост, к которому хотите подключиться через SOCKS-сервер. Я использовал google.com на порту 80 в этом примере.

socat TCP-LISTEN:1234,fork SOCKS4A:127.0.0.1:google.com:80,socksport=5678

В TCP-LISTEN адрес - это порт для прослушивания подключений из приложения .NET. 1234 это, очевидно, номер порта, а fork опция позволяет выполнить несколько подключений. В SOCKS4A адрес - это SOCKS-сервер и целевой хост для подключения. (Если вы не хотите, чтобы сервер SOCKS выполнял изменение разрешения DNS SOCKS4A к SOCKS4.) 127.0.0.1 это адрес сервера SOCKS, а socksport Опция указывает порт сервера SOCKS. google.com:80 - это хост и порт назначения, к которому сервер SOCKS должен подключиться.