深入解析ETHERNET数据包格式:IP协议与TCP协议详解

日期: 2025-03-15 21:07:25 |浏览: 1|编号: 79755

友情提醒:信息内容由网友发布,本站并不对内容真实性负责,请自鉴内容真实性。

深入解析ETHERNET数据包格式IP协议与TCP协议详解

1。以太网数据包的协议类型类型值为0x0800:IP协议,即Ethertype_ip,

此值在/usr/include/net/ethernet.h中定义。以太网数据包的格式进一步细分

以下情况是:

(1)IP标头中的协议编号为ipproto_tcp,其值为6。以太网数据包的格式如下:

||

------------------------------------------------------------------------------------------------------------------------

| DST MAC ADDR | SRC MAC ADDR |类型| IP数据包| TCP数据包|

------------------------------------------------------------------------------------------------------------------------

||||||||

如以下示例所示:

00 00 21 CD A8 48 00 0A 98 1F 0A 8A 08 00 45 00

-------------------------

00 28 38 13 40 00 7E 06 85 48 A6 6F E5 87 A6 6F

------------------------

E5 0d 04 3a 01 95 BC 5d 5a 8b 25 69 20 82 50 11

------------

41 87 CC 34 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

-----

做出以下解释:

00 00 --- 08 00:以太网包,总计14个字节

00 00 21 CD A8 48:接收器的MAC地址,6个字节

00 0A 98 1F 0A 8A:发件人的Mac地址,6个字节

08 00:协议类型,2个字节,

0x0800:IP协议,该值在/usr/include/net/ethernet.h中

它在值中具有一个定义:Ethertype_ip

45 00 --- E5 0D:IP数据包,总计20个字节

06:协议类型,1是ICMP,6是TCP,17是UDP

A6 6F E5 87:发件人IP地址,4个字节,十进制:166.111.229.135

A6 6F E5 0D:接收器IP地址,4个字节,十进制:166.111.229.13

04 3a ---- 00 00:TCP包,总计20个字节

04 3a:发件人的端口号,2个字节,其十进制表示为:1082

01 95:接收器的端口号,2个字节,其小数为:405

41 87:TCP数据包窗口尺寸

(2)IP标头中的协议编号为ipproto_udp,其值为17。以太网数据包的格式如下:

||

----------------------------------------------------------------------------------------------------------------------

| DST MAC ADDR | SRC MAC ADDR |类型| IP数据包| UDP数据包|

----------------------------------------------------------------------------------------------------------------------

||||||||

如以下示例所示:

FF FF FF FF FF FF FF 00 80 C8 F7 0B 99 08 00 45 00

-------------------------

00 4E 0B 46 00 00 80 11 24 FF C0 A8 44 0A C0 A8

- -

44 FF 00 89 00 89 00 3A FA 63 80 37 01 10 00 01

------------------

00 00 00 00 00 00 00 20 45 4E 46 44 45 49 45 50 45

4E 45 46 43 41 43 41 43 41 43 43 41 43 41 43 41 41 43 41 43

41 43 41 43 41 42 4C 00 00 20 00 01

做出以下解释:

以太网数据包和IP数据包的标题格式与(1)相同。

其中:第二行中的11表示IPPROTO_UDP协议。

00 89 --- FA 63:UDP包,总计8个字节

00 89:发件人的端口号,2个字节,其十进制表示为:137

00 89:接收器的端口号,2个字节,其十进制表示为:137

00 3A:UDP数据包长度,其十进制表达式为:58

FA 63:UDP检查和

(3)IP标头中的协议编号为ipproto_icmp,其值为1。以太网数据包的格式如下:

||

------------------------------------------------------------------------------------------------------------------------

| DST MAC ADDR | SRC MAC ADDR |类型| IP数据包| ICMP数据包|

------------------------------------------------------------------------------------------------------------------------

||||||||

如以下示例所示:

00 0A 98 1F 0A 8A 00 00 21 CD A8 48 08 00 45 00

00 54 00 00 40 00 40 01 D0 97 A6 6F F9 0D CA 70

- -

00 24 08 00 BC 04 1B 21 00 01 C3 E6 2B 41 3B AE

------------------

0B 00 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 14 15

16 17 18 19 1a 1b 1c 1d 1e 1f 20 21 22 23 24 25

26 27 28 29 2a 2b 2c 2d 2e 2f 30 31 32 33 34 35

36 37

做出以下解释:

以太网数据包和IP数据包的标题格式与(1)相同。

其中:第二行中的01代表IPPROTO_ICMP协议。

08 00 --- 00 01:ICMP数据包,总计8个字节

08:ICMP_TYPE,1个字节。

00:ICMP_CODE,1个字节。

BC 04:ICMP检查和

1B 21:ICMP ID

00 01:ICMP数据包序列号

2。以太网数据包的协议类型类型值为0x0806:ARP协议,即:Ethertype_arp,

此值在/usr/include/net/ethernet.h中定义。以太网包的格式如下:

||

-----------------------------------------------------------------------------------------

| DST MAC ADDR | SRC MAC ADDR |类型| ARP协议数据包|

-----------------------------------------------------------------------------------------

||||||

如以下示例所示:

FF FF FF FF FF FF FF FF FF 00 0A 98 1F 0A 8A 08 06 00 01

----------------------------

08 00 06 04 00 01 00 0A 98 1F 0A 8A A6 6 6F E5 01

----------------------------

00 00 00 00 00 00 A6 6F E5 58 00 00 00 00 00 00 00 00 00 00 00

---------------------

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

做出以下解释:

FF FF --- 08 06:以太网包,总计14个字节

FF FF FF FF FF FF FF FF FF FF:接收器的MAC地址,6个字节

00 0A 98 1F 0A 8A:发件人的Mac地址,6个字节

08 06:协议类型,2个字节,

0x0806:arp协议,in/usr/include/net/ethernet.h

它在值中具有一个定义:ethertype_arp

00 01 --- F9 58:ARP包,总计28个字节

00 01:硬件地址格式,2个字节

08 00:协议地址格式,2个字节

06:硬件地址长度,1个字节

04:协议地址长度,1个字节

00 01:可选,2个字节,0x0001:arpop_request,

0x0002:arpop_reply

此值在/usr/include/net/if_arp.h中定义

00 0A 98 1F 0A 8A:发件人的Mac地址,6个字节

A6 6F E5 01:发件人的IP地址,4个字节,十进制:166.111.229.1

00 00 00 00 00 00 00:接收器的MAC地址,6个字节

A6 6F E5 58:接收器的IP地址,4个字节,十进制:166.111.229.88

提醒:请联系我时一定说明是从铂牛网上看到的!