【发布时间】:2012-04-22 22:33:56
【问题描述】:
我已经使用 c 中的 pcap 库捕获了一些数据包。现在我正在使用 python 程序来读取保存的数据包文件。但我这里有个问题。我有一个文件,它首先有 pkthdr(由 lybrary 提供),然后是实际数据包。 pkthdr 的格式是-
struct pcap_pkthdr {
struct timeval ts; /* time stamp 32bit */ 32bit
bpf_u_int32 caplen; /* length of portion present */
bpf_u_int32 len; /* length this packet (off wire) */
};
现在我想读取 len 字段,所以我跳过了 timeval 和 cap len,并使用 python 以二进制形式打印了 len 字段。我得到的二进制代码是 - 01001010 00000000 00000000 00000000 现在如何在 u_int32 中读取它,我不认为它是正确的值(太大),实际的 len 字段值应该是 74 字节(在 wireshark 中检查).. 所以请告诉我我做错了什么.. 提前致谢
【问题讨论】:
-
你能贴出你的python代码吗?