¿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 curl
para 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.sh
archivo.
Respuesta4
En mi máquina virtual SLES11, ejecuto socklist
y grep
para 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.