tcpdump -dd 选项有哪些常见用途?

What are some common uses for the tcpdump -dd option?

在阅读 tcpdump 的手册页时,我看到 -dd 参数会将转储输出为 C 文件的片段。在什么情况下有用?我认为这是根据我们自己编写的代码快速包含并编译程序中的片段,该片段将用于处理数据?这对未知或新协议有用吗?还有其他一些常见的常设情况需要这样做吗?只是好奇。

如果您正在使用 libpcap/WinPcap 编写一个程序,该程序将使用过滤器,但无论出于何种原因,都不会 运行 pcap_compile() 翻译过滤器字符串,这将很有用转换为 BPF 机器码;它允许您使用 tcpdump 进行编译并生成一些文本,您可以在 struct bpf_insn 数组的初始化中使用这些文本(指向该数组的指针,以及其中的元素计数,您将放入 struct bpf_program).

不过,我不确定谁会这样做。