El problema de desplegar redes ad hoc en Android OS: ¿rootear el dispositivo?

El problema de desplegar redes ad hoc en Android OS: ¿rootear el dispositivo?

Modo ad hoc inalámbrico

El estándar Wi-Fi (IEEE 802.11) puede operar básicamente en dos modos:

  • Infraestructura (o “managed”), en el que los clientes se conectan a un punto de acceso o router.
  • Ad-hoc, también llamado punto a punto, en el que los clientes se conectan entre sí sin ningún punto de acceso.

En el modo ad hoc cada equipo actúa como cliente y como punto de acceso simultáneamente. El rango de esta red está determinado por el de cada estación: ¿y qué significa esto?

Que si dos estaciones de la red están fuera del rango de la otra, no podrán verse a menos que exista un protocolo de descubrimiento + encaminamiento. Aquí es donde entra en juego la importancia de las redes MANET, como ya hablamos en su momento.

Es bien sabido que a día de hoy Android es el sistema operativo móvil líder, con cerca del 80% de la cuota de mercado. Y sin embargo, a la hora de establecer redes ad hoc presenta un enorme inconveniente:

Android tiene deshabilitado el modo ad hoc por defecto. Y no hay expectativas de que esto vaya a cambiar. Es decir, sólo permite operar en modo “managed”.

Ya os podéis imaginar el quebradero de cabeza que supone para los desarrolladores (como un escribiente servidor) que tratan de implementar redes MANET, redes Mesh o redes de sensores en Android.

Android en el fondo sólo es Linux

Ya sabéis que lo que hay bajo Android es Linux puro y duro. Sin entrar en detalles, Android por sí mismo no es más que una gruesa “capa” que envuelve al kernel de Linux ofreciendo una serie de librerías y un completo entorno de ejecución (Android Runtime) que funciona a golpe de máquinas virtuales Dalvik (Dalvik Virtual Machine, DVM), que ejecutan código Java.

Modelo de Capas de Android OS simplificado

Modelo de Capas de Android OS simplificado

No obstante, el lenguaje subyacente (el del núcleo de Linux) sigue siendo C. Esto significa que podemos “bajar de nivel” y escribir código en dicho lenguaje gracias a la Interfaz Nativa de Java (JNI), que permite ejecutar código C/C++ desde una aplicación Java.

¿Configurar un adaptador de red con iwconfig?

Así pues, podríamos pasarnos por el forro las restricciones que impone el framework de Android y ejecutar comandos de Linux que nos permitan configurar el adaptador inalámbrico vía JNI, como es el caso del clásico comando iwconfig.

[shell]
iwconfig ath0 mode ad-hoc
[/shell]

Sin embargo para poder usar el comando iwconfig de Linux nuestro dispositivo debe tener soporte para la API de extensiones Wireless. Por desgracia, normalmente sólo los dispositivos que usan un chips de Broadcom soportan dichas extensiones, con lo cual muchos modelos se quedarían fuera de nuestro alcance (Samsung Galaxy Nexus, Asus EeePad Transformer y Motorola Razr Maxx, por citar algunos). Pero incluso aunque Samsung y ASUS hayan liberado el código de su kernel a la comunidad open-source, dista mucho de ser una solución universal. Así pues, sólo cabría estudiar los diferentes casos que nos pueden presentar los modelos existentes en el mercado y discernir entre cada uno de ellos para implementar el comando adecuado. Una tarea poco escalable y de difícil mantenimiento.

¿Rootear el dispositivo? Una solución nefasta

A esta pobre solución se le añade un impedimento más: para habilitar la ejecución de comandos del sistema necesitamos “rootear” el dispositivo. Esto implica modificar nuestra tablet o smartphone para poder adquirir privilegios de superusuario (root), lo cual se puede hacer mediante la instalación de un sistema operativo modificado o “Mod”. Las consecuencias de rootear el dispositivo son nefastas:

  • Posible pérdida de datos
  • Pérdida de garantía por parte del fabricante
  • Inestabilidad y agujeros de seguridad

Y aún así algunos proyectos MANET actuales tratan de implementar redes ad-hoc siendo el rooteo un requisito indispensable, por ejemplo el proyecto SPAN de Mitre o B.A.T.D.R.O.I.D.

El panorama es desalentador. Así que cabe preguntarse: ¿existe una solución mejor? ¿Podemos implementar redes ad hoc sin necesidad de rootear nuestro dispositivo? La respuesta a esta pregunta aquí.

Previous Conferencia Hacker: Black Hat 2013
Next Confesiones de un estudiante de ingeniería desengañado (y cabreado)

About author

Angel
Angel 167 posts

<p>Creció viendo McGyver y ya de niño tenía muy claro en qué quería convertirse: inventor. Supuso que estudiar Ingeniería de Telecomunicación sería un buen camino para ello. Emprendedor y aventurero, bajo los circuitos y transistores le late un corazón de escritor.</p>

You might also like

Tecnologia & Ciencia 124 Comments

