Você pode verificar qual das portas relevantes está aberta (por exemplo, usando telnet). Meias geralmente usa porta 1080, HTTP geralmente usa 80, 443, 8443 ou 8080.
Existe um comando simples para executar em um terminal Linux para dizer se um proxy é SOCKS ou HTTP ?
Você pode verificar qual das portas relevantes está aberta (por exemplo, usando telnet). Meias geralmente usa porta 1080, HTTP geralmente usa 80, 443, 8443 ou 8080.
Outro então apenas tentando 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ê sabe que era um proxy http.
Na minha VM SLES11, executo socklist
e grep
para 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 irá ajudá-lo - pergunte mais Qs se precisar de mais detalhes.
Use o seguinte comando shell com curl
para verificar:
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, verifique check_proxies.sh
file .