我怎样才能有tcpdump写入文件和标准输出适当的数据?

我想让tcpdump将原始数据包写入一个文件,并在捕获数据包的时候在标准输出中显示数据包分析(通过分析,我的意思是当缺less-w时它正常显示的行)。 任何人都可以告诉我怎么做?

这是一个干净的方式来做你想做的事情:

tcpdump -w - | tee somefile | tcpdump -r - 

它能做什么:

  • -w -告诉tcpdump将二进制数据写入stdout
  • tee把二进制数据写到一个文件和它自己的stdout
  • -r -告诉第二个tcpdumpstdin获取数据
 tcpdump ${ARGS} & PID=$! tcpdump ${ARGS} -w ${filename} kill $PID