5

Есть ли простая команда для запуска в терминале Linux, чтобы определить, является ли прокси SOCKS или HTTP?

4 ответа4

3

А потом просто пытаться, если это SOCKS или HTTP, нет, вы не можете.

Чтобы проверить, является ли это http-прокси:

set http_proxy = http://1.0.0.1:8080 
wget --proxy=on http://www.google.com/

Это загрузит html-корень Google, и если у него будет правильное содержание, вы знаете, что это был http-прокси.

3

Вы можете проверить, какой из соответствующих портов открыт (например, используя telnet). Носки обычно используют порт 1080, HTTP обычно использует 80, 443, 8443 или 8080.

0

На моей виртуальной машине SLES11 я запускаю socklist и grep для порта:

dev-s11:~ # socklist | grep 22
tcp 22 21112 0 4345 3 sshd
tcp 22 10473174 0 32616 3 sshd

Это говорит мне, управляется ли он через ssh или нет. Если вы используете порты по умолчанию, http будет 80 и SSH 22. Это поможет вам начать - спросите больше вопросов, если вам нужно больше подробностей.

0

Используйте следующую команду оболочки с curl для проверки:

ip=127.0.0.1
port=8080
(timeout 2 curl -x socks5://$ip:$port -qs -o/dev/null http://example.com/ && printf "socks5\t$ip\t$port\n") \
|| (timeout 2 curl -x socks4://$ip:$port -qs -o/dev/null http://example.com/ && printf "socks4\t$ip\t$port\n") \
|| (timeout 2 curl -x http://$ip:$port -qs -o/dev/null http://example.com/ && printf "http\t$ip\t$port\n")

Для полного сценария проверьте файл check_proxies.sh.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .