Як перевірити, чи працює проксі-сервер Socks5


36

Чи є простий спосіб, бажано за допомогою терміналу Linux, перевірити, чи працює проксі-сервер Socks5?

Відповіді:


40

Якщо ви створили проксі самостійно, слід, перш за все, перевірити, чи є відкритий порт ( 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.


1
ssh: Не вдалося десь вирішити ім’я хоста: ім’я чи послуга невідомі
tony_sid

6
Звичайно, вам доведеться замінити someone@somewhereсвоє ім’я користувача та ваш сервер, наприклад ssh -D8888 YOURUSER@YOURHOST;-)
binfalse

У Windows команда netstat - це: nestat -an або netstat -an | grep LISTENякщо у вас є шлях.
Ерік Аронесті

Дякую за curlпідказку. FWIW, curl також підтримує --socks5-hostnameподібне, --socks5але не намагається локально вирішити ім'я хоста поданої URL-адреси (що може бути дуже корисним для підключення до інтрамереж).
kostix


4

Наступна команда перевірить, чи працює проксі-сервер Socks 5 localhost:8080:

timeout 5 curl -x socks5://localhost:8080 http://example.com/

В іншому випадку воно закінчиться через 5 секунд. Якщо у вас немає timeoutкоманди, киньте її.


1

Ви можете з'єднатися з netcat та дотримуватися правил RFC 1928, щоб поговорити з сервером. Вам потрібно буде вводити та читати символи, що не друкуються, або записувати їх у файл для подальшого вивчення.

Наприклад, щоб перевірити, чи це сервер SOCKS5, і з’ясувати, який із методів аутентифікації no-auth, gssapi або usr + pwd він би підтримував, надішліть 0x05 0x03 0x00 0x01 0x02. Сервер SOCKS5, готовий використовувати автентифікацію usr + pwd, відповів би 0x05 0x02.

Або ось, як перевірити, чи це сервер SOCKS5 і чи не працює автомат (метод 0):

echo 050100 | xxd -p -r | netcat -o out.txt {server} {port}

Після того як ви перервете це, до кінця out.txt він повинен був створити 0x05 0x00, якщо сервер підтримує цей метод (0), або 0x05 0xFF, якщо він не працює.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.