资源描述
实验三 地址转换协议ARP
实验目的
1.能够使用ARP命令对ARP选路表(下文简称ARP表)进行简单操作。
2.学会使用WIRESHARK捕获ARP数据包并分析其格式。
3.深入理解ARP(地址解析协议)的工作原理和重要作用。
实验环境
1.安装Windows2000/2003Server/XP操作系统的PC计算机一台。
2.每台PC具有一块以太网卡,通过双绞线与局域网相连。
2.每台PC运行网络协议分析软件WIRESHARK。
实验原理
ARP协议是“Address Resolution Protocol”的缩写。在局域网中,网络中实际传输的是“帧”,帧里面是有目标主机的MAC地址的。在以太网中,一台主机要和另一台主机进行直接通信,必须要知道目标主机的MAC地址。但这个目标MAC地址是如何获得的呢?它就是通过地址解析协议获得的。所谓“地址解析”就是主机在发送帧前将目标IP地址转换成目标MAC地址的过程。ARP协议的基本功能就是通过目标设备的IP地址,查询目标设备的MAC地址,以保证通信的顺利进行。
在DOS提示符下使用arp -a命令就可以查看本地的ARP缓存内容,所以,执行一个本地的PING命令后,ARP缓存就会存在一个目的IP的记录了。当然,如果你的数据包是发送到不同网段的目的地,那么就一定存在一条网关的IP-MAC地址对应的记录。
知道了ARP协议的作用,就能够很清楚地知道,数据包的向外传输得依靠ARP协议,当然,也就是依赖ARP缓存。要知道,ARP协议的所有操作都是内核自动完成的,同其他的应用程序没有任何关系。同时需要注意的是,ARP协议只使用于本网络。
硬件类型(值为1)
协议类型(值为0800H)
硬件长度(值为6)
协议长度(值为4)
操作:请求1,响应2
发送MAC地址(6字节)
发送IP地址(4字节)
目标端MAC地址(6字节)(并未包含在请求报文中)
目标端IP地址(4字节)
图2-1 使用IP协议的以太网中ARP报文格式
字段说明:
硬件类型:表示硬件类型,例如:1表示以太网。
协议类型:表示要映射的协议类型,例如 0x0800表示IP地址。
硬件长度:指明硬件地址长度,单位是字节,MAC是48位,长度是6个 字节。
协议长度:高层协议地址的长度,对于IP地址,长度是4个字节。
操作字段:共有二种操作类型,1表示ARP请求,2表示ARP应答。
发送方MAC:6个字节的发送方MAC地址。
发送方IP: 4个字节的发送方IP地址。
目的MAC:6个字节的目的MAC地址。
目的IP: 4个字节的目的IP地址。
图2-2 ARP地址解析过程
实验步骤
1、使用ARP命令
打开“命令提示符”界面,键入“arp -a”指令查看本机ARP表中的内容。如图2-1所示。
图2-1 查看本机ARP表的内容
注意:在ARP表中,各主机的逻辑地址与物理地址是一一对应的,由此形成表项。主机之间进行物理通信前,首先要查找本机ARP表,如果有对应项,则将通信对方的IP地址转换为相应的物理地址。“Type”栏下的“dynamic”字段表明该表项处在动态更新中。如果20分钟内没有其它访问网络的操作,ARP表会自动清空。
如果不想等待20分钟,可使用“arp –d *”命令主动清空ARP表的内容。此时再执行“arp -a”命令,会发现ARP表已经清空。
我们还可以使用“arp -s”命令手工设置ARP表表项,如:
“arp –s 192.168.12.253 00-cd-0d-33-00-34”。(arp –s IP地址 MAC地址)
图2-2 手动添加ARP表表项
2、分析ARP协议的工作过程
具体操作步骤是:
(1)相邻的两名同学为一组,清除ARP表中的所有项。
(2)运行WIRESHARK程序,执行分组捕获操作。
(3)向另一台机器发送Ping包,稍后停止发Ping包。
(4)查看WIRESHARK捕到的ARP包,分析ARP协议执行的全过程。
3、用ARP命令查找IP地址冲突主机
我们知道,如果网络中存在相同IP地址的主机的时候,就会报告出IP地址冲突的警告。这是怎么产生的呢?
比如某主机B规定IP地址为192.168.12.251,如果它处于开机状态,那么其他机器A更改IP地址为192.168.12.251就会造成IP地址冲突。其原理就是:主机A在连接网络(或更改IP地址)的时候就会向网络发送ARP包广播自己的IP地址。如果网络中存在相同IP地址的主机B,那么B就会通过ARP来reply该地址,当A接收到这个reply后,A就会跳出IP地址冲突的警告,当然B也会有警告。
如果能同时观察到这些主机,那么通过修改其中一台主机的IP地址即可解决问题。但是如果我们仅能观察到其中一台PC提示“IP地址192.168.12.251与网络上的其他地址冲突”,那么应如何确定是哪两台主机设置了相同的IP地址呢?
(1)将该报警主机的IP地址修改为一个未用地址。如:192.168.12.253
(2)在该机命令提示符界面输入“Ping 192.168.12.251”。
(3)执行“arp -a”命令。
思考题
1.结合实验画出地址解析的流程图。
2.根据ARP协议的工作机制考虑是否存在地址欺骗的安全隐患?试考虑可能的解决途径。
3.ARP协议只能解析本网络地址,那么跨网络如何解析地址呢?
展开阅读全文