tcpdump com múltiplos subtipos especificados?

3

Estou tentando criar um script bash para detectar ataques de desautenticação (estou no Mac). Enquanto estou ciente de que o comando:

$ tcpdump -l -I -i en0 -e -s 256 type mgt subtype deauth

irá detectar pacotes de autenticação, eu também gostaria de detectar simultaneamente pacotes de desassociação. Normalmente, você detectaria pacotes de desassociação com:

$ tcpdump -l -I -i en0 -e -s 256 type mgt subtype disassoc

No entanto, eu queria saber se havia alguma maneira de manipular esse comando para verificar os pacotes de desassociação e desautenticação ao mesmo tempo? Por exemplo. o comando:

$ tcpdump -l -I -i en0 -e -s 256 type mgt subtype deauth disassoc

obviamente não funcionará, mas espero que ajude você a ter uma ideia do que estou perguntando.

Além disso, eu entendo completamente que simplesmente usando o comando:

$ tcpdump -l -I -i en0 -e -s 256 type mgt

mostrará todos os quadros de gerenciamento, incluindo os pacotes de desassociação e desautenticação, mas ficará entupido com outros quadros irrelevantes, como beacons, solicitações de sondagem, etc.

Na verdade, estou ciente de que uma simples implementação grep , por exemplo, poderia remover praticamente todos os pacotes indesejados e deixar apenas pacotes de desassociação e desautenticação, mas eu sinto que essa é uma maneira bem equilibrada de fazer isso e exigiria mais ineficiência , tempo computacional bash para tentar analisar cada linha de cada quadro de gerenciamento voando pelo ar.

Eu realmente apreciaria se alguém pudesse me apontar na direção certa. Existe uma maneira simples de modificar o comando tcpdump acima para que ele detecte os dois tipos de pacote desejados? Ou será que eu vou ter que procurar um tipo diferente de solução como com grep como mencionei acima?

P.S. Para lembrá-lo, estou no OSX em vez de no Linux.

    
por Tom 10.08.2018 / 14:11

1 resposta

3

Conforme descrito na página de manual tcpdump , você pode combinar filtros com palavras-chave and , or e% código%. Você pode usar parênteses para agrupar (note que para que o seu shell analise a linha de comando corretamente, você provavelmente precisará de aspas):

 tcpdump -l -I -i en0 -e -s 256 'type mgt and (subtype deauth or subtype disassoc)'
    
por 10.08.2018 / 14:45