先说下我的环境:两台机器通过一个华三S5016P这个交换机连接,用一台机器A往另一台机器B发UDP包,机器B用winpcap抓包,抓包过滤参数是只收到UDP包并且目的地址机器B的包。但是我在读取抓到的ethernet包那段内存时却显示如下:0x010471C4 00 1d 09 13 15 30 00 12 79 .....0..y
0x010471CD c2 8a dd 08 00 45 00 00 44 ÂÝ..E..D
0x010471D6 5a 61 00 00 80 11 5e 15 c0 Za...^.À
0x010471DF a8 00 04 c0 a8 00 de 04 32 ¨..À¨.Þ.2
0x010471E8 08 ae 00 30 5c 68 34 30 36 .®.0\h406
0x010471F1 35 32 36 61 61 61 61 61 61 526aaaaaa
0x010471FA 61 61 61 61 61 61 61 61 61 aaaaaaaaa
0x01047203 61 61 61 61 61 61 61 61 61 aaaaaaaaa
0x0104720C 61 61 61 61 61 61 61 61 61 aaaaaaaaa
0x01047215 61 ad ba 0b c6 e4 47 20 18 aº.ÆäG .
0x0104721E 0b 00 52 00 00 00 52 00 00 ..R...R..
0x01047227 00 14 00 40 80 00 1d 09 13 ...@....
0x01047230 15 30 00 12 79 c2 8a dd 08 .0..yÂÝ.
0x01047239 00 45 00 00 44 5a 88 00 00 .E..DZ..
0x01047242 80 11 5d ee c0 a8 00 04 c0 .]îÀ¨..À
0x0104724B a8 00 de 04 32 08 ae 00 30 ¨.Þ.2.®.0
0x01047254 58 69 34 30 36 35 36 35 61 Xi406565a
0x0104725D 61 61 61 61 61 61 61 61 61 aaaaaaaaa
0x01047266 61 61 61 61 61 61 61 61 61 aaaaaaaaa
0x0104726F 61 61 61 61 61 61 61 61 61 aaaaaaaaa
0x01047278 61 61 61 61 61 61 ad ba 0b aaaaaaº.
0x01047281 c6 e4 47 10 20 0b 00 52 00 ÆäG. ..R.
0x0104728A 00 00 52 00 00 00 14 00 06 ..R......
0x01047293 04 00 1d 09 13 15 30 00 12 ......0..
0x0104729C 79 c2 8a dd 08 00 45 00 00 yÂÝ..E..
0x010472A5 44 5a 9a 00 00 80 11 5d dc DZ...]Ü
0x010472AE c0 a8 00 04 c0 a8 00 de 04 À¨..À¨.Þ.
0x010472B7 32 08 ae 00 30 56 6b 34 30 2.®.0Vk40
0x010472C0 36 35 38 33 61 61 61 61 61 6583aaaaa
0x010472C9 61 61 61 61 61 61 61 61 61 aaaaaaaaa
0x010472D2 61 61 61 61 61 61 61 61 61 aaaaaaaaa按我目前的知识理解:
0x010471C4 00 1d 09 13 15 30 00 12 79 .....0..y
0x010471CD c2 8a dd 08 00 这段内存是ethernet包头。 45 00 00 44 ÂÝ..E..D
0x010471D6 5a 61 00 00 80 11 5e 15 c0 Za...^.À
0x010471DF a8 00 04 c0 a8 00 de 这段内存是IP包的包头。 04 32 ¨..À¨.Þ.2
0x010471E8 08 ae 00 30 5c 68 这段内存是UDP包的包头。 34 30 36 .®.0\h406
0x010471F1 35 32 36 61 61 61 61 61 61 526aaaaaa
0x010471FA 61 61 61 61 61 61 61 61 61 aaaaaaaaa
0x01047203 61 61 61 61 61 61 61 61 61 aaaaaaaaa
0x0104720C 61 61 61 61 61 61 61 61 61 aaaaaaaaa
0x01047215 61 这段内存是UDP包的数据。 ad ba 0b c6 这4个字节是ethernet包的包尾,也就是其CRC值。我的疑问是: e4 47 20 18 aº.ÆäG .
0x0104721E 0b 00 52 00 00 00 52 00 00 ..R...R..
0x01047227 00 14 00 40 80 这18个字节是什么东西?该怎么解释?也就是在两个以太包之间的数据是什么?
是我以前理解的不对,还是其他什么的?
希望知道的能解释一下,谢谢!
0x010471CD c2 8a dd 08 00 45 00 00 44 ÂÝ..E..D
0x010471D6 5a 61 00 00 80 11 5e 15 c0 Za...^.À
0x010471DF a8 00 04 c0 a8 00 de 04 32 ¨..À¨.Þ.2
0x010471E8 08 ae 00 30 5c 68 34 30 36 .®.0\h406
0x010471F1 35 32 36 61 61 61 61 61 61 526aaaaaa
0x010471FA 61 61 61 61 61 61 61 61 61 aaaaaaaaa
0x01047203 61 61 61 61 61 61 61 61 61 aaaaaaaaa
0x0104720C 61 61 61 61 61 61 61 61 61 aaaaaaaaa
0x01047215 61 ad ba 0b c6 e4 47 20 18 aº.ÆäG .
0x0104721E 0b 00 52 00 00 00 52 00 00 ..R...R..
0x01047227 00 14 00 40 80 00 1d 09 13 ...@....
0x01047230 15 30 00 12 79 c2 8a dd 08 .0..yÂÝ.
0x01047239 00 45 00 00 44 5a 88 00 00 .E..DZ..
0x01047242 80 11 5d ee c0 a8 00 04 c0 .]îÀ¨..À
0x0104724B a8 00 de 04 32 08 ae 00 30 ¨.Þ.2.®.0
0x01047254 58 69 34 30 36 35 36 35 61 Xi406565a
0x0104725D 61 61 61 61 61 61 61 61 61 aaaaaaaaa
0x01047266 61 61 61 61 61 61 61 61 61 aaaaaaaaa
0x0104726F 61 61 61 61 61 61 61 61 61 aaaaaaaaa
0x01047278 61 61 61 61 61 61 ad ba 0b aaaaaaº.
0x01047281 c6 e4 47 10 20 0b 00 52 00 ÆäG. ..R.
0x0104728A 00 00 52 00 00 00 14 00 06 ..R......
0x01047293 04 00 1d 09 13 15 30 00 12 ......0..
0x0104729C 79 c2 8a dd 08 00 45 00 00 yÂÝ..E..
0x010472A5 44 5a 9a 00 00 80 11 5d dc DZ...]Ü
0x010472AE c0 a8 00 04 c0 a8 00 de 04 À¨..À¨.Þ.
0x010472B7 32 08 ae 00 30 56 6b 34 30 2.®.0Vk40
0x010472C0 36 35 38 33 61 61 61 61 61 6583aaaaa
0x010472C9 61 61 61 61 61 61 61 61 61 aaaaaaaaa
0x010472D2 61 61 61 61 61 61 61 61 61 aaaaaaaaa按我目前的知识理解:
0x010471C4 00 1d 09 13 15 30 00 12 79 .....0..y
0x010471CD c2 8a dd 08 00 这段内存是ethernet包头。 45 00 00 44 ÂÝ..E..D
0x010471D6 5a 61 00 00 80 11 5e 15 c0 Za...^.À
0x010471DF a8 00 04 c0 a8 00 de 这段内存是IP包的包头。 04 32 ¨..À¨.Þ.2
0x010471E8 08 ae 00 30 5c 68 这段内存是UDP包的包头。 34 30 36 .®.0\h406
0x010471F1 35 32 36 61 61 61 61 61 61 526aaaaaa
0x010471FA 61 61 61 61 61 61 61 61 61 aaaaaaaaa
0x01047203 61 61 61 61 61 61 61 61 61 aaaaaaaaa
0x0104720C 61 61 61 61 61 61 61 61 61 aaaaaaaaa
0x01047215 61 这段内存是UDP包的数据。 ad ba 0b c6 这4个字节是ethernet包的包尾,也就是其CRC值。我的疑问是: e4 47 20 18 aº.ÆäG .
0x0104721E 0b 00 52 00 00 00 52 00 00 ..R...R..
0x01047227 00 14 00 40 80 这18个字节是什么东西?该怎么解释?也就是在两个以太包之间的数据是什么?
是我以前理解的不对,还是其他什么的?
希望知道的能解释一下,谢谢!
看懂WinPCAP的代码或例程,这些数据就应该很清楚了
struct bpf_hdr {struct timeval bh_tstamp;// 捕获到packettimestamp:UINT bh_caplen;// 捕获到packet长度:UINT bh_datalen;// 原始packet长度:USHORT bh_hdrlen;// bpf header长度(this struct plus alignment padding):
};
正好18个字节。我觉得应该是这个,不知道对不对?再等一天,看看有没有高手确认一下。
今晚结贴。