Cambiar la MAC de un dispositivo de red

Este es un pequeño post que no pretende aportar mucho a la comunidad.. ya que lo que colgaré se puede encontrar muy fácilmente con Google, pero me importa más bien poco, más que nada lo colgaré para acordarme yo :) .

Primero de todo.. ¿Por qué querríamos cambiar la MAC de nuestro dispositivo de red? Pues porque existen sitios donde sólo se pueden conectar ciertas máquinas autorizadas.. las cuales son distinguidas por los routers a través de su dirección MAC... y a veces nos gustaría conectarnos a dichas redes. Es por eso que tendremos que falsificar la MAC de nuestro dispositivo de alguna manera (por lo general cambiándola por la mac de algun dispositivo que sepamos que está autorizado... y sobretodo, desconectado en el momento de nuestra conexión).

En este post me centraré en sistemas GNU/Linux, utilizando el programa macchanger. Si trabajamos desde Ubuntu o Debian, para instalar el programa será tan fácil como escribir

1
aptitude install macchanger

o bién

1
apt-get install macchanger

Si trabajamos desde cualquier otra distribución... ni idea, yo lo que recomiendo es buscar el típico tarball de código fuente y ejecutar los también típicos comandos make y make install.

A lo que vamos, antes que nada, deberíamos desactivar la red con el comando siguiente:

1
/etc/inid.d/networking stop

o bién con:

1
ifdown dispositivo [el dispositivo puede ser: eth0, eth1, wlan0...]

Después de eso, deberíamos guardar la mac original del dispositivo, por si acaso. Para hacer eso simplemente hace falta ejecutar el comando ifconfig y se nos mostrará la mac asociada a cada dispositivo de red. Dicho todo esto, pasemos a la acción (desde root) con el siguiente comando:

1
macchanger --mac XX:XX:XX:XX:XX:XX dispositivo

donde XX:XX:XX:XX:XX:XX es la mac que queremos establecer para nuestro dispositivo, así de simple :D .

Por si alguien tiene curiosidad sobre por qué he escrito esto, bueno, diremos simplemente que lo estoy utilizando en la universidad para conectarme a través de la red cableada con mi portátil :) . (Espero que no aparezca nadie que me quiera sancionar por esto, xD.

Bueno, hasta otra :) .

Codificación de Red

Hace tiempo escribí éste artículo en mi otro blog, que estoy borrando hoy mismo por la poca dedicación que le doy, y le puse un prólogo horrorosamente largo, así que hoy no va a ser igual, aquí tenéis la "chicha" del artículo.En el artículo de hoy quería comentar un texto publicado en "Investigación y Ciencia" (la versión española de Scientific American) titulado "Supresión de atascos en las redes de comunicaciones" y escrito por Michelle Effros, Ralf Koetter y Muriel Médard. En dicho texto se trata un nuevo método de transmisión de datos a través de las redes informáticas actuales que posibilitaría una menor congestión de éstas y una mayor velocidad de transferencia. Lo mejor de todo es que es fácil de entender (aunque la posterior implementación requeriría análisis técnicos complejos que están fuera del abasto de éste artículo y el de la revista de dónde saqué la información).En éste artículo científico-técnico presentan una técnica que denominan Codificación de Redes, éste método se basa en enviar "indicios" acerca de la información que se quiere transmitir en vez de mandar el mensaje completo. Así dicho a bote pronto tal vez no se entienda, pero para ésto he previsto un par de ejemplos (extraídos también de la revista, aunque con imágenes algo rudimentarias, por falta de tiempo para hacer algo mejor y porque es ilegar escanear y publicar las imágenes de la revista).

Imaginemes que tenemos 6 nodos en una red, éstos pueden ser ordenadores personales o routers, para éste ejemplo tendremos 4 ordenadores y dos routers. A, B, C y D serán los ordenadores de sobremesa, mientras que E y F serán los aparatos enrutadores.

Supongamos ahora que el nodo A quiere enviar un mensaje al nodo D y que el nodo B le quiere enviar un mensaje al nodo C. Siguiendo el esquema típico actual de las redes, el mensaje se dirigirá a través del enrutador E, que se "colapsará", haciendo que uno de los mensajes tenga que esperar, retrasar la llegada de esa cadena de bits.

Existe sin embargo una solución muy elegante a este "sencillo" problema (no del todo extrapolable).

Fijémonos en el siguiente diagrama, A y B mandan los mensajes a través de dos canales simultáneamente que de otra forma habrían sido desaprovechados en ése instante y el nodo E manda un único mensaje, una combinación de los datos enviados por A y por B.

Al nodo C llega el mensaje de A y la mezcla de los dos mensajes, al nodo D llega el mensaje de B y la mezcla de los mensajes.

Como vemos, los mensajes no han llegado a sus destinos, pero eso sólo és una ilusión, si analizamos la situación con mayor detenimiento apreciaremos como los mensajes han llegado sin ninguna espera.

No he hablado de que tipo de mezcla se ha hecho con esos datos, la verdad es que hay muchas posibilidades, pero lo importante es que sea una combinación lineal. Una posible combinación se podría hacer utilizando la operación suma (hemos de tener en cuenta que la información se puede representar de forma numérica, en particular en notación binaria).

Si A hubiera mandado un 1 y B un 0, el nodo E habría mandado 0+1=1, con lo que C solo tiene que restar 1 al número recibido desde A para saber qué le envió B y D sólo tiene que restar 0 al número recibido desde B para saber qué le envió A (utilizando el álgebra de boole).

La velocidad de transferencia en éste caso ha sido el doble, pero podría serlo varias veces más en muchos casos, aunque también podría no haber ninguna ganancia en algunos otros. Lo que sí es seguro es que éste sistema nunca llega a dar peores resultados que los instaurados actualmente, las demostraciones de ello no las he llegado a leer, aunque tengo algo de fe en lo que me dicen, pero hay que remarcar que demostrar y entender la demostración de ésta afirmación no es tan sencillo como el ejemplo expuesto.

En la revista hay otro ejemplo en el que tratan la multidifusión, es decir, un método para que varios usuarios puedan mandar mensajes a varios usuarios a la vez, es decir, de muchos a muchos, y con mensajes con varios destinatarios. Aún así doy por acabado éste pequeño texto pues no tengo mucho más tiempo, gajes del trabajador explotado.

Como véis todavía nos quedan un montón de ideas por explotar, a éste sistema se le sumaran otras tecnologías no basadas en la lógica matemática, si no en la física electrónica y fotónica, así que tenemos para rato...