pcap_open_dead模拟完整UDP数据包捕获

pcap_open_dead模拟完整UDP数据包捕获,c,linux,udp,pcap,libpcap,C,Linux,Udp,Pcap,Libpcap,继我关于pcap文件创建的介绍之后,我现在想模拟保存完整的UDP数据包,包括以太网、IP和UDP报头 我应该使用哪种DLT_XXX类型?我相信pcap_dump()是使用pcap_open_dead(DLT_RAW,65535)时的以太网报头。如果您想通过以太网模拟完整的UDP over IP数据包,您需要DLT_EN10MB(名称中的“10MB”是历史性的;DLT_EN10MB实际上意味着“所有类型的以太网”) (DLT_RAW用于数据包,其中最低级别的报头用于IP;它不会跳过以太网报头,这意

继我关于pcap文件创建的介绍之后,我现在想模拟保存完整的UDP数据包,包括以太网、IP和UDP报头


我应该使用哪种DLT_XXX类型?我相信pcap_dump()是使用pcap_open_dead(DLT_RAW,65535)时的以太网报头。

如果您想通过以太网模拟完整的UDP over IP数据包,您需要
DLT_EN10MB
(名称中的“10MB”是历史性的;
DLT_EN10MB
实际上意味着“所有类型的以太网”)


DLT_RAW
用于数据包,其中最低级别的报头用于IP;它不会跳过以太网报头,这意味着您不必提供以太网报头,事实上,它要求您不提供以太网报头-如果您提供了一个,它将被写入文件,这将混淆读取文件的程序,正如他们所期望的那样数据包以IPv4或IPv6报头开始,而不是以太网络报头。)

如果要模拟完整的UDP over IP over Ethernet数据包,则需要
DLT_EN10MB
(名称中的“10MB”是历史数据;
DLT_EN10MB
实际上意味着“所有类型的以太网”)

DLT_RAW
用于数据包,其中最低级别的报头用于IP;它不会跳过以太网报头,这意味着您不必提供以太网报头,事实上,它要求您不提供以太网报头-如果您提供了一个,它将被写入文件,这将混淆读取文件的程序,正如他们所期望的那样他希望数据包以IPv4或IPv6报头开始,而不是以太网络报头。)