Ele não faz nenhuma filtragem, mas este exemplo cria um prático sniffer de pacotes contínuo:
tcpdump -n -C 128 -W 100 -z /home/user/compress_logs.pl -i br0 -w /home/user/packetlogs/packetlog.pcap &
-
-nnão faz pesquisa reversa em IPs, não converte números de porta em descrições de texto, não converte endereços MAC em nomes, etc. -
-C 128rotaciona arquivos de captura a cada 128.000.000 bytes -
-W 100limita o número de arquivos de captura que estão sendo rotacionados (consulte-C) para 100 -
-z /home/user/compress_logs.plrun scriptcompress_logs.plem cada arquivo de captura rotacionado -
-i br0capture na interfacebr0 -
-w /home/user/packetlogs/packetlog.pcapuse o nome do arquivo/home/user/packetlogs/packetlog.pcap -
&isto é analisado por bash; indica que o comando deve ser executado em segundo plano (de forma assíncrona)
Coloque em /etc/rc.local para executar na inicialização. Ele captura todos os pacotes na interface br0 , que podem ser duas interfaces in-line como uma conexão ou duas interfaces conectadas a uma derivação passiva ou uma interface conectada a uma porta de switch espelhada (usei todas as três na prática)
Escreve ~ 128MB de arquivos e roda automaticamente até 100 deles. Quando capturar 128 MB de dados, ele fechará o arquivo, abrirá um novo e bifará o comando especificado com o nome do arquivo antigo como um argumento - nesse caso, um pequeno script Perl que comprime o arquivo de captura anterior para uma transferência mais rápida do IDS servidor.
Eu uso isso quando preciso monitorar uma conexão por um longo tempo (como um dia ou dois) e preciso voltar e encontrar um evento que ocorreu em um horário específico. Os arquivos pequenos são muito mais fáceis de manipular no Wireshark do que um arquivo pcap enorme.