¿Cómo puedo saber si un proxy es SOCKS o HTTP usando un comando en la terminal?

¿Cómo puedo saber si un proxy es SOCKS o HTTP usando un comando en la terminal?

¿Existe un comando simple para ejecutar en una terminal de Linux?para saber si un proxy es SOCKS o HTTP?

Respuesta1

Puede comprobar cuál de los puertos relevantes está abierto (por ejemplo, usando telnet). Socks suele utilizar el puerto 1080, HTTP suele utilizar el 80, 443, 8443 u 8080.

Respuesta2

Aparte de intentarlo si es SOCKS o HTTP, no, no puedes.

Para probar si es un proxy http:

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

Esto descargará la raíz html de Google y, si tiene el contenido correcto, sabrá que era un proxy http.

Respuesta3

Utilice el siguiente comando de shell con curlpara comprobar:

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 ver el guión completo, consultecheck_proxies.sharchivo.

Respuesta4

En mi máquina virtual SLES11, ejecuto socklisty greppara el puerto:

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

Eso me dice si está administrado por ssh o no. Si está utilizando puertos predeterminados, http será 80 y ssh 22. Eso lo ayudará a comenzar; haga más preguntas si necesita más detalles.

información relacionada