【问题标题】:what is pcap magic number 0xc3d4a1b2?什么是 pcap 幻数 0xc3d4a1b2?
【发布时间】:2018-02-17 21:13:07
【问题描述】:

我正在尝试编写一个程序来读取在 linux 中捕获的 pcap 文件(tcpdump 版本 4.5.1 libpcap 版本 1.5.3),但我无法正确进行字节交换。幻数不是我期望的值之一(0xa1b2c3d4 或 0xd4c3b2a1),而是 0xc3d4a1b2。 'file' 命令正确识别它(tcpdump 捕获文件(little-endian)- 2.4 版(以太网,捕获长度 65535))和 'tcpdump -r' 读取它,但我不明白如何。幻数在我看来不是小端或大端。 hexdump 看起来像:

0000000 c3d4 a1b2 0002 0004 0000 0000 0000 0000
0000010 ffff 0000 0001 0000 6be0 5a87 a747 0008

这个文件的字节顺序是什么?

【问题讨论】:

    标签: pcap


    【解决方案1】:

    这可能就是数据的显示方式。我假设您使用的是hexdump。默认情况下,该程序使用两个字节的十六进制显示,即它正在读取两个字节并将它们解释为无符号短:

     $ hexdump file.pcap
     0000000 c3d4 a1b2 ...
    

    要获得按字节显示,您可以使用 -C 选项:

     $ hexdump -C file.pcap
     00000000  d4 c3 b2 a1  ...
    

    或者你可以使用 xxd:

     $ xxd file.pcap
     00000000: d4c3 b2a1 ...
    

    【讨论】:

    • 是的,就是这样。我的代码很好,但我从 hexdump 生成了输入并且不理解显示。现在效果很好!谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-10-05
    • 1970-01-01
    • 1970-01-01
    • 2010-09-08
    • 2013-03-30
    相关资源
    最近更新 更多