¿Cómo sabe check.torproject.org si está usando Tor?

41

Estoy viendo los resultados de la siguiente URL y me gustaría saber cómo el sitio web del Proyecto Tor "sabe" que Tor se está utilizando o no.

enlace

Configuraré un rastreador de paquetes, pero como no soy un nodo de salida, no estoy seguro de que eso haga una gran diferencia.

    
pregunta random65537 04.03.2012 - 03:04
fuente

3 respuestas

24

En una línea: tienen una lista de todos los nodos de salida (algo como que ).

más detallado:

He visto esta publicación demuestra cómo para detectar una conexión Tor en 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];
}

Una buena referencia explica lo que hace está disponible aquí:

Actualizar:

De la publicación oficial doc que describe el método TorDNSEL que mitiga los inconvenientes del método anterior de prueba lista de ip de exitnodes:

  

Es útil por varias razones para determinar si una conexión es   procedente de un nodo tor. Los primeros intentos para determinar si una determinada IP   la dirección era una salida de Tor, se usó el directorio para hacer coincidir las direcciones IP y   políticas de salida. Este enfoque tenía varios inconvenientes, incluyendo   falsos negativos cuando un enrutador Tor sale del tráfico desde una IP diferente   dirección que su puerto OR escucha. La lista de salida basada en DNS de Tor era   diseñado para superar estos problemas y proporcionar una interfaz simple para   respondiendo a la pregunta: ¿es esta una salida de Tor?

En ruby tienes una gema Tor.rb que implementa esta técnica:

Tor::DNSEL.include?("208.75.57.100")               #=> true
Tor::DNSEL.include?("1.2.3.4")                     #=> false
    
respondido por el 0x90 26.01.2013 - 06:47
fuente
18

Saben cuáles son las direcciones de los nodos de salida de Tor. Así que solo comprueban su dirección y ven si coincide con uno de los nodos de salida.

Los nodos de salida son conocidos por toda la red Tor, si decides ejecutar un nodo de salida, entonces deberías publicitarlo, ¿no? O si no, nadie lo usará. Entonces la gente sabrá que su IP es un nodo de salida Tor. Simple.

    
respondido por el Aki 04.03.2012 - 07:22
fuente
9

Puede verificar si una conexión es un punto de salida de tor usando TorDNSEL ; Por lo tanto, un script se puede codificar para verificar cada conexión.

"TorDNSEL es una implementación de la lista de salida basada en DNS de prueba activa Para nodos de salida Tor. "

    
respondido por el Rick Rhodes 04.03.2012 - 05:55
fuente

Lea otras preguntas en las etiquetas