Procurando espelhar a porta de uma interface de firewall de rede, conecte essa interface a um servidor Linux e faça com que esse servidor Linux execute constantemente um tcpdump e armazene a saída em arquivos.
Especificamente, meu requisito é que os arquivos pcap sejam salvos repetidamente, pois o tamanho desse arquivo atinge um número específico.
Por exemplo:
A porta 2 do firewall Juniper espelha todo o tráfego na porta 1. A porta 2 se conecta ao eth0 no servidor Linux. O servidor Linux tem um processo tcpdump em execução constante no eth0. O servidor Linux está configurado para salvar o tráfego em um arquivo chamado "tcpdump.pcap", mas quando o arquivo pcap exceder um tamanho específico, ele será compactado e renomeado para "tcpdump.pcap.0.gz". Como o segundo arquivo excede um tamanho específico, ele será renomeado para "tcpdump.pcap.1.gz", etc.
Isso me permitirá visualizar o tráfego de rede no último período de tempo X (por enquanto, estou procurando ter visibilidade nas últimas 72 horas).
O problema aqui é que não sei como fazer o que foi dito acima. Especificamente, como faço para que o tcpdump seja executado continuamente e salve automaticamente os pcaps, comprima e renomeie automaticamente cronologicamente?
Vamos dividir o problema nas seguintes partes:
tcpdump
salvar o dump no formato pcap : você pode usar a-w
opção. Como sempre, leia a página de manual cuidadosamentetcpdump
: você pode usarscreen
para executartcpdump
, do que desanexar/anexar à sua vontade; o processo continuará em execução até que você o interrompa;-C
opção de deixartcpdump
girar o arquivo pcap ou, alternativamente, você pode configurar e usarlogrotate
para renomear/girar automaticamente o arquivo de log quando um tamanho específico for atingido