例如,当magic_number为0xa1b2c3d4时,ether_type为0x0008。
那么,如果magic_number是0xd4c3b2a1,那么ether_type会是0x0800吗?
我只有.pcap文件,magic_number是0xa1b2c3d4,所以我无法验证自己。
或者有人可能上传一个magic_number为0xd4c3b2a1的magic_number文件,然后我可以自己分析。
谢谢。
发布于 2018-10-26 02:44:48
发布于 2018-10-29 04:35:30
以太网类型字段总是以数据包中的大端字节(“网络”)字节顺序排列,因此,要读取它,必须将其从大端字节顺序转换为机器的字节顺序,例如使用ntohs()。
这与编写文件的主机的字节顺序无关;使用ntohs()将在所有具有所有pcap的机器上工作。
(不过,请记住,有些机器上的以太网类型字段--或任何其他多字节积分字段-一次只能取一个字节,并将这些字节组装到值中,因为这些机器会捕获未对齐的内存访问。例如,请参阅tcpdump源代码中extract.h中的extract.h宏/函数。)
https://stackoverflow.com/questions/52963877
复制相似问题