网络分析专家论坛 netexpert's Archiver

diker 发表于 2006-5-28 22:32

请教基于winpcap开发的抓包程序问题

我用VC开发的,每次抓到大于1000的包时,以太帧类型字段就变成空了,这是怎么回事?

截图见附件!

Vader 发表于 2006-5-28 23:58

包长度怎么还会有54呢?

看来问题不少

diker 发表于 2006-5-29 12:48

[quote]原帖由 [i]Vader[/i] 于 2006-5-28 23:58 发表
包长度怎么还会有54呢?

看来问题不少 [/quote]


我也感到奇怪!以太网的帧的长度是可变的,但都大于64字节,小于1518字节。
  但是下面的图是我用Iris捕获的,也有54的。

diker 发表于 2006-5-29 13:30

我看下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]]

pchtj 发表于 2006-5-29 17:49

能不能 粘贴部分截去数据后的代码  看看

diker 发表于 2006-5-30 17:10

问题已解决!len字段没初始化。

whq9908 发表于 2008-5-9 11:54

:handshake

页: [1]

Powered by Discuz! Archiver 6.1.0  © 2001-2007 Comsenz Inc.