Como posso saber se um proxy é SOCKS ou HTTP usando um comando no terminal?

Como posso saber se um proxy é SOCKS ou HTTP usando um comando no terminal?

Existe um comando simples para executar em um terminal Linuxpara saber se um proxy é SOCKS ou HTTP?

Responder1

Você pode verificar qual das portas relevantes está aberta (por exemplo, usando telnet). Socks geralmente usa a porta 1080, HTTP geralmente usa 80, 443, 8443 ou 8080.

Responder2

Além de tentar se é SOCKS ou HTTP, não, você não pode.

Para testar se é um proxy http:

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

Isso fará o download da raiz html do google e, se tiver conteúdo correto, você saberá que era um proxy http.

Responder3

Use o seguinte comando shell para curlverificar:

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")

Para o script completo, verifiquecheck_proxies.sharquivo.

Responder4

Na minha VM SLES11, executo sockliste greppara a porta:

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

Isso me diz se é gerenciado por ssh ou não. Se você estiver usando portas padrão, http será 80 e ssh 22. Isso o ajudará a começar - pergunte mais perguntas se precisar de mais detalhes.

informação relacionada