tcpdump filter que exclui o tráfego ip privado

6

Para um filtro genérico para excluir todo o tráfego no meu despejo que está entre o endereço IP privado, desenvolvi o seguinte:

sudo tcpdump -n '
(not
    (
        (src net 172.16.0.0/20 or src net 10.0.0.0/8 or src net 192.168.0.0/16)
    and
        (dst net 172.16.0.0/20 or dst net 10.0.0.0/8 or dst net 192.168.0.0/16)
    )
) and 
(not
    (
        (dst net 172.16.0.0/20 or dst net 10.0.0.0/8 or dst net 192.168.0.0/16)
    and
        (src net 172.16.0.0/20 or src net 10.0.0.0/8 or src net 192.168.0.0/16)    
    )
)' -w test2.dump

Parece muito excessivo, mas também parece funcionar, esse filtro é muito mais longo do que o necessário e existe uma maneira melhor de expressar essa lógica, ou há algo de errado com o filtro?

    
por Kyle Brandt 17.03.2010 / 20:26

2 respostas

9

Estou executando o tcpdump 4.0.0 e o libpcap 1.0.0 integrados no Mac OS X 10.6.2 e parece que posso me safar disso:

'not (src net (10 or 172.16/12 or 192.168/16) and dst net (10 or 172.16/12 or 192.168/16))'

Executei alguns testes rápidos que pareciam fazer o que você está perguntando: o tráfego de e de qualquer sub-rede de endereço privado do RFC 1918 foi omitido, mas todo o tráfego em um ou nos dois pontos de extremidade tinha um endereço público foi incluído.

Observe que você teve um erro no seu filtro original para a rede 172.16. Você havia movido a máscara de sub-rede 4 bits na direção errada. 172.16 é na verdade um / 12, não um / 20 como você escreveu. Ou seja, 172.16.0.0 - 172.31.255.255 são todos endereços privados da RFC 1918, enquanto o seu filtro estava capturando apenas 172.16.0.0 - 172.16.15.255.

    
por 17.03.2010 / 21:14
4

Não é seu segundo bloco

(not
   (
        (dst net 172.16.0.0/20 or dst net 10.0.0.0/8 or dst net 192.168.0.0/16)
    and
        (src net 172.16.0.0/20 or src net 10.0.0.0/8 or src net 192.168.0.0/16)    
    )
)

o mesmo que o seu primeiro bloco, apenas invertido? Eu diria que and é uma operação simétrica, então não fará diferença? (Significa que você também poderia remover o segundo bloco.)

    
por 17.03.2010 / 20:33

Tags