Come fa check.torproject.org a sapere se stai usando Tor?

41

Sto osservando i risultati del seguente URL e vorrei sapere come fa il sito web del Tor Project a "sapere" che Tor viene usato o meno.

link

Avrei impostato uno sniffer di pacchetti, ma poiché non sono un nodo di uscita non sono sicuro che ciò farebbe molta differenza.

    
posta random65537 04.03.2012 - 03:04
fonte

3 risposte

24

In una riga: hanno un elenco di tutti i nodi di uscita (qualcosa come che ).

più dettagliato:

Ho visto questo post dimostra come per rilevare una connessione Tor in php

function IsTorExitPoint(){
    if (gethostbyname(ReverseIPOctets($_SERVER['REMOTE_ADDR']).".".$_SERVER['SERVER_PORT'].".".ReverseIPOctets($_SERVER['SERVER_ADDR']).".ip-port.exitlist.torproject.org")=="127.0.0.2") {
        return true;
    } else {
       return false;
    } 
}

function ReverseIPOctets($inputip){
    $ipoc = explode(".",$inputip);
    return $ipoc[3].".".$ipoc[2].".".$ipoc[1].".".$ipoc[0];
}

Un buon riferimento spiega che cosa è disponibile qui:

Aggiornamento:

Da Tor offical doc che descrive il metodo TorDNSEL che attenua gli svantaggi del vecchio metodo di test dell'elenco ip exitnodes:

It is useful for a variety of reasons to determine if a connection is coming from a Tor node. Early attempts to determine if a given IP address was a Tor exit used the directory to match IP addresses and exit policies. This approach had a number of drawbacks, including false negatives when a Tor router exits traffic from a different IP address than its OR port listens on. The ​Tor DNS-based Exit List was designed to overcome these problems and provide a simple interface for answering the question: is this a Tor exit?

In ruby hai una gemma Tor.rb interessante che implementa questa tecnica:

Tor::DNSEL.include?("208.75.57.100")               #=> true
Tor::DNSEL.include?("1.2.3.4")                     #=> false
    
risposta data 26.01.2013 - 06:47
fonte
18

Sanno quali sono gli indirizzi dei nodi di uscita di Tor. Quindi controllano il tuo indirizzo e verificano se coincide con uno dei nodi di uscita.

I nodi di uscita sono noti all'intera rete Tor, se si decide di eseguire un nodo di uscita, è necessario pubblicizzarlo correttamente? Oppure nessuno lo userà. Allora la gente saprà che il tuo IP è un nodo di uscita Tor. Semplice.

    
risposta data 04.03.2012 - 07:22
fonte
9

Puoi verificare se una connessione è un punto di uscita tor usando TorDNSEL ; Quindi uno script può essere codificato per controllare ogni connessione.

"TorDNSEL è un'implementazione del test attivo, elenco di uscita basato su DNS per i nodi di uscita Tor. "

    
risposta data 04.03.2012 - 05:55
fonte

Leggi altre domande sui tag