Em monitoring_Linux_box:
# nc -l -k -p 1234 > /var/tmp/pcap
Na caixa Linux:
# tcpdump -U -w - | nc monitoring_Linux_box 1234
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?
Na caixa de monitoramento:
# ssh root@otherbox tcpdump -n -i eth0 -w - | program_that_takes_pcap_on_input
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
.