Existe-t-il un moyen simple, de préférence en utilisant le terminal Linux, de vérifier si un proxy Socks5 fonctionne?
Si vous avez créé le proxy vous-même, vous devez d’abord vérifier s’il ya un port ouvert (l’argument p
ne fonctionne que si le processus concerné est le vôtre ou si vous êtes root):
netstat -tlnp
Cela devrait vous donner une ligne comme: (j'ai un proxy sur localhost:8888
)
tcp 0 0 127.0.0.1:8888 0.0.0.0:* LISTEN
Si vous avez trouvé une telle ligne ou si le proxy ne vous appartient pas, essayez d’envoyer des paquets. Par exemple, demandez une page Web avec curl
:
curl --socks5 localhost:8888 binfalse.de
Devrait sortir des trucs HTML. J'espère que cela aide à rechercher les erreurs ;-)
Aux : Pour mon exemple, j'ai créé le proxy via:
ssh -o ServerAliveInterval=60 -D8888 someone@somewhere
Remplacez someone
par votre nom d'utilisateur et somewhere
par votre serveur de destination. Bien sûr, utiliser OpenSSH n’est qu’une méthode parmi un groupe de proxies socks5 possibles.
Pour que curl résolve le DNS de l'autre côté, changez --socks5
avec --socks5-hostname
.
Voir la page de manuel pour plus d'informations.
La commande suivante vérifiera si le proxy Socks 5 fonctionne à localhost:8080
:
timeout 5 curl -x socks5://localhost:8080 http://example.com/
Sinon, le délai expire au bout de 5 secondes.
Vous pouvez vous connecter avec netcat et suivre les règles de RFC 1928 pour parler au serveur. Vous devez cependant être capable de taper et de lire des caractères non imprimables, ou de les enregistrer dans un fichier pour un examen plus approfondi.
Par exemple, pour vérifier s'il s'agit d'un serveur SOCKS5 et savoir laquelle des méthodes d'authentification sans autorisation, gssapi ou usr + pwd elle prendrait en charge, envoyez 0x05 0x03 0x00 0x01 0x02. Un serveur SOCKS5 prêt à utiliser l’authentification usr + pwd répondrait 0x05 0x02.
Ou voici comment vérifier si c'est un serveur SOCKS5 et que no-auth (méthode 0) fonctionne:
echo 050100 | xxd -p -r | netcat -o out.txt {server} {port}
Une fois que vous avez interrompu cela, vers la fin de out.txt, il aurait dû produire 0x05 0x00 si le serveur prend en charge cette méthode (0) ou 0x05 0xFF s'il ne le fait pas.