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 &
-
-n
nã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 128
rotaciona arquivos de captura a cada 128.000.000 bytes -
-W 100
limita o número de arquivos de captura que estão sendo rotacionados (consulte-C
) para 100 -
-z /home/user/compress_logs.pl
run scriptcompress_logs.pl
em cada arquivo de captura rotacionado -
-i br0
capture na interfacebr0
-
-w /home/user/packetlogs/packetlog.pcap
use 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.