linux - 如何让 tcpdump 写入文件和标准输出适当的数据?

我想让 tcpdump 将原始数据包数据写入文件,并在捕获数据包时将数据包分析显示到标准输出中(通过分析,我的意思是当 - w 丢失)。 谁能告诉我该怎么做?

最佳答案

这是一个做你想做的事的好方法:

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

它的作用:

  • -w - 告诉 tcpdump 将二进制数据写入 stdout
  • -U 告诉 tcpdump 在收到每个数据包时将其写入标准输出,而不是缓冲它们并以 block 的形式输出
  • tee 将该二进制数据写入文件并写入其自己的 stdout
  • -r - 告诉第二个 tcpdump 从它的 stdin
  • 获取数据

https://stackoverflow.com/questions/25603831/

相关文章:

c++ - 在 Ubuntu 中学习 OpenGL

linux - 如何从 Linux 内核模块的 init_module 代码创 build 备节点?

java - System.currentTimeMillis 是否总是返回一个值 >= 以前的调用

linux - Home/End 键在 tmux 中不起作用

c++ - 在 C、C++ 中检测 Windows 或 Linux

linux - 在类 Unix 系统中上次运行的 cron 作业的详细信息?

java - Ant 找不到 javac,在 Ubuntu 上不会设置 JAVA_HOME

linux - 为什么Linux设备驱动中除了init还需要probe方法?

c++ - 谁决定任何数据类型或结构的大小(取决于 32 位或 64 位)?

c - libc(glibc) 在我们的 linux 应用程序中的作用是什么?