Este documento presenta una práctica sobre el análisis de redes inalámbricas usando la herramienta Wireshark. Explica cómo configurar la interfaz de red inalámbrica en modo monitor para capturar paquetes y analizar el tráfico de red. También describe los diferentes tipos de tramas a nivel MAC, y cómo usar filtros en Wireshark para analizar tramas específicas como de gestión, control o datos.
2. Objetivo
A través de Wireshark, hacer uso de los filtros y capturar suficientes tramas para
analizar, mediante la teoría de probabilidad, la duración de las tramas y los espacios
en blanco para determinar el rendimiento de la red.
Introducción
Wireshark
Antes conocido como Ethereal, es un analizador de
protocolos utilizado para realizar análisis y solucionar
problemas en redes de comunicaciones, para análisis de
datos y protocolos, y como una herramienta didáctica.
Cuenta con todas las características estándar de un analizador de protocolos de
forma únicamente hueca.
Cuenta con una interfaz gráfica y muchas opciones de organización y filtrado de
información. Así, permite ver todo el tráfico que pasa a través de una red
(usualmente una red Ethernet, aunque es compatible con algunas otras)
estableciendo la configuración en modo promiscuo.
Wireshark permite, entre otras cosas, lo siguiente:
Capturar tramas directamente desde la red.
Mostrar y filtrar las tramas capturadas.
Editar las tramas y transmitirlas por la red.
Capturar tramas desde un ordenador remoto.
Realizar análisis y estadísticas.
Realizar todo tipo de filtrados (de captura y de visualización).
Exportación de las capturas o de lo filtrado hacia diferentes formatos.
Realizar todo tipo de seguimiento de flujos, parámetros o patrones de tráfico.
Cadena de Márkov
Es un concepto desarrollado dentro de la teoría de la probabilidad y la estadística
que establece una fuerte dependencia entre un evento y otro suceso anterior. Su
principal utilidad es el análisis del comportamiento de procesos estocásticos.
La definición supone que, en procesos aleatorios, la
probabilidad de que algo suceda solamente depende del
estado pasado histórico de la realidad que estamos
estudiando. En resumen, la regla indica que lo que la cadena
experimente en un momento t + 1 solamente depende de lo
acontecido en el momento t (el inmediatamente anterior).
3. Es posible conocer la probabilidad de que un estado ocurra en el largo plazo, esto
ayuda a la predicción y estimación en largos periodos de tiempo.
Variables aleatorias
Una variable aleatoria es discreta cuando su campo de variación (dominio de
definición) está constituido por un conjunto finito o infinito numerable de valores
posibles. Cada suceso de W se corresponde con un valor
Una variable aleatoria continua es aquella cuyo dominio de definición (campo
de variación) es un intervalo (compacto) de la recta real, una unión de varios
intervalos, o la totalidad de la recta real. (Por lo tanto, los valores definidos de la
variable aleatoria son un conjunto infinito no numerable.)
Distribución exponencial negativa.
La distribución exponencial negativa puede emplearse para modelar el lapso de
tiempo entre dos eventos consecutivos de Poisson que ocurren de manera
independiente y a una frecuencia constante.
Esta distribución se emplea con bastante frecuencia con objeto de modelar
problemas del tipo tiempo-falla y como modelo para el intervalo en problemas de
líneas de espera. Se demuestra que esta distribución no tiene “memoria”, en el
sentido de que, la probabilidad de ocurrencia de eventos presentes o futuros no
depende de los que hayan ocurrido en el pasado.
De esta forma, la probabilidad de que una unidad falle en un lapso específico de
tiempo depende nada más que de la duración de este, no del tiempo en que la
unidad ha estado en operación.
La función de densidad está dada por:
𝑓𝑓(𝑥𝑥, θ) = �
1
θ
exp(−𝑥𝑥/θ) 𝑥𝑥 > 0, θ > 0
0
Media y varianza de la distribución exponencial.
𝐸𝐸[𝑋𝑋] = θ; Var(X) = θ2
4. Procedimiento
Configuración de la Interfaz Inalámbrica
1. Conecte su dispositivo a la red inalámbrica libre provista por el profesor.
2. Una vez conectado a la red inalámbrica, abra una terminal y teclee iwconfig. Se
mostrará una pantalla como la de a Figura 1.
Se aprecia que la interfaz de red es la wlp3s0, está conectada a la red inalámbrica
con ESSID que fue provista por el profesor. Además, se brinda la dirección física
(MAC) del Punto de Acceso (Access Point 04:95:e6:37:b3:88).
Anote la dirección Física de su punto de acceso: 04:95:E6:37:B3:88
3. Teclee los siguientes comandos:
# sudo ifconfig wlp3s0 up
# sudo ifconfig wlp3s0
Note que ahora la interfaz wlp3s0 está habilitada (UP), al igual se tiene información
de la dirección MAC del adaptador de red (ether 9c:b7:0d:a6:b8:c0).
Figura 1 Desplegado de la configuración de los adaptadores de red inalámbrica
Figura 2 Estado de la interfaz inalámbrica wlp3s0.
5. Anote las direcciones obtenidas de su dispositivo de red.
IP: 192.172.0.4
MAC: C4:6E:1F:DD:B2:28
Conexión al punto de Acceso Inalámbrico.
1. Desconéctese de la red inalámbrica provista por el profesor.
2. Comprobar las redes inalámbricas a las que podrías conectarse al estar en rango
de cobertura. Utilizar el comando:
# sudo iwlist wlp3s0 scanning
Figura 3 Listado de las Redes Inalámbricas con cobertura disponible.
6. 3. Compruebe que la dirección física (address) corresponde con la dirección física
del punto de acceso del ejercicio anterior.
4. Utilizando el comando arp -a obtenga la dirección de IP de su punto de acceso,
esta estará pareada con la dirección física que debe corresponder a la que obtuvo
en el punto anterior.
En la figura 4 se aprecia que aparecen dos direcciones IP, la que corresponde al
punto de acceso es la segunda ya que coincide con la dirección MAC del punto 2.
Anote las direcciones obtenidas del punto de acceso.
IP: 192.172.0.1
MAC: 04:95:E6:37:B3:88
5. Para conectarse a la red utilice el siguiente comando:
# sudo iwconfig wlp3s0 essid
Para verificar que la conexión fue un éxito, verificar con el comando:
# iwconfig wlp3s0
Si la conexión fue un éxito observará una pantalla como la de la figura 5. Donde se
observa el nombre de la red inalámbrica provista por el profesor y su dirección física.
Tramas a Nivel MAC
La comunicación en redes WLAN ocurre a través de las tramas. Una trama es una
unidad de envío de datos, y es el equivalente al paquete de datos en la capa de
enlace de datos del modelo OSI.
Figura 4 Dirección IP pareada con Dirección MAC del punto de acceso inalámbrico.
Figura 5 Estado de la red.
7. Generalmente una trama está formada por: cabecera, datos y cola.
• En la cabecera se encuentran los parámetros de control del protocolo.
• Los datos contienen la información que se pretende transmitir a nivel de red.
• La cola normalmente posee algún esquema de detección y/o corrección de
errores.
• Control de trama (Frame Control): identifica el tipo de trama inalámbrica y
contiene subcampos para la versión del protocolo, el tipo de trama, el tipo de
dirección, la administración de energía y la configuración de seguridad.
- Protocolo (Protocol Versión): Indica la versión 802.11
- Tipo (Type): indica si la trama es de datos, de control o de gestión.
- Trama Protegoda (WEP): establece si los datos de Contenido están cifrados
o no.
• Duración (Duration ID): en general, se usa para indicar la duración restante
necesaria para recibir la siguiente transmisión de tramas.
• Dirección 1 (Address 1): normalmente, contiene la dirección MAC del dispositivo
o AP receptor inalámbrico.
• Dirección 2 (Address 2): normalmente, contiene la dirección MAC del dispositivo
o AP transmisor inalámbrico.
• Dirección 3 (Address 3): en ocasiones, contiene la dirección MAC del destino,
como la interfaz del router (gateway predeterminado) a la que se conecta el AP.
• Control de secuencia (Sequence Control): contiene los subcampos Número de
secuencia y Número de fragmento. El Número de secuencia indica el número de
secuencia de cada trama. El Número de fragmento indica el número de cada
trama que se envió de una trama fragmentada.
Figura 6 Trama a nivel MAC de 802.11.
8. • Dirección 4 (Address 4): suele faltar, ya que se usa solo en el modo ad hoc.
• Contenido (Network Data): contiene los datos para la transmisión.
• FCS: es la Secuencia de verificación de trama, usada para el control de errores
de capa 2.
Tipos de Trama:
• Datos: Estas tramas llevan información a través de la red inalámbrica.
• Control: Intercambian secuencias de control entre el punto de acceso (AP) y los
clientes de la red, estas se subdividen en:
- RTS
- CTS
- ACK
• Gestión: Transfieren datos y mantienen la comunicación entre el AP y los
clientes.
Captura e Inyección de Paquetes.
Para la captura de paquetes en redes inalámbricas es necesario colocar el
adaptador de red en modo monitor. Este modo permite monitorizar y capturar el
tráfico que pasa a través de redes inalámbricas sin la necesidad de asociarse a
algún AP o en una red Ad-hoc.
Normalmente, ningún adaptador inalámbrico es capaz de transmitir en modo
monitos, además, se encuentran restringidos a un único canal; todo esto dependerá
del modelo y firmware del equipo.
Es importante señalar que en modo monitor el adaptador no revisa si los valores del
CRC de los paquetes capturados son correctos.
Para colocar la tarjeta de red inalámbrica en modo monitos, se deben seguir los
siguientes pasos:
1. Abra la terminal de su sistema base Linux y teclee iwconfig para verificar que el
dispositivo ha detectado correctamente su adaptador de red.
Figura 7 Terminal tras verificar que el adaptador de red se encuentra correctamente instalado.
9. 2. Utilizar el comando sudo ifconfig wlp3s0 up para habilitar la tarjeta de red y el
comando ifconfig wlp3s0 para verifica que posea el atributo UP.
3. Revisar si su tarjeta de red puede ser colocada en modo monitor utilizando el
comando sudo airmon-ng. Si su sistema no tiene instalada la aplicación de airmon-
ng, se puede instalar utilizando el siguiente comando:
# sudo apt install aircrack-ng
4. Para crear la interfaz en modo monitor, ejecute el siguiente comando:
# sudo airmon-ng start wlp3s0
Para verificar que ha sido un éxito, utilizar el comando:
# sudo airmon-ng
Figura 8 Adaptador de red wlp3s0 configurado en modo UP.
Figura 9 Interfaces, chipsets y drivers de los adaptadores de red inalámbricos que pueden ser
configurados en modo monitor.
Figura 10 Interfaz wlp3s0 en modo monitor.
10. Se apreciará que ahora la interfaz wlp3s0 ahora se llama wlp3s0mon. Por lo cual el
adaptador de red fue exitosamente configurado en modo monitor.
Monitoreo de Paquetes.
Wireshark es una herramienta libre para el monitoreo de paquetes en tiempo real.
Normalmente está aplicación se utiliza para analizar el tráfico de una red, permite
capturar y analizar los paquetes recibidos y obtener información detallada de ellos.
En caso de no tener instalado el Wireshark, instalarlo con el siguiente comando:
# sudo apt install wireshark
Para la captura de paquete, realizar el siguiente proceso:
1. Configurar el adaptador de red inalámbrica en modo monitor.
2. Abrir una terminal en su dispositivo y ejecutar el comando wireshark.
3. Una vez que la aplicación se ha inicializado, seleccione la pestaña de
Captura>Opciones.
4. En esa pantalla seleccione su interfaz en modo monitor (wlp3s0mon) y haga clic
en iniciar.
Una vez iniciado el proceso de captura, se verá una pantalla como la de la Figura
12.
Figura 11 Pantalla de selección de interfaces de red.
11. 5. Revise los distintos tipos de paquetes y los valores de las cabeceras utilizando el
explorador de paquetes, identifique los tipos de tramas de datos y de control entre
los diversos dispositivos de las redes cercanas.
6. En la parte inferior de la ventana de wireshark se tiene la sección de panel de
bytes, en ella se muestra el contenido de la trama en forma hexadecimal.
Filtros en Wireshark.
1. En la barra superior de Wireshark es posible realizar el filtrado de los paquetes
capturados. Para ello se coloca el parámetro a filtrar con su respectivo valor, para
el siguiente ejemplo se filtrarán los paquetes de 802.11 del tipo de gestión. Para
ello, introduzca el siguiente filtro:
wlan.fc.type == 0
Al aplicar el filtro, se debería observar que ahora todos los paquetes que se
presentan en la tabla son del tipo de gestión (management).
Figura 12 Captura de Paquetes con la interfaz wlp3s0mon en Wireshark.
12. 2. Ahora para observar las tramas de control, es necesario colocar el siguiente filtro:
wlan.fc.type == 1
Figura 14 Filtrado de tramas de control.
Figura 13 Filtrado de tramas de gestión (management).
13. 3. Para las tramas de datos, es necesario colocar el filtro:
wlan.fc.type == 2
4. Si se desean observar las tramas baliza (beacon frames), que son tramas que el
AP transmite periódicamente para indicar la presencia de una red inalámbrica, se
utiliza el filtro:
wlan.fc.type_subtype == 0x08
Figura 15 Filtrado de tramas de datos.
Figura 16 Filtrado de tramas baliza.
14. 5. Para observar los paquetes provenientes del AP, utilizar el siguiente comando:
wlan.bssid == <dirección mac del AP>
6. Si queremos observar las tramas de datos enviadas desde el AP hacía las demás
terminales, se debe ejecutar el siguiente filtro:
(wlan.bssid == ) && (wlan.fc.type_subtype==0x20)
Figura 18 Ejemplo de filtrado de tramas de datos provenientes del AP.
Figura 17 Filtrado de tramas provenientes del AP.
Figura 19 Filtrado de tramas de datos provenientes del AP.
15. En la figura 18 se observa que no se pudo realizar la captura del último filtro (tramas
provenientes del AP), sin embargo, la lectura debió ser similar a la observada en la
figura 19.
Si se desea entrar en detalle acerca de todos los posibles parámetros de filtrado, se
puede revisar la documentación de wireshark en https://www.wireshark.org/docs/.
Análisis de las tramas capturadas.
Para tener la mayor cantidad de datos, se debe capturar por aproximadamente 10
min. De ser necesario, se puede optar por cambiar de canal a través del comando:
Sudo iwconfig wlp3s0mon channel <Número del canal>
Pasados los 10 min capturando datos, o hasta donde el programa lo permita, se
debe realizar el histograma de la duración de la trama y de los espacios en blanco
(Delta – Duración).
Se pueden obtener estos datos filtrando las columnas de Wireshark y exportando
los datos a un archivo .csv (como se observa en la figura 21).
Figura 20 Cambio al canal 11.
Figura 21 Columna del tiempo de duración y tiempo delta en Wireshark.
16. Realizar los histogramas
Existen diversas maneras de realizar un histograma, en esta ocasión se optó por
usar Excel.
1. Se extrajeron los datos (33612 tramas) en 3 columnas: Delta, Duración, y los
Espacios en blanco (Delta-Duración), los valores se expresaron en segundos.
2. Se realizaron los cálculos para determinar los intervalos que se graficarán en el
histograma de Tiempo de Duración. Y con dichos resultados, se seleccionó la
gráfica correspondiente.
Figura 22 Una parte de los 33612 datos para
los tiempos Delta, Duración y el cálculo de los
Espacios en Blanco.
17. Figura 24 Cálculos para crear el histograma de Tiempo de Duración.
Figura 23 Histograma del Tiempo de Duración.
18. 3. Se realizaron los cálculos para el histograma de los Espacios en Blanco, y se
creó su respectiva gráfica.
Figura 25 Cálculos para crear el histograma de Tiempo de Espacios en Blanco.
Figura 26 Histograma del Tiempo de Espacios en Blanco.
19. Conclusiones
En el procedimiento, donde se usan los filtros para analizar paquetes en Wireshark,
se completó casi por completo, faltó el último filtro “Tramas de datos provenientes
del Access Point”.
Para la sección en donde se analizó el comportamiento de los usuarios en la red del
canal 11 se presentaron diversas dificultades. En primera instancia, se observa en
la figura 22 que para algunas tramas el valor de delta es menor que el valor de la
duración, por lo tanto, los espacios en blanco obtienen valores negativos, y dado
que se trata de segundos, se sospecha que existe algún error, sin embargo, fueron
los datos obtenidos y no se realizaron cambios a estos.
Por otro lado, se observa que Excel no es el programa más eficiente para realizar
dichos cálculos. Por una parte, el calcular los intervalos presenta redondeos, y la
mayoría de ellos tienen valor cero.
A pesar de que ambos histogramas presentan un comportamiento de distribución
exponencial, se necesita más información para determinar qué ajustes se le pueden
realizar a la red de manera que sea más eficiente y mejore la experiencia del
usuario.
Bibliografía
https://economipedia.com/definiciones/cadena-de-markov.html
https://es.wikipedia.org/wiki/Wireshark
https://www.juntadeandalucia.es/averroes/centros-
tic/14002996/helvia/aula/archivos/repositorio/250/295/html/estadistica/dcontinuas.htm#:~:t
ext=Distribuci%C3%B3n%20exponencial%20negativa.,independiente%20y%20a%20una
%20frecuencia%20constante
https://www.uv.es/ceaces/base/variable%20aleatoria/varalea.htm
https://www.ingenioempresa.com/histograma/