Desmontando a Movistar Fusión: claves, trucos y consejos.

Os revelamos algunas claves, secretos y algunos consejos útiles para contratar Movistar Fusión. Ya sabéis, se trata de una integración en una única factura de casi todos los productos Movistar:

Tecnologia & Ciencia 2 Comments

21 Formas de hacer tu web insegura: #1 – No valides formularios en el servidor

La seguridad es uno de los aspectos mas importantes a la hora de desarrollar una web. ¿O a alguien le gustaría que un usuario malintencionado pudiera aprovecharse de ciertas vulnerabilidades

How-to: Instalar Linux Mint 13

Hoy les traigo una guía en la cual, siguiendo unos sencillos pasos, podremos instalar en nuestra máquina el S.O. Linux Mint 13. Como veremos más adelante, no hay que ser

Desarrollo 2 Comments

Qué es y cómo funciona Symfony2: Conceptos claves

Symfony2 es uno de los Framework más potentes que existen para desarrollar aplicaciones web. Punto. Pero, ¿cómo funciona? ¿Qué es realmente? Con este artículo, pretendo que te quede claro como

Noticias 9 Comments

DreamSpark: Software de Microsoft gratuito para estudiantes.

Estudiar tiene muchos beneficios, desde aumentar nuestros conocimientos hasta conseguir un premio académico. Pero el hecho de tener software de primera gama, como Windows 8 ©, totalmente gratuito suena bastante

Tecnologia & Ciencia 2 Comments

Emprender desde cero con un perfil técnico, entrevista a Alberto López de Idintel

Hoy tenemos en BBits una entrevista. El elegido ha sido Alberto López, un ingeniero de Telecomunicación que, al contrario que la mayoría de los egresados, decidió apostar por su propia

Generales 3 Comments

¿En qué consiste el Rain Fade y cómo afecta al diseño de radioenlaces?

Un poco de lluvia nunca viene mal. Pero cuando hablamos de enlaces de microondas puede convertirse en un verdadero problema… La atenuación por lluvia o Rain Fade (RF) consiste en la absorción de

Tecnologia & Ciencia 1Comments

Las bases del encaminamiento MANET: en caso de emergencia avisar a BATMAN

Imaginaos que un tsunami o un huracán se lleva por medio todas las antenas y estaciones base del operador móvil (Movistar, Vodafone, Orange…) dejando toda tu ciudad incomunicada, sumida en

Desarrollo 9 Comments

Utilizando Wi-Fi Direct como alternativa “ad hoc” en Android

Hace unos meses comentábamos el problema de desplegar redes ad hoc en Android. Actualmente el modo ad-hoc está deshabilitado por defecto, por lo que nuestra única opción es modificar nuestra versión

14 Comments

  1. Collazo
    octubre 12, 15:32 Reply

    Angel, estoy muy interesado en este tema, si pudieras compartir la solucion en cuanto la tengas.
    un saludo y muy bueno el post.

  2. Enrique
    octubre 22, 22:47 Reply

    Pero el muerto no aparece…….

    • Angel
      octubre 23, 00:21 Reply

      Sin muerto no hay crimen, Enrique ;)

      Aquí va otra pista: Wifi Direct.

  3. Sarai
    octubre 15, 19:48 Reply

    muy interesante, espero que pronto subas otro post con este tema
    Saludos

  4. Angel
    septiembre 28, 23:06 Reply

    Por cierto, ya que os veo tan expectantes os voy a dar una pista:

    El problema tiene solución. Sin necesidad de root y sin necesidad de meternos bajo el framework de aplicación. Ya lo veréis ;)

    • Angel
      septiembre 28, 22:46 Reply

      Enrique, disculpa la tardanza. Últimamente tengo muchos frentes abiertos, pero el problema de las MANET en Android es el que más ganas tengo de abordar. Igual que a Jairo, te enviaré un email cuando salga la próxima entrega.

      Sólo por curiosidad, ¿por qué os interesa esta área?

      • jairo
        septiembre 30, 16:05 Reply

        Mi interés es que tengo ese problema en casa y llevo un mes buscando y buscando la solución y nada.

        Te agradezco lo de avisarme por e-mail.

        Un saludo.

        pd: ¿sin root ni meternos bajo framework?…que intriga!!!

  5. jairo
    septiembre 25, 19:20 Reply

    ¿para cuando la proxima entrega?

    • Angel
      septiembre 28, 12:49 Reply

      Muy pronto, Jairo.

      Si te parece bien, te enviaré una notificación por e-mail. Muchas gracias por interesarte ;)

  6. Bitacoras.com
    agosto 14, 20:42 Reply

    Información Bitacoras.com…

    Valora en Bitacoras.com: Al estándar Wi-Fi (IEEE 802.11) puede operar básicamente en dos modos: Infraestructura (o “managed”), en el que los clientes se conectan a un punto de acceso o router. Ad-hoc, también llamado punto a punto, en el que ……

Leave a Reply