So überprüfen Sie, ob ein Socks5-Proxy funktioniert

Gibt es eine einfache Möglichkeit, vorzugsweise mithilfe des Linux-Terminals zu überprüfen, ob ein Socks5-Proxy funktioniert?

Author: harrymc, 2011-06-28

4 answers

Wenn Sie den Proxy selbst erstellt haben, sollten Sie zunächst prüfen, ob ein offener Port vorhanden ist (das Argument p funktioniert nur, wenn der betreffende Prozess Ihnen gehört oder Sie root sind):

netstat -tlnp

Dies sollte Ihnen eine Zeile wie folgt geben: (Ich habe einen Proxy für localhost:8888)

tcp        0      0 127.0.0.1:8888          0.0.0.0:*               LISTEN

Wenn Sie eine solche Zeile gefunden haben oder der Proxy nicht Ihnen gehört, versuchen Sie, Pakete darüber zu senden. Fordern Sie beispielsweise eine Webseite mit curl an:

curl --socks5 localhost:8888 binfalse.de

Sollte einige HTML-Inhalte ausgeben. Hoffe, das hilft bei der Suche nach Fehler machen ;-)


Aux: Für mein Beispiel habe ich den Proxy erstellt über:

ssh -o ServerAliveInterval=60 -D8888 someone@somewhere

Ersetzen Sie someone durch Ihren Benutzernamen und somewhere durch Ihren Zielserver. Natürlich ist die Verwendung von OpenSSH nur eine Methode in einer Reihe möglicher Socks5-Proxys.

 42
Author: binfalse,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2011-06-28 11:16:51

Um curl dazu zu bringen, das DNS auf der anderen Seite aufzulösen, ändern Sie --socks5 mit --socks5-hostname.

Siehe die Manpage für weitere Informationen.

 8
Author: Sindre Svendby,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2013-08-15 08:44:28

Der folgende Befehl prüft, ob Socks 5 Proxy bei localhost:8080 funktioniert:

timeout 5 curl -x socks5://localhost:8080 http://example.com/

Sonst wird es nach 5 Sekunden Timeout. Wenn Sie keinen timeout Befehl haben, löschen Sie ihn.

 5
Author: kenorb,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2019-10-15 08:56:55

Sie können sich mit netcat verbinden und die Regeln von RFC und befolgen, um mit dem Server zu sprechen. Sie müssten jedoch nicht druckbare Zeichen eingeben und lesen oder sie zur weiteren Prüfung in einer Datei protokollieren können.

Um beispielsweise zu testen, ob es sich um einen SOCKS5-Server handelt, und herauszufinden, welche Authentifizierungsmethoden no-auth, gssapi oder usr+pwd unterstützt werden, senden Sie 0x05 0x03 0x00 0x01 0x02. Ein SOCKS5-Server, der für die usr+pwd-Authentifizierung vorbereitet ist, antwortet 0x05 0x02.

Oder hier ist, wie man überprüfen Sie, ob es sich um einen SOCKS5-Server handelt und no-auth (Methode 0) funktioniert:

echo 050100 | xxd -p -r | netcat -o out.txt {server} {port}

Nachdem du das unterbrichtest, gegen Ende von out.txt es sollte 0x05 0x00 erzeugt haben, wenn der Server diese Methode unterstützt (0), oder 0x05 0xFF, wenn dies nicht der Fall ist.

 2
Author: jchevali,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2018-09-28 21:19:46