Come verificare se un proxy Socks5 funziona


36

C'è un modo semplice, preferibilmente utilizzando il terminale Linux, per verificare se un proxy Socks5 funziona?

Risposte:


40

Se hai creato il proxy da solo, devi prima verificare se esiste una porta aperta (l' pargomento funziona solo se il processo in questione è tuo o sei root):

netstat -tlnp

Questo dovrebbe darti una riga come: (Ho un proxy acceso localhost:8888)

tcp        0      0 127.0.0.1:8888          0.0.0.0:*               LISTEN

Se hai trovato una tale linea o il proxy non è tuo, prova a inviare pacchetti attraverso di essa. Ad esempio, richiedere una pagina Web con curl:

curl --socks5 localhost:8888 binfalse.de

Dovrebbe produrre alcune cose HTML. Spero che questo aiuti a cercare errori ;-)


Aux : Per il mio esempio ho creato il proxy tramite:

ssh -o ServerAliveInterval=60 -D8888 someone@somewhere

Sostituisci someonecon il tuo nome utente e somewherecon il tuo server di destinazione. Ovviamente l'utilizzo di OpenSSH è solo un metodo in un gruppo di possibili proxy di socks5.


1
ssh: Impossibile risolvere il nome host da qualche parte: Nome o servizio non noto
tony_sid

6
Ovviamente devi sostituire il someone@somewheretuo nome utente e il tuo server, ad esempio ssh -D8888 YOURUSER@YOURHOST;-)
binfalse il

Su Windows, il comando netstat è: nestat -an o netstat -an | grep LISTENse hai grep nel tuo percorso.
Erik Aronesty,

Grazie per il curlsuggerimento. FWIW, curl supporta anche ciò --socks5-hostnameche è simile --socks5ma non tenta di risolvere localmente il nome host dell'URL inviato (che può essere super utile per connettersi alle reti Intranet).
kostix,

7

Per ottenere l'arricciatura per risolvere il DNS dall'altra parte, cambiare --socks5con --socks5-hostname.

Vedi la pagina man per maggiori informazioni.


Grazie, non ho capito perché la mia richiesta non fosse andata a buon fine fino all'utilizzo.
xamox,

4

Il seguente comando verificherà se il proxy Socks 5 funziona su localhost:8080:

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

In caso contrario, scadrà dopo 5 secondi. Se non hai un timeoutcomando, rilascialo.


2

È possibile connettersi con netcat e seguire le regole di RFC 1928 per parlare con il server. Dovresti essere in grado di digitare e leggere caratteri non stampabili, o di registrarli in un file per un ulteriore esame.

Ad esempio, per verificare se si tratta di un server SOCKS5 e scoprire quali dei metodi di autenticazione no-auth, gssapi o usr + pwd supportano, inviare 0x05 0x03 0x00 0x01 0x02. Un server SOCKS5 pronto a utilizzare l'autenticazione usr + pwd risponderebbe 0x05 0x02.

Oppure ecco come verificare se si tratta di un server SOCKS5 e no-auth (metodo 0) funziona:

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

Dopo averlo interrotto, verso la fine di out.txt avrebbe dovuto produrre 0x05 0x00 se il server supporta quel metodo (0) o 0x05 0xFF in caso contrario.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.