工程类实验报告
系:计算机与信息学院专业:网络工程年级: 09级
姓名:学号:实验课程:
实验室号:__田C 513__ 实验设备号: 48 实验时间:
指导教师签字:成绩:
实验一链路层协议分析
一、实验目的和要求
1.了解以太网MAC 帧结构,初步了解TCP/IP 的主要协议和协议的层次结构。
2. 分析ARP 协议的报文格式,理解ARP 协议的解析过程。
二、实验原理
1.以太网MAC帧标准
2. IP地址与MAC地址
3. ARP协议原理
三、实验设备与环境
1. 实验设备和连接图如下图所示,一台锐捷S2126G 交换机连接了2 台PC 机,分别命名为PC1、PC2,交换机命名为Switch。
2. 实验分组
每二名同学为一组,每小组各自独立完成实验。
四、实验内容与步骤
1. 以太网链路层帧格式分析
步骤:
1.按图连接好设备,配置PC1 和PC2 的IP 地址;
2.在PC1和PC2上运行Wireshark截获报文;
3.在PC1的运行对话框中输入ping 172.29.6.32 ;
4.停止截获报文,将结果保存为MAC-48,并对截获的报文进行分析:
1)截获报文的类型及这些协议间的联系:
通过wireshark软件截到的ping命令的数据包均为icmp报文,共8个报文,其中有4个为icmp请求报文,另外4个为icmp会回复报文。Ping命令默认发送4个请求报文,大小默认为32字节,当目标主机收到请求后回复,本地主机就可以收到4个icmp回复报文,说明网络能通。
2)EthernetV2 规定以太网的MAC 层的报文格式分为7 字节的前导符、1 字节的帧首
定界、6 字节的目的 MAC 地址、6 字节的源 MAC 地址、2 字节的类型、 46~1500 字节的
数据字段和4 字节的帧尾校验字段。分析一个Ethernet V2 帧,查看这个帧由几部分组成,缺少了哪几部分?为什么?
答:这个帧由 6 字节的目的 MAC 地址、6 字节的源 MAC 地址、2 字节的类型、 46~1500 字节的数据字段组成。缺少了7 字节的前导符、1 字节的帧首定界和4 字节的帧尾校验字段。因为7字节的前导符,其作用是
用来使接收端的适配器在接受MAC帧时能迅速调整其时钟频率,使它和发送端实现位同步。1字节的帧首定界前六位的作用和前同步码一样,后两个1表示数据就要来了。还有4字节的FCS用来快速检验帧有没出现比特差错。这三部分用过后都会在适配器上被丢弃,不会提交给上一层。因此我们抓的包中没有这些信息。
5、在: PC1 和 PC2 上运行 Wireshark 截获报文,然后进入 PC1的 Windows 命令行窗口,执行如下命令: net send 172.29.6.32 Hello
这是 PC1向 PC2 发送消息的命令,等到 PC2 显示器上显示收到消息后,终止截获报文。注意 PC1 和 PC2 的信使服务应启动。
答:Win 7没有信使功能。
2.ARP协议分析
实验1:ARP协议
步骤:
1.查看本机 IP 地址和 MAC 地址在命令行窗口中输入命令:ipconfig /all ,在显示结果中可以看到本机的 MAC 地址, IP 地址,子网掩码,默认网关等信息。请记录你的主机的运行结果。
答:由上图可知,MAC地址为00-10-14-00-36-7F,iP地址为192.168.0.110,子网掩码为255.255.255.0,默认网关为192.168.0.1。
2、按照如图 27 所示连接好设备,配置 PC1 和 PC2 的 IP 地址;
3、在:PC1、PC2 两台计算机上执行如下命令,清除 ARP 缓存:ARP -d *
4、在 PC1、PC2 两台计算机上执行如下命令 ARP -a,查看高速缓存中的 ARP 地址映射表的内容
答:映射表中没有内容,被清除了。
5、在 PC1和 PC2上运行 Wireshark截获报文,为了截获和实验内容有关的报文, Wireshark 的 Captrue Filter 设置为默认方式;
6、在主机 PC1 上执行 Ping 命令向 PC2 发送数据报;
7、执行完毕,保存截获的报文并命名为 arp-1-学号;
8、在 PC1、PC2 两台计算机上再次执行 ARP -a 命令,查看高速缓存中的 ARP 地址映射表的内容:
1)这次看到的内容和步骤4 的内容相同吗?结合两次看到的结果,理解ARP 高速缓存的作用。
答:跟步骤4内容不一样,多了网关和目标主机的IP和MAC地址;
ARP缓存用来暂时(生命周期完后会删除)存放学习到的IP地址与MAC地址的映射关系。便于PC间的通讯。
2)把这次看到到的高速缓存中的ARP 地址映射表写出来。
答:192.168.1.1------->e0-05-c5-a9-0b-7a
192.168.1.100----->00-24-e8-ce-e3-45
9、重复步骤5—6,将此结果保存为 arp-2-学号;
10、打开 arp-1-学号,完成以下各题:
1)在截获的报文中由几个 ARP 报文?在以太帧中,ARP 协议类型的代码值是什么?
答:截到4个ARP报文,两个ARP请求,两个ARP回复。
ARP 的代码值为0x0806
2)打开 arp-2-学号,比较两次截获的报文有何区别?分析其原因。
答:第二次ping,没有截获ARP报文,因为在ARP缓存表中保留有目标主机的IP地址和MAC地址。
3)分析 arp-1 中 ARP 报文的结构,完成表 11。
表 11 ARP 报文分析
ARP 请求报文ARP 应答报文
字段报文信息及参数字段报文信息及参数
硬件类型Ethernt(0x0001) 硬件类型Ethernet(0x0001) 硬件地址长度 6 硬件地址长度 6
协议地址长度 4 协议地址长度 4
操作Request(0x0001) 操作Reply (0x0002)
源站物理地址00-26-9e-bb-9a-29 源站物理地址00-24-e8-ce-e3-45 源站 IP 地址192.168.1.101 源站 IP 地址192.168.1.100
目的站物理地址00-00-00-00-00-00 目的站物理地址00-26-9e-bb-9a-29 目的站 IP 地址192.168.1.100 目的站 IP 地址192.168.1.101
4)ARP 缓存中的表项是有生命期的,超过生命期的表项将被删除,请问这个生命期通常为多少?说说你是如何检验这个生命期的。
答:这个生命周期通常为20 分钟,现将ARP缓存表删除,然后ping目标
主机:ping 192.168.1.100 ,将网线拔掉,不要与外界通信,每隔1分钟去查看一下ARP缓存表是否还存在目标主机的IP--MAC映射,命令:arp -a ,若不存在记录时间,则这个时间就是ARP的大概缓存时间。
5)用 PING 命令去 PING 局域网中一台未开机的主机,保存监听记录为 arp-3-学号,与前两次截获的报文比较,有何区别?分析其原因。
答:ping没有开机的主机,无法访问目标主机。其截获的报文均是ARP请求报文。
实验2:MAC 地址欺骗
步骤 1:先运行 ipconfig /all 命令,记录下 PC2 的 MAC 地址
PC2 的MAC地址为00-24-e8-ce-e3-45
步骤 2:修改 PC2 的 MAC 地址为一个新的 MAC 地址(注:可以修改?后一个数值)。修改方法:
打开本地连接的属性,在“常规”里面,有一个“配置”,然后点“高级”,选“network address”,选中“值”,在里面填写数据。如果原先的 MAC 地址为:00-1D-7D-77-45-83,可以修改成:00-1D-7D-77-45-84,确定即可。
修改主机 PC2 的 MAC 地址之后,如果主机所在局域网使用 DHCP 服务器为主机
分配动态 IP 地址,则 DHCP 服务器会为该主机重新分配一个新的 IP 地址。
新IP 为192.168.1.103
步骤 3:在 PC2 中 PING PC1,用 arp -a 再将查看 ARP 缓存,写出此时 ARP 缓存中的内容,与实验 1 中步骤 8 的 ARP 缓存比较,有何发现?
ip地址为新分配的ip地址,MAC地址也是自己窜改的MAC地址。
步骤 4:如果将 PC2 的 MAC 地址修改成和 PC1 的一样,会存在什么问题?比如:PC1 与 PC2 是否可以相互 PING 通?PC1 和 PC2 可否访问同一网络的其他主机?其他主机是否可以正常访问 PC1 或 PC2?
答:可以ping同,但无法访问同一网络主机,其他主机不可以正常访问PC1或PC2。
五、实验总结
通过本次实验,我对MAC帧,ARP协议有了更进一步地了解,同时也加深了主机间通讯的过程的理解。用抓包软件对数据包进行分析,对帧的整体格式,更加熟悉,真是“纸上得来终觉浅,绝知此事要躬行”。
六、质疑、建议、问题讨论
在实验ARP协议步骤9中,在ARP缓存中已经有目标主机的ip--mac的映射,再次通讯时不应该在发送ARP报文,但截获的报文中却依然有ARP报文,不知是什么原因。