Quantos bytes de um pacote de WLAN eu tenho que examinar para extrair endereços MAC?

1

Quantos bytes de um pacote 802.11 (WLAN) eu tenho que examinar para poder extrair endereço de origem, destino, receptor e transmissor do cabeçalho?

Esta imagem sugere que o tamanho do cabeçalho de um pacote WLAN é de 20 bytes. No entanto, parece haver um preâmbulo e um cabeçalho PLCP. A visualização de pacotes capturados com o Wireshark revela que há um cabeçalho Radiotap (34 ou 37 bytes no meu arquivo) e um cabeçalho MAC de mais de 20 bytes.

Quantos bytes (o mínimo absoluto) eu tenho que capturar para (sempre) conseguir extrair os quatro endereços MAC no cabeçalho MAC (802.11g / n)?

    
por user2862333 26.11.2013 / 23:17

2 respostas

2

This image suggests the header length of a WLAN packet is 20 bytes.

Não, isso sugere que o cabeçalho WLAN tem 30 bytes de comprimento. Mais precisamente, é até 30 bytes de comprimento, embora nem todos os pacotes tenham todos os quatro campos de endereço MAC, portanto o cabeçalho pode ser mais curto. (Ele também pode ser mais longo, com campos de Controle de QoS e 802.11n e mais tarde, mas esses vêm após os endereços MAC.)

Assim, como Spiff indica, você precisa capturar pelo menos 30 bytes para ter certeza de que obterá todos os endereços MAC.

However, there appears to be a preamble and a PLCP header.

Aqueles não aparecem na captura.

Viewing captured packets with Wireshark reveals that there's a Radiotap header (34 or 37 bytes long in my file),

Sim, se seus pacotes tiverem um cabeçalho Radiotap, você terá que capturar isso além do cabeçalho 802.11, e o tamanho do cabeçalho do Radiotap será, como notas do Spiff, dependentes do hardware, do driver e do modo como o o pacote é recebido ou transmitido.

Então, SE é possível fazer isso, você deve capturar apenas com o cabeçalho 802.11. Isso pode ou não ser possível, dependendo de qual sistema operacional você está usando (o * BSD e o OS X devem permitir a captura apenas com cabeçalhos 802.11, o Linux pode apenas permitir que você obtenha os cabeçalhos do Radiotap).

and a MAC header of more than 20 bytes.

Sim, conforme indicado, o diagrama em questão não não sugere que o cabeçalho tenha (no máximo) 20 bytes de comprimento.

    
por 28.11.2013 / 21:11
1

Selecione 802.11 como seu tipo de dados de interface (DLT_IEEE802_11) e capture 30 bytes.

Se você realmente deseja capturar a quantidade mínima e capturar de forma confiável o Endereço 1 até o Endereço 4, não deve usar o tipo de captura de metadados de rádio Radiotap (DLT_IEEE802_11_RADIO) porque é um cabeçalho de tamanho variável. Quanto tempo isso pode depender do rádio e do driver e vários aspectos da transmissão e recepção física do pacote.

    
por 27.11.2013 / 00:37