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


36

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

Antworten:


40

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

netstat -tlnp

Dies sollte Ihnen eine Zeile geben wie: (Ich habe einen Proxy auf localhost:8888)

tcp        0      0 127.0.0.1:8888          0.0.0.0:*               LISTEN

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

curl --socks5 localhost:8888 binfalse.de

Sollte etwas HTML-Zeug ausgeben. Hoffe das hilft bei der Fehlersuche ;-)


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

ssh -o ServerAliveInterval=60 -D8888 someone@somewhere

Ersetzen Sie someonedurch Ihren Benutzernamen und somewheredurch Ihren Zielserver. Natürlich ist die Verwendung von OpenSSH nur eine Methode in einer Reihe möglicher socks5-Proxys.


1
ssh: Hostname konnte nicht irgendwo aufgelöst werden: Name oder Dienst nicht bekannt
tony_sid

6
Natürlich müssen Sie someone@somewhereIhren Benutzernamen und Ihren Server ersetzen , zB ssh -D8888 YOURUSER@YOURHOST;-)
binfalse

Unter Windows lautet der Befehl netstat: nestat -an oder netstat -an | grep LISTENSie haben grep in Ihrem Pfad.
Erik Aronesty

Danke für den curlHinweis. FWIW, Curl unterstützt auch, --socks5-hostnamewas ähnlich ist --socks5, aber nicht versucht, den Hostnamen der übergebenen URL lokal aufzulösen (was für die Verbindung mit Intranets sehr nützlich sein kann).
Kostix

7

Ändern Sie --socks5mit, um eine Locke zum Auflösen des DNS auf der anderen Seite zu erhalten --socks5-hostname.

Weitere Informationen finden Sie auf der Manpage .


Vielen Dank, ich habe erst bemerkt, warum meine Anfrage fehlgeschlagen ist, als ich sie verwendet habe.
xamox

4

Mit dem folgenden Befehl wird geprüft, ob der Socks 5-Proxy funktioniert localhost:8080:

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

Andernfalls tritt nach 5 Sekunden eine Zeitüberschreitung auf. Wenn Sie keinen timeoutBefehl haben, lassen Sie ihn fallen.


1

Sie können eine Verbindung mit Netcat herstellen und die Regeln von RFC 1928 befolgen, um mit dem Server zu kommunizieren. Sie müssen jedoch in der Lage sein, nicht druckbare Zeichen einzugeben und zu lesen oder sie zur weiteren Prüfung in einer Datei zu protokollieren.

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

So können Sie überprüfen, 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 Sie dies unterbrochen haben, sollte es gegen Ende von out.txt 0x05 0x00 ergeben haben, wenn der Server diese Methode (0) unterstützt, oder 0x05 0xFF, wenn dies nicht der Fall ist.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.