282
Votar negativo Votar positivo

Probamos Switzerland, el primer testeador de conexiones interferidas por nuestros ISP

El caso COMCAST, y el bloqueo del tráfico P2P sigue dando mucho de qué hablar, y es por ello que un grupo de desarrolladores, tiene en fase Alpha, es decir muy poco estable y susceptible a errores, un programa que han llamado Switzerland. El objetivo del mismo es verificar si nuestro ISP intercepta los paquetes y los modifica. ADSL Net lo ha probado, y por cierto hemos sudado para encontrar una plataforma donde hacerlo funcionar, pero lo tenemos y os lo contamos.

Lo primero que necesitamos es la versión actual de Switzerland. Lo podemos descargar desde la página oficial que de momento se encuentra en SourceForge.

Lo segundo y lo más importante quizás es, ¿ qué necesitamos para hacerlo funcionar ?

Nosotros hemos optado por Linux, dado que la herramienta ha sido desarrollado y orientada principalmente a funcionar bajo linux y en esta fase tan prealpha la cosa resulta compleja para hacerla funcionar en Windows si no se hacen modificaciones.

La versión viene lista para funcionar en Python 2.5, y la última release estable disponible de Python es la 2.5.2. Por ese lado no encontraremos problemas, pero nosotros sí lo hemos encontrado intentándo hacerlo funcionar debido a que hay problemas con el tamaño de la ventana TCP de los paquetes cuando los interfaces son Ethernet Gigabit.

Tempfile: /tmp/tmpWYvNNa
Initialized sniff on eth0
pcap_datalink: 1
ERROR: Cannot handle a packet of size 2814

(Check for Large Segment Offloading on gigabit Ethernet cards, and avoid loopback devices)

Esto nos ha obligado a utilizar versiones antiguas de sistemas operativos, descartando los servidores más potentes con el software más actualizado, dado que disponen de tarjetas Ethernet Gigabit.

Nos hemos ido entonces a Fedora Core 5, en unas máquinas de pruebas donde los interfaces activados eran Ethernet 100 Mbps. Sin embargo la versión de Python disponible en este caso era la 2.4.

Si la versión de Python era inferior a la 2.4 a la hora de ejecutar la instalación obteníamos lo siguiente:

[root@spider switzerland-0.0.5]# python setup.py install
Traceback (most recent call last):
File “setup.py”, line 7, in ?
import platform
ImportError: No module named platform

Hemos intentado realizar la compilación e instalación por tanto con Python 2.4, y esta ha funcionado así que lo que hemos hecho posteriormente ha sido editar de forma manual los scripts switzerland-client y switzerland-server para que buscase la variable de entorno python 2.4 en vez de python 2.5 y la cosa ha funcionado.

[root@dev1 switzerland-0.0.5]# vi switzerland-client

#!/usr/bin/env python2.4

try:
from switzerland.client import Alice
except ImportError:
import sys
sys.path.append(”/usr/local/lib/python2.5/site-packages/”)
sys.path.append(”/usr/lib/python2.5/site-packages/”)
sys.path.append(”.”)
from switzerland.client import Alice

Alice.main()

Todo bien hasta aquí pero en qué consiste Switzerland y cómo funciona. Básicamente el objetivo de la aplicación es funcionar con dos partes, una cliente y otra servidor. La parte servidor recoge los paquetes enviados por los clientes y pone al interfaz de red del sistema en modo escucha, para interceptar el tráfico del mismo. Cuando se detectan paquetes Peer To Peer, se analiza el emisor y se comprueba si el paquete que se originó ha sido modificado a su recepción en el servidor, indicando que en el trayecto intermedio, es decir la propia infraestructura del ISP, se ha alterado su contenido, pudiendo provocar, cortes, desconexiones, o filtrados del tráfico.

Para esta versión Alpha los desarrolladores han puesto un servidor en una dirección que se indica en el fichero de instalación, de tal forma que si no se dispone de un servidor o de suficientes máquinas como para montarlo, se pueda realizar la prueba contra él.

