Filtrar todos os pacotes que não usam uma porta específica

1

Eu uso o wireshark para assistir a um arquivo pcap capturado. Eu vejo muita comunicação em uma porta específica, que não me interessa, então eu quero filtrar para ver apenas o resto da comunicação.

Eu usei essa regra de filtro: tcp.dstport != 1337 and tcp.srcport != 1337 para remover toda a comunicação tcp na porta 1337. Mas, como parece, essa regra também remove todo o tráfego não TCP. Por exemplo, as solicitações de DNS não são mais mostradas. Se eu alterar o filtro para (tcp.dstport != 1337 and tcp.srcport != 1337) or ! tcp , ele mostrará todo o tráfego, exceto a porta 1337 / tcp, mas não parece ser a maneira "correta" de fazê-lo. Está usando tcp.dstport ou tcp.srcport igual para filtrar somente o tráfego tcp e depois filtrar a porta?

    
por reox 21.01.2015 / 13:25

1 resposta

1

Seu filtro deve ser:

!(tcp.port == 1337)

Explicação

Existem 2 tipos de filtros em Wireshark :

  1. Filtro de captura : usado ao capturar tráfego (duh?) e construído com a sintaxe do filtro de pacotes de Berkeley (BPF) (verifique o manual de pcap-filter ). libpcap é a biblioteca subjacente que faz a captura real.

  2. Filtro de exibição : usado para reduzir a quantidade de tráfego que você vê e criou com um sintaxe proprietária (algumas delas se sobrepondo à BPF).

Seu filtro de exibição tcp.dstport != 1337 deve ser lido como "o pacote contém um campo chamado tcp.port com um valor diferente de 1337" . Como resultado, os pacotes sem um campo tcp.port serão filtrados.

    
por 21.01.2015 / 13:34

Tags