Gravando o tráfego de rede em uma caixa linux, transferindo-a para outra em tempo real

3

Eu tenho uma situação onde eu quero capturar todo o tráfego de rede em uma caixa Linux (atualmente usando o tcpdump), mas tenho que os dados transferidos em tempo real para outro Linux em uma rede separada (mas conectada). Essencialmente eu tenho

[network i'm curious about]---[eth0. Linux box eth1]----[separate network]---[eth0 monitoring Linux box]

O que estou fazendo agora é salvar tudo em um pcap e transferir periodicamente o pcap para a caixa de monitoramento do Linux. Isso funciona, mas é altamente ineficiente e definitivamente não é em tempo real. Existe uma maneira de fazer o tcpdump salvar o pcap em um fluxo de dados que eu possa fazer proxy para a caixa de monitoramento sem configurar algo como NFS ou SMB? Eu considero a caixa do Linux que está fazendo o suspeito do tcpdump na melhor das hipóteses e não quero oferecer um compartilhamento gravável na caixa de monitoramento.

Alguma idéia?

    
por tjac 21.11.2013 / 19:58

3 respostas

4

Em monitoring_Linux_box: # nc -l -k -p 1234 > /var/tmp/pcap

Na caixa Linux: # tcpdump -U -w - | nc monitoring_Linux_box 1234

    
por 21.11.2013 / 20:17
3

Na caixa de monitoramento:

# ssh root@otherbox tcpdump -n -i eth0 -w - | program_that_takes_pcap_on_input
    
por 21.11.2013 / 20:16
1

Uma captura ao vivo sobre o trabalho de SSH?

ssh -t remotehost 'sudo tcpdump [options]'

ou se você usa root ...

ssh root@remotehost 'tcpdump [options]'

(Certifique-se de excluir o tráfego SSH da captura).

Se você quiser assisti-lo na tela e salvar a saída em um arquivo, envie para tee .

    
por 21.11.2013 / 20:15