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