请教基于winpcap开发的抓包程序问题
我用VC开发的,每次抓到大于1000的包时,以太帧类型字段就变成空了,这是怎么回事?截图见附件! 包长度怎么还会有54呢?
看来问题不少 [quote]原帖由 [i]Vader[/i] 于 2006-5-28 23:58 发表
包长度怎么还会有54呢?
看来问题不少 [/quote]
我也感到奇怪!以太网的帧的长度是可变的,但都大于64字节,小于1518字节。
但是下面的图是我用Iris捕获的,也有54的。 我看下winpcap的头文件,捕获的数据包长度放在结构
struct pcap_pkthdr {
struct timeval ts; /* time stamp */
bpf_u_int32 caplen; /* length of portion present */
bpf_u_int32 len; /* length this packet (off wire) */
};中,
bpf_u_int32 是u_int
length this packet ([b]off wire[/b]),[b]off wire[/b]是什么意思?我理解是去掉前导码和帧前定界符和校验,共12B。这样可能出现54B的,但是1514的又没法 解释了 ?
下面的贴也讨论过以太网帧长度问题,但是没达成一致的结论。
[url]http://www.netexpert.cn/viewthread.php?tid=2998&highlight=%D2%D4%CC%AB%CD%F8%D6%A1%B3%A4[/url]
[[i] 本帖最后由 diker 于 2006-5-29 13:38 编辑 [/i]] 能不能 粘贴部分截去数据后的代码 看看 问题已解决!len字段没初始化。 :handshake
页:
[1]