如何移除PCAP文件头?Wireshark录制文件需直接以以太网帧起始
移除PCAP文件头,保留纯以太网帧的方法
没问题,要把PCAP文件的文件头去掉,只留下从以太网帧(源/目的MAC开头)开始的纯数据,有几个简单可靠的办法,我给你拆解一下:
方法1:用Wireshark自带的editcap工具(最推荐)
如果你已经装了Wireshark,那自带的editcap工具绝对是最省心的选择——不用额外装软件,还能完美兼容各种PCAP格式(包括PCAPNG)。
打开终端,直接运行这条命令:
editcap -F raw your_input.pcap your_output.raw
参数解释:
-F raw:指定输出格式为原始链路层数据,这样生成的文件会完全去掉PCAP的文件头和数据包包头,直接从第一个以太网帧的MAC地址开始。your_input.pcap:替换成你要处理的原始PCAP文件名。your_output.raw:替换成你想要生成的纯帧文件名(后缀用.raw或者.bin都可以)。
方法2:用tcpdump工具(适合Linux/macOS用户)
如果你的系统里已经有tcpdump(大部分Linux发行版和macOS默认都预装了),也可以用它来提取纯帧:
tcpdump -r your_input.pcap -w your_output.raw --link-type raw
参数解释:
-r your_input.pcap:读取指定的PCAP文件。-w your_output.raw:将提取出的原始帧写入目标文件。--link-type raw:强制tcpdump输出不带PCAP头的原始链路层数据。
注意事项
- 别手动删文件头:经典PCAP格式的文件头是24字节,但如果你的文件是PCAPNG格式(Wireshark现在默认保存的格式),结构会复杂得多,手动删除很容易破坏后续的帧数据,强烈不推荐手动操作。
- 处理后生成的
.raw文件可以用Wireshark验证:直接拖入Wireshark,它会自动识别为以太网帧并正常解析。
内容的提问来源于stack exchange,提问作者Saadeddine Ben Jemaa




