Ответы:
Если вы создали прокси-сервер самостоятельно, вы должны прежде всего проверить, существует ли открытый порт ( 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-страницу для получения дополнительной информации.
Вы можете подключиться к netcat и следовать правилам RFC 1928, чтобы общаться с сервером. Вы должны были бы иметь возможность печатать и читать непечатаемые символы или записывать их в файл для дальнейшего изучения.
Например, чтобы проверить, является ли он сервером SOCKS5, и выяснить, какой из методов аутентификации no-auth, gssapi или usr + pwd он будет поддерживать, отправьте 0x05 0x03 0x00 0x01 0x02. Сервер SOCKS5, подготовленный для использования аутентификации usr + pwd, ответит 0x05 0x02.
Или вот как проверить, работает ли сервер SOCKS5 и работает ли no-auth (метод 0):
echo 050100 | xxd -p -r | netcat -o out.txt {server} {port}
После того, как вы прервете это, к концу out.txt он должен был выдать 0x05 0x00, если сервер поддерживает этот метод (0), или 0x05 0xFF, если это не так.