Posted by Star | Posted in | Posted on 20:32
No puedo terminar esta parte sin comentar algo que es muy importante a la hora de analizar el tráfico de tramas de datos.
Como dije al comienzo de este documento, cuando existen datos a transmitir, o mejor dicho, cuando el tipo de trama en la FC es de datos (10) las direcciones MAC “bailan” dependiendo de si están activos o no los bits toDS y FromDS, te pongo una imagen que vale mas que mil palabras:
Y un ejemplo general…
Un cliente envía un ping al punto de de acceso, por tanto toDS está a uno (1) y FromDs estará a cero (0)
Como dije al comienzo de este documento, cuando existen datos a transmitir, o mejor dicho, cuando el tipo de trama en la FC es de datos (10) las direcciones MAC “bailan” dependiendo de si están activos o no los bits toDS y FromDS, te pongo una imagen que vale mas que mil palabras:
Y un ejemplo general…
Un cliente envía un ping al punto de de acceso, por tanto toDS está a uno (1) y FromDs estará a cero (0)
- En la cabecera MAC de la trama las direcciones MAC1, Mac2 y Mac3 serían:
MAC1 = BSSID (la MAC del punto de acceso)
MAC2 = Origen (la MAC del cliente)
MAC3 = Destino (la MAC del punto de acceso
- MAC1= Destino (la MAC del cliente)
MAC2= BSSID (la MAC del punto de acceso)
MAC3= Origen (la MAC del punto de acceso)
También puedes pensar que para qué 3 MAC’s?? si la comunicación es entre dos… claro, cuando la comunicación es entre punto de acceso y cliente (exclusivamente) pues es como “raro”, pero imagina que la comunicación es entre dos clientes inalámbricos… por ejemplo STA-01 hace un ping a STA-99
STA-01 enviará una trama de datos hacia el punto de acceso pero con destino a STA-99, bits toDS a 1 y FromDS a 0
- MAC1 = BSSID (mac del punto de acceso)
MAC2 = Origen (mac de STA-01)
MAC3 = Destino (mac de STA-99)
- MAC1 = Destino (Mac de STA-99)
MAC2 = BSSID (Mac del punto de acceso)
MAC3 = Origen (Mac de STA-01)
- MAC1= BSSID (mac del punto de acceso)
MAC2 = Origen (MAC de STA-99)
MAC3 = Destino (MAC de STA-01)
- MAC1 = Destino (Mac de STA-01)
MAC2 = BSSID (Mac del punto de acceso)
MAC3 = Origen (Mac de STA-99)
Para saber si una trama viaja desde o hacia el sistema de distribución (y así colocar las mac’s en su orden correcto) sólo tendremos que comprobar el byte 1 de Frame Control, imagina que capturas una trama de datos que es algo así:
Lo que tendremos que hacer es “analizar” el segundo byte de la FrameControl, por ejemplo, para saber si FromDS está activado:
Supongamos que tenemos un array llamado paquete[] que tiene todos y cada uno de los valores de la trama, de tal modo:
El que nos interesa es paquete[1], si hacemos un AND con 0x01 ó con 0x02 obtendremos 1 ó 2 dependiendo del estado de toDS y de FromDS:
También podríamos comprobarlo así:
- Código:
Estado= paquete[1] AND 0x03 Switch (Estado) { Case 0: es un paquete con FromDS y TodS a cero, probablemente de una Una estación a otra estación (modo as-hoc) Case 1: Es un paquete con FromDS a cero y ToDS a uno, probablemente de Un cliente al punto de acceso Case 2: Es un paquete con FromDS a uno y toDS a cero, probablemente de Un punto de acceso a un cliente Case 3: Es un paquete con FromDs a uno y ToDS a uno, probablemente de Un punto de acceso a otro punto de acceso (modo wds) }
Así mismo, si deseáramos averiguar si se trata de una trama de datos, podríamos hacer algo asi:
Observa que ahora se analizó el byte cero del paquete correspondiente.
Para saber si un paquete es QoS o no, también comprobaremos el byte cero.
Esto viene a cuento porque en el momento que estemos preparados, vamos a crear pequeños “programas” para poder analizar el tráfico y/o enviar tramas “a nuestro gusto”.
Comments (0)
Publicar un comentario