我正在调试一个
Linux嵌入式平台,它有一个接口,常规的以太网帧在前面有一个额外的82个八位字节的平台标头.我能够使用tcpdump从这个接口嗅探,但是tcpdump无法有效地解码,因为以太网头没有从它期望的那里开始.因此,我所能看到的是带有-x选项的十六进制转储,但为方便起见,我希望tcpdump对它们进行解码.我对82-octet头的内容不感兴趣,但希望看到后续封装的以太网帧的解码.
有没有办法告诉tcpdump开始解码以太网头,从捕获的数据包开始偏移82个字节,而不是通常的0个八位字节?
解决方法
除了修改tcpdump源之外.
如果你想这样做,我建议使用该设备的DLT_USERn DLT_ / LINKTYPE_值之一,或者通过tcpdump.org正式分配一个,黑客libpcap返回这些设备的DLT_值,并将tcpdump黑客攻击通过跳过(或解码,如果有用)82个八位字节平台头来解码.