Capturando mais quadros WLAN do que enviando / recebendo quadros Ethernet

0

Estou tentando determinar se um computador que captura quadros WLAN em uma rede 802.11n faz isso corretamente.

Eu faço isso permitindo que um computador (1) gere tráfego baixando alguns arquivos e capture o tráfego gerado. O outro computador (2) captura o tráfego de WLAN gerado pelo computador (1). Aparentemente eu só posso salvar o tráfego no formato Ethernet no computador (1) (embora seja enviado através da minha interface sem fio). Computador (2) recebe tráfego na interface do monitor sem fio com o tipo de link IEEE802_11_RADIO.

Isso funciona em algum grau. Depois de um tempo, o computador (1) vê o seguinte (números arbitrários):

tshark -r /tmp/testcap -Y "eth.dst==[mac NIC] or eth.src==[mac NIC]" | wc -l

dá 3757 pacotes.

Computador (2) vê o seguinte:

tshark -r /tmp/ctrlcap -Y "wlan.sa==[mac NIC] or wlan.da==[mac NIC] or wlan.ra==[mac NIC] or wlan.ta==[mac NIC]" | wc -l

dá 7234 pacotes.

Alguém poderia imaginar que o número de pacotes seria o mesmo, mas aparentemente o número de pacotes é muito diferente.

Eu estou procurando uma explicação para isso, e me deparei com algo chamado agregação MSDU ( link ). No entanto, se eu entendi corretamente, isso implicaria que o número de pacotes 802.11 no computador (2) seria menor do que o número de pacotes Ethernet no computador (1), o que não é o caso de todo.

Alguém poderia explicar esse comportamento? Seria possível verificar se estou capturando o número correto de pacotes de outra maneira?

    
por user2862333 03.01.2014 / 16:43

1 resposta

1

I do this by letting one computer (1) generate traffic by downloading some files, and capture that generated traffic. The other computer (2) captures the WLAN traffic generated by computer (1). Apparently I can only save traffic in Ethernet format on computer (1) (although it's sent through my wireless interface).

Para citar a página do wiki do Wireshark sobre como capturar o tráfego da WLAN :

When not in monitor mode, the adapter might only capture data packets; you may have to put the adapter into monitor mode to capture management and control packets. In addition, when not in monitor mode, the adapter might supply packets with fake Ethernet headers, rather than 802.11 headers, and might not supply additional radio-layer information such as data rates and signal strength. You may have to perform operating-system-dependent and adapter-type-dependent operations to enable monitor mode; information on how to do so is given below.

A parte chave da citação aqui é "Além disso, quando não está no modo de monitor, o adaptador pode fornecer pacotes com cabeçalhos de Ethernet falsos, em vez de cabeçalhos 802.11".

No computador (1), provavelmente você não está capturando no modo monitor. Pode ou não ser possível capturar no modo de monitor nesse computador; O WinPcap e, portanto, o Wireshark, não suportam o modo monitor, portanto, se você estiver executando o Windows, verá somente cabeçalhos 802.11 se tiver um adaptador AirPcap (separado do adaptador 802.11 pelo qual os pacotes estão sendo transmitidos). p>

Computer (2) receives traffic on the wireless monitor interface with link type IEEE802_11_RADIO.

Em esse adaptador, você provavelmente está capturando no modo monitor.

A parte chave da citação do Wireshark aqui é "Quando não está no modo de monitor, o adaptador pode capturar apenas pacotes de dados; você pode ter que colocar o adaptador no modo monitor para capturar pacotes de gerenciamento e controle." Isto significa que a captura no computador (2) pode ver pacotes não-dados, mas a captura no computador (1) provavelmente não, portanto a captura no computador (2) pode ter mais pacotes.

Tente, por exemplo:

tshark -r /tmp/ctrlcap -Y "wlan.fc.type == 2 and (wlan.sa==[mac NIC] or wlan.da==[mac NIC] or wlan.ra==[mac NIC] or wlan.ta==[mac NIC])" | wc -l

para eliminar pacotes sem dados, como quadros de beacons , ao contar os pacotes no computador (2).

    
por 03.01.2014 / 21:33