Я бы хотел, чтобы мое приложение .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 должен подключиться.