当前位置:文档之家› 网络协议分析实例

网络协议分析实例

实验一网络协议分析

一、实验目的

1. 掌握网络分析原理;

2. 学习Ethereal协议分析软件的使用;

3. 加深对基本协议的理解。

二、实验内容

1.掌握协议分析软件Ethereal的使用;

2.分析以太网帧格式;

3.IP、ICMP、TCP、UDP数据包格式。

三、实验所用仪表及设备

1.S3760(1台)、PC机(2台)

2.实验拓扑

四、实验步骤

1.双击启动桌面上ethereal图标,按ctrl+K进行“capture option”的选择。选择正确的NIC,

进行报文的捕获。

2.Capture packets in promiscuous mode表示是否打开混杂模式,打开即捕获所有的报文,

一般我们只捕获到本机收发的数据报文,所以关掉。

3.在Capture option中设置过滤规则(Capture filter)后,点击start就开始进行抓包,同时

就会弹出“Ethereal:capture form (nic) driver”,其中(nic)代表本机的网卡型号。该界面会

以协议的不同统计捕获到报文的百分比。

4.点击stop即可以停止抓包。

5.分析IP、ICMP等网络层协议数据包首部;

6.分析UDP和TCP协议数据首部,分析TCP三次握手机制。

五、实验结果:

六、数据报文的分析实例【数据见前页图】

1、以太网数据帧分析

字节 6 6 2 4 以太网 MAC 帧

所抓数据包为

分析:“00 1f d0 8d 00 06”是目的MAC 地址,“ 00 1d 0f 90 08 9e ”是源MAC 地址,“08 00”是数据类型,表示里面封装的是IP 数据包。

2、IP 数据包分析

所抓数据包为

第一个字节“45”高四位是4,表示此数据报是IPv4版本;低四位是5,表示首部长度,由于首部长度以4字节为单位,所以IP 数据包的首部长度为20字节。第二个字节“00”表示服务类型。第3、4个字节是“00 28”,表示数据报的总长度是40(=2

×16+8)字节。第5、6个字节是“fc 22”表示标识字段。第7个字节“40”的高4位表示标志字段,低4位和第8个字节“00”组成片偏移字段。第9个字节“38”表示生存时间;第10个字节“06”表示数据包的数据部分属于哪个协议,此值代表的协议是TCP 协议。第11、12两个字节表示首部校验和。第13到16字节“ ca 6c 16 2b ”的

4个字节表示源IP 地址是202.108.22.43。第17到20个字节“C0 a8 01 69”表示目的IP 地址是

192.168.1.105。

所抓数据包为

前两个字节“00 50”表示的是源端口号,“04 6a”表示是目的端口号,第5到8个字节“84 e4 e2 04”表示的是序号字段值,第9到12个字节“61 fa 08 a3”表示的是确认序号值。第13个字节“50”的高4为位表示数据偏移字段值,该TCP报文数据偏移字段值是5,该字段表示报文首部的长度,以4字节为单位,所以该TCP报文的首部长度是28字节。第14个字节“10”表示,ACK=409。第15、16个字节“09 d0”表示窗口字段值是2512,即告诉发送端在没有收到确认之前所能发送最多的报文段的个数。第17、18个字节“2d 1b”校验和字段。第19、20个字节“00 00”表示紧急指针字段值。剩下的其他字节是TCP报文的选项部分。

七、思考题

1. TCP的顺序号和确认号有什么规律?

答:数据分包发送,顺序号用来在目的终端重组数据,确认号用来确认接收终端收到了哪些包。

2. TCP数据中为什么没有总长度?

答:他有一个标明是否是结尾报文的标志位,只有最后的那个报文会置为0。所以可以通过收到的报文算出来。

3. UDP校验和根据什么计算?

答:首先,把校验和字段置0。然后,对首部中每个16bit进行二进制反码求和,在最后将高16位的数加到低16。(把整个首部看成是有一串16bit的字组成0,结果存在校验和字段中。包括:源IP + 目的IP + 0x00 + 0x11 + UDP长度+ 源端口号+ 目的端口号+ UDP长度+ 16UDP校验和(0x0000)+ 数据+ 0x00(如果数据为奇数字节)

相关主题