在一个linux机器上loggingnetworkingstream量,并实时传输到另一个机器上

我有一种情况,我想要捕获一个Linux机器上的所有networkingstream量(目前使用tcpdump),但将这些数据实时传输到另一个单独的(但连接的)networking上的Linux。 基本上我有

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

我现在正在做的是将所有内容保存到pcap中,并定期将pcap转移到监视Linux机器上。 这是有效的,但效率非常低,绝对不是实时的。 有没有办法让tcpdump保存pcap到一个数据stream,我可以代理到监控盒没有设置像NFS或SMB的东西? 我认为最好的方式是对tcpdump怀疑的Linux机器,而不想在监视器上提供一个可写的共享。

有任何想法吗?

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

在Linux上: # tcpdump -U -w - | nc monitoring_Linux_box 1234 # tcpdump -U -w - | nc monitoring_Linux_box 1234

从监视框中:

 # ssh root@otherbox tcpdump -n -i eth0 -w - | program_that_takes_pcap_on_input 

将通过SSH工作生活捕捉?

 ssh -t remotehost 'sudo tcpdump [options]' 

或者如果你使用root ..

 ssh root@remotehost 'tcpdump [options]' 

(请确保从捕获中排除您的SSHstream量。)

如果你想在屏幕上观看它并将输出保存到一个文件中,请pipe道到tee