Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
继我关于pcap 文件创建的问题之后,我现在想模拟保存完整的 UDP 数据包,包括以太网、IP 和 UDP 标头。
我应该使用哪种 DLT_XXX 类型?我相信 pcap_dump()在使用 pcap_open_dead(DLT_RAW, 65535) 时会跳过以太网标头。
如果你想模拟一个完整的 UDP-over-IP-over-Ethernet 数据包,你需要DLT_EN10MB(名称中的“10MB”是历史的;DLT_EN10MB真正的意思是“所有类型的以太网”)。
DLT_EN10MB
(DLT_RAW用于最低级别标头用于 IP 的数据包;它不会跳过以太网标头,这意味着您不必提供以太网标头,实际上,它要求您不提供以太网标头- 如果您确实提供了一个,它将被写入文件,这会混淆读取文件的程序,因为它们会期望数据包以 IPv4 或 IPv6 标头开头,而不是以太网标头。)
DLT_RAW