A nosotros el servidor no nos ha funcionado y hemos optado por realizar la instalación del servidor en una máquina Linux con Fedora Core 5 y python 2.4 y el cliente en otra máquina Linux con Fedora Core 5 y python 2.4, ambas con interfaces de Red Ethernet de 100 Mbps.

Otro de los problemas que hemos determinado, es que Switzerland intenta controlar la organización de los paquetes Peer to Peer mediante el control del tiempo, vía servicio NTP. El servicio NTP es aquel que nos permite mantener sincronizado nuestro reloj del sistema mediante el acceso a un servidor que le ofrece a nuestro sistema la hora. Sin embargo parece que las versiones antiguas contra las que Switzerland debe comprobar si nuestro sistema está actualizado o no, no funcionan del todo muy bien, así que mediante la opción del parámetro -u 0 desactivamos la utilización de NTP en el control de los paquetes.

La ejecución de nuestro cliente produce por tanto lo siguiente en la línea de comandos de nuestro CLIENTE Switzerland en Linux:

[root@dev1 switzerland-0.0.5]# ./switzerland-client -s 10.43.99.4 -u 0
No scapy… that’s okay, we don’t really need it
——————————————————————————–
Welcome to Switzerland.  This is a Version Zero alpha release.  It’s sure to
break at some point.  If/when that happens, please let us know by email
(switzerland-devel@eff.org), IRC (#switzerland on irc.oftc.net) or bug report
( https://sourceforge.net/tracker/?func=browse&group_id=233013&atid=1088569 )
——————————————————————————–
interface is now eth0
Logging events to /var/log/switzerland-client.log
Looking for ntpd…
ntpdc: read: Connection refused
ntpdc is present but ntpd does not appear to be alive: (”[]”)
but allow_uncertain_time is set so we’re defaulting the clock error to 0.000000
Connecting to 10.43.99.4:7778
Private IP: ‘10.43.99.20′ ; Public IP: ‘10.43.99.20′
The psyco package is unavailable…
Listening for traffic with peers

Y a continuación podemos ver los datos en el servidor:

[root@moo2 switzerland-0.0.5]# ./switzerland-server
psyco not available — the server will be more efficient if psyco is installed
SwitzMas: Server listening for connections on port 7778…
got a connection from 10.43.99.20 44797
SwitzMas: peers: {’10.43.99.20′: {44797: <SwitzerlandLink(Thread-2, initial daemon)>}}
SwitzMas: Initialising server thread
Switz-2s: attempting handshake with (’10.43.99.20′, 44797)
Switz-2s: completed handshake with (’10.43.99.20′, 44797)
Switz-2s: Sending [’public-ip’, 0, ‘10.43.99.20′]
Switz-2s: Sending [’new-members’, 0, []]
SwitzMas: Joining circle, notifying 0 others
(’10.43.99.20′, 44797) is running on (’Linux’, ‘2.6.11-1.1369_FC4smp’, ‘i686′, (2, 4, 1, ‘final’, 0))
Switz-2s: Received ack for 0

CURRENT FLOW TABLE:                            okay  drop mod/frg pend t/rx prot

CURRENT FLOW TABLE:                            okay  drop mod/frg pend t/rx prot

CURRENT FLOW TABLE:                            okay  drop mod/frg pend t/rx prot

Durante la ejecución, el servidor va notificando la producción de eventos en las conexiones Peer To Peer y determina si en la actual tabla de flujo de datos se producen eventos inexperados.

Todo esto además queda registrado en los logs que Switzerland crea. Que por cierto hay que tener en cuenta que es necesario de forma manual crear el directorio para alojar los logs y darle permisos de escritura, o bien ignorarlos con el parámetro: -P- para que no se creen.

[root@file1 switzerland-0.0.5]# mkdir /var/log/switzerland-pcaps
[root@file1 switzerland-0.0.5]# chmod 777 /var/log/switzerland-pcaps

Switzerland está aún como decíamos en una fase Alpha de desarrollo, por lo tanto aún le queda bastante, pero el concepto de análisis y auditoría es sencillo, así que desde ADSL Net no descartamos la posibilidad de desarrollar un piloto gráfico que se incluya en ANT en próximas releases.

Os mantendremos informados.

Por cierto!!!, nuestras infraestructura de pruebas, no se ha visto afectada, y para la prueba se han utilizado hasta 4 operadores. Telefónica, Colt, Vodafone 3G y British Telecom.

Actualizado!!.

Log de desconexiones forzadas de ONO.

No scapy… that’s okay, we don’t really need it
——————————————————————————–
Welcome to Switzerland. This is a Version Zero alpha release. It’s sure to
break at some point. If/when that happens, please let us know by email
(switzerland-devel@eff.org), IRC (#switzerland on irc.oftc.net) or bug report
( https://sourceforge.net/tracker/?func=browse&group_id=233013&atid=1088569 )
——————————————————————————–
no switzerland server specified, defaulting to switzerland.eff.org
Logging events to /var/log/switzerland-client.log
Looking for ntpd…
Connecting to switzerland.eff.org:7778
Private IP: ‘81.202.165.99′ ; Public IP: ‘81.202.165.99′
Listening for traffic with peers: 75.72.11.129*, 91.152.254.91*, 71.201.11.164*, 84.243.238.115, 67.169.38.11*, 62.175.91.15*, 89.134.162.30*, 79.201.214.177*, 64.81.162.247*, 24.7.91.26*, 69.207.183.98, 79.144.224.24*, 81.110.39.67*, 88.13.3.173*, 24.254.62.44*, 84.122.200.88, 216.254.76.25*, 82.82.130.214, 190.16.55.8*, 71.222.244.113*, 85.178.71.166*, 70.23.170.163*, 80.217.161.230*, 96.225.148.222*, 217.155.230.232, 74.64.10.47*, 69.134.189.159*, 72.189.75.26*, 201.52.74.113*, 67.204.3.208
Listening for traffic with peers: 86.84.36.203*
Peer 86.84.36.203 has disconnected
We saw fragments! This may result in false drop reports.
Packet capture lag is currently 0.004023 seconds
Listening for traffic with peers: 213.100.137.201
Peer 213.100.137.201 has disconnected
Listening for traffic with peers: 72.1.184.247*
Peer 72.1.184.247 has disconnected
Peer 201.52.74.113 has disconnected
Packet capture lag is currently 0.006897 seconds
Listening for traffic with peers: 96.237.70.171*
Peer 96.237.70.171 has disconnected
Listening for traffic with peers: 213.100.137.201
Peer 213.100.137.201 has disconnected
Packet capture lag is currently 0.003187 seconds
Listening for traffic with peers: 76.178.165.63*
Peer 76.178.165.63 has disconnected
Listening for traffic with peers: 213.100.137.201
Listening for traffic with peers: 76.178.165.63*
Peer 76.178.165.63 has disconnected
Packet capture lag is currently 0.003377 seconds
Peer 213.100.137.201 has disconnected
Packet capture lag is currently 0.003507 seconds
Peer 89.134.162.30 has disconnected
Packet capture lag is currently 0.001154 seconds
Listening for traffic with peers: 62.235.148.69*
Listening for traffic with peers: 208.120.245.100*
Peer 208.120.245.100 has disconnected
Packet capture lag is currently 0.000606 seconds
Timestamp monotonicity violated by up to 3.8147e-06 seconds
Listening for traffic with peers: 208.120.245.100*
Peer 217.155.230.232 has disconnected
Packet capture lag is currently 0.008683 seconds
Peer 208.120.245.100 has disconnected
Listening for traffic with peers: 146.115.120.172*
Peer 146.115.120.172 has disconnected
Listening for traffic with peers: 208.120.245.100*
Peer 208.120.245.100 has disconnected
Listening for traffic with peers: 79.101.87.160*
Listening for traffic with peers: 146.115.120.172*
Packet capture lag is currently 0.001760 seconds
Listening for traffic with peers: 72.138.34.243*
Listening for traffic with peers: 206.248.181.102*
Peer 206.248.181.102 has disconnected
Packet capture lag is currently 0.001906 seconds
Listening for traffic with peers: 206.248.181.102*
Peer 206.248.181.102 has disconnected
Listening for traffic with peers: 76.108.107.230*
Peer 76.108.107.230 has disconnected
Packet capture lag is currently 0.001030 seconds
Listening for traffic with peers: 206.248.181.102*
Peer 206.248.181.102 has disconnected

SIGUE LEYENDO

Lee más de: , , ,
Comparte este contenido en Facebook   Comparte este contenido en Twitter  

Comentarios Pon tu comentario

  1.   muybuenoEnviado el 3 Agosto 2008 a las 18:23

    Espectacular el análisis y el tutorial. Como se nota que sabéis de qué habláis, y que os manejáis en el terreno…. porque se lee cada cosa ….

    :)
    Agur.

    Responder a este Comentario
     
     Add karma Subtract karma  karma: +1
  2.   novaEnviado el 3 Agosto 2008 a las 18:24

    Lo he intentado, pero la verdad que me falla por todos los lados. Yo he probado en Windows, pero no puedo ejecutar el cliente….

    Gracias.

    Responder a este Comentario
     
     Add karma Subtract karma  karma: +3
  3.   windowsEnviado el 3 Agosto 2008 a las 18:26

    La prueba que hemos intentado en Windows ha pasado por ejecutar el FastCollector.exe que hay en el directorio bin y que se ejecuta sin problemas en Windows XP al menos.
    Básicamente es el colector de paquetes.
    Luego hemos descargado el instalador .MSI de Python 2.5 y lo hemos instalado.
    Posteriormente hemos viusto que tanto el cliente y el servidor de Switzerland, los scripts en sí, están pensandos para ser lanzados con las variables de entorno y rutas de Linux, así que habría que modificarlos para lanzarlos desde Windows.
    No es complicado, intentaremos ponerlo en una actualización de este documento.

    Saludos.

    Responder a este Comentario
     
     Add karma Subtract karma  karma: +2
  4.   onoEnviado el 3 Agosto 2008 a las 18:37

    Lo acabo de probar en Ono, y lo que me temía … no me llegan mis respuestas ??? Es esto el bloqueo? del que hablan y que Ono dice que no existe?

    Responder a este Comentario
     
     Add karma Subtract karma  karma: +0
  5.   eduardomoEnviado el 4 Agosto 2008 a las 00:47

    He instalado el paquete y lanzado el cliente, pero al intentar conectar con el server por defecto no hay manera.
    ¿seria posible poner a disposición de los demás, aunque sea temporalmente, vuestro servidor? asi podriamos hacer una auditoria paralela. o al menos ver si el fallo viene del server por defectto o del programa cliente…

    Responder a este Comentario
     
     Add karma Subtract karma  karma: +0
  6.   RubikEnviado el 4 Agosto 2008 a las 03:38

    Gracias por probar lo que todos sospechamos. Yo uso humyo.com, 25 gigas gratuitos 100 x 100, para compartir películas, música y fotos. No como meganosequé… que se aprovechan de nosotros!

    Responder a este Comentario
     Add karma Subtract karma  karma: +0

    El usuario La tecnopolis ha respondido: el 31 Enero 2009 a las 13:51

    No seas Fantasma.. : 10 Gigabytes
    5GB for Photos/Music/Videos & 5GB for other files

    Responder a este Comentario
     Add karma Subtract karma  karma: +0

    El usuario pagador ha respondido: el 13 Octubre 2009 a las 18:38

    Perdona pero yo me hice una cuenta hace tiempo y esto es lo que sale:

    Photos/Music/Videos: 25GB
    other files: 5GB

    Puede que fuese una oferta y llegases tarde pero lo de fantasma….

    Responder a este Comentario
     
     Add karma Subtract karma  karma: -2
  7.   ice_2k2Enviado el 4 Agosto 2008 a las 08:39

    Muy bien todo, pero para los que no nos manejamos en Linux me pregunto si el amigo y jefe latas ¿ha pensado en integrar el testeador entre las funciones de nuestro querido ANT?.
    Esperemos que sí (¡ojalá!)

    Responder a este Comentario
     
     Add karma Subtract karma  karma: +0
  8.   kaliEnviado el 4 Agosto 2008 a las 23:49

    con switzerland,¿se podran evitar la desconexiones de ono??
    Pregunto.un saludo y gracias…

    Responder a este Comentario
     
     Add karma Subtract karma  karma: +0
  9.   adslnetEnviado el 5 Agosto 2008 a las 01:26

    kali, No. Las desconexiones se producen porque el ISP interfiere y modifica los paquetes. El problema es que dado que a los usuarios los paquetes les llegan modificados, o les obligas a todos los posibles usuarios con los que puedas llegar a compartir partes de un fichero a usar el servicio de switzerland para detectar los fallos, y encima a intentar reconstruir las tramas correctamente, algo prácticamente inviable, o directamente es imposible.

    Así que me temo que no creo que sea muy factible esa opción. Eso sin tener en cuenta la cantidad ingente de información que se estaría snifando en la red …

    Vamos que no de todas todas :)

    Un saludo.

    Responder a este Comentario
     
     Add karma Subtract karma  karma: +3
  10.   Alex B.Enviado el 29 Octubre 2008 a las 16:11

    La idea de integrarlo en ANT es admirable…y cuanto antes…-mejor!Es mas que bueno saver si el ISP te “espia” el trfico privado!

    Responder a este Comentario
     
     Add karma Subtract karma  karma: +1

Participa. Envíanos tu comentario

Todos los comentarios pasarán un filtro tras su publicación
Introduce los caracteres tal y como aparecen en la caja para enviar el comentario
introducir este texto en la contenedor de la izquierda

Un total de 17 empresas españolas figuran en el Dow Jones de Sostenibilidad, dos menos que en 2009

Un total de 17 empresas españolas figuran en el Dow Jones Sustaiability Indexes Review (DJSI) 2010,...  »

Díez-Hochleitner, nuevo consejero delegado de 20 Minutos

Eduardo Díez-Hochleitner, actual vicepresidente no ejecutivo de 20 Minutos España asumirá el cargo...  »

El aeropuerto de Almería instala un servicio de conexión a Internet para los pasajeros

El aeropuerto de Almería acaba de poner en funcionamiento una aplicación que permitirá a los usuarios...  »

El grupo chino Alibaba podría reconsiderar su alianza con Yahoo

El grupo chino Alibaba dijo el jueves que podría reconsiderar su alianza con su mayor accionista Yahoo...  »

El aeropuerto de almería instala un servicio de conexión a internet sin cables para los pasajeros

El Aeropuerto de Almería acaba de poner en funcionamiento una aplicación que permitirá a los usuarios...  »

Tuenti estrena más de 5.000 páginas en abierto

La red social Tuenti ha decido mejorar su servicio de creación de páginas con direcciones en abierto,...  »

La tdt deja sin futuro a la tv de pago sin oferta “premium”, según los expertos

La proliferación de canales que ha traído la TDT ha dejado con “pocas posibilidades” de...  »

Google pide “presionar a los censores” de Internet

Google pide “presionar a los censores” de Internet El jefe legal de Google, David Drummond,...  »

CATALUNYA.-Orange amplía a toda Catalunya el servicio de voz móvil en alta definición

Orange ampliará a toda Catalunya el servicio de voz en alta definición, que ya anunció para Barcelona...  »

Telefónica, Nokia, Air France, Roche, Unilever, Philips y BMW lideran el Dow Jones de la Sostenibilidad

Telefónica, Nokia, Air France-KLM, BMW, Roche, Unilever, Philips Electronics, Pearson y Energías de...  »

Medio centenar de internautas asisten al primer encuentro ‘Cata y tuitea’ de la UIMP 2.0

Medio centenar de internautas asisten al primer encuentro ‘Cata y tuitea’ de la UIMP 2.0 Medio...  »

Google llama a ejercer presión sobre censores de internet

- Dice censura web es barrera injusta para el comercio El jefe legal de Google Inc exigió más presión...  »