Есть ли простой способ, предпочтительно с помощью терминала Linux, проверить, работает ли прокси-сервер Socks5?
36
Если вы создали прокси-сервер самостоятельно, вы должны прежде всего проверить, существует ли открытый порт ( p
аргумент работает только в том случае, если соответствующий процесс принадлежит вам или вы являетесь пользователем root):
netstat -tlnp
Это должно дать вам строку вроде: (У меня есть прокси localhost:8888
)
tcp 0 0 127.0.0.1:8888 0.0.0.0:* LISTEN
Если вы нашли такую линию или прокси не ваш, попробуйте отправлять через нее пакеты. Например, запрос веб-страницы с curl
:
curl --socks5 localhost:8888 binfalse.de
Должен выводить некоторые вещи HTML. Надеюсь, что это помогает искать ошибки ;-)
Aux : Для моего примера я создал прокси через:
ssh -o ServerAliveInterval=60 -D8888 someone@somewhere
Замените someone
своим именем пользователя и somewhere
вашим сервером назначения. Конечно, использование OpenSSH - это всего лишь один из множества возможных прокси-серверов socks5.
someone@somewhere
своим именем пользователя и вашим сервером, напримерssh -D8888 YOURUSER@YOURHOST
;-)nestat -an
илиnetstat -an | grep LISTEN
если у вас есть grep на вашем пути.curl
подсказку. FWIW, curl также поддерживает--socks5-hostname
что-то вроде,--socks5
но не пытается локально разрешить имя хоста отправленного URL-адреса (что может быть очень полезно для подключения к интрасетям).Чтобы получить curl для разрешения DNS на другой стороне, измените
--socks5
с помощью--socks5-hostname
.Смотрите man-страницу для получения дополнительной информации.
источник
Следующая команда проверит, работает ли прокси Socks 5
localhost:8080
:В противном случае время ожидания истечет через 5 секунд. Если у вас нет
timeout
команды, отбросьте ее.источник
Вы можете подключиться к netcat и следовать правилам RFC 1928, чтобы общаться с сервером. Вы должны были бы иметь возможность печатать и читать непечатаемые символы или записывать их в файл для дальнейшего изучения.
Например, чтобы проверить, является ли он сервером SOCKS5, и выяснить, какой из методов аутентификации no-auth, gssapi или usr + pwd он будет поддерживать, отправьте 0x05 0x03 0x00 0x01 0x02. Сервер SOCKS5, подготовленный для использования аутентификации usr + pwd, ответит 0x05 0x02.
Или вот как проверить, работает ли сервер SOCKS5 и работает ли no-auth (метод 0):
После того, как вы прервете это, к концу out.txt он должен был выдать 0x05 0x00, если сервер поддерживает этот метод (0), или 0x05 0xFF, если это не так.
источник