--- title: 计算机网络-实验(三)ARP欺骗 mathjax: true date: 2019-06-05 19:41:40 tags: [计算机网络] --- # 实验目的 1. 掌握常见ARP欺骗类型和手段 2. 掌握ARP协议工作原理和格式 3. 掌握防范ARP地址欺骗的方法和措施 4. 掌握Sniffer Pro软件的使用 # 实验环境 - 硬件 交换机1 台、路由器1台、计算机数台 - 软件 `Sinffer pro` # 实验原理 ## ARP协议 ### 简介 `ARP(Address Resolve Protocol)`,地址解析协议。 **用途**:用于寻找和IP 地址相对应的MAC地址。 **ARP消息类型**: - ARP request 即ARP请求分组,用于请求某IP主机的硬件地址。 **广播**。 - ARP response 即ARP响应分组,用于指出某IP主机的硬件地址。 单播。 ### ARP报文中各字段的意义 - 硬件类型 以太网接口类型为1。 - 协议类型 IP协议类型为080016。 - 操作 ARP请求分组为1,ARP响应分组为2。 - 硬件地址长度 MAC地址长度为6BH。 - 协议地址长度 IP地址长度为4BH。 - **源MAC地址** 发送方的MAC地址。 - **源IP地址** 发送方的IP地址。 - **目的MAC 地址** ARP 请求分组中该字段没有意义;ARP 响应分组中为接收方的MAC地址。 - **目的IP 地址** ARP 请求分组中为请求解析的IP 地址;ARP 响应分组中为接收方的IP地址。 ## ARP欺骗原理 **ARP请求分组**以**广播**形式发送,网络上的主机可以自主发送ARP应答消息; 当其他主机收到**ARP响应分组**时,不会检测该报文的真实性,直接将其记录在本地的MAC地址转换表。 就可以发送伪ARP响应分组,从而篡改本地的MAC地址表。 举例: 攻击者**甲**通过冒充某IP主机**丙**,给出错误的物理地址,并向另一主机**乙**单播一个ARP响应分组,这样**乙**接收到这个错误的IP与物理地址的映射,更新了ARP缓存表。 之后,主机**乙**使用ARP缓存表中该项时,则会出现错误。 # 实验步骤 ## 设置账户 控制面板——用户账户——设置用户名为`ligong`,并设置密码。 ## 设置FTP站点 控制面板——Internet信息服务——FTP站点——硬件——安全账户——浏览——高级——选中`ligong`——允许匿名——应用、确定。 ## 禁止网络保护 右击屏幕右下角盾牌,取消`Enable Auto Protection`。 ## 所用主机说明 我们需要三台主机,分别为甲、乙、丙。 **甲**为监听并攻击者,**乙**为`Ping`命令/`FTP`命令操作者,**丙**为IP地址提供者。 **甲**实现ARP欺骗后,**乙**无法`Ping`或无法通过`FTP`连接**丙**。 ## 进行ARP欺骗 在**甲**主机上进行操作。 1. 打开`Sniffer Pro`,选中本机的网卡,并选中`Log Off`,点击确定。 2. 点击菜单栏中`File`中的`Log On`,登录网卡。 3. 打开菜单栏中`display`中的`Define Filter`; 选中`Address`选项卡,将`Station1`和`Station2`设置为`Any`(这样将监听网络上的所有消息,个人觉得可以只监听乙和丙); 选中`Advanced`选项卡,选中`ARP`、`IP`、`IP ARP`、`TCP`、`UDP`和`FTP`。 4. 打开菜单栏中`Capture`中的`Start`,开始监听。 5. 点击左侧`Connection`,点击下侧的`Objects`选项。 6. 在右侧找到**乙**对**丙**的`ARP`信息包,双击,再选择`Decode`选项,可以看到`ARP`分组的结构,我们对**丙**的MAC地址进行修改(右击——`Edit`)。 7. 打开菜单栏中`Tools`中的`Trace Route`,实现ARP欺骗。 ## 结果检验 **甲**实现ARP欺骗后,**乙**`Ping`或通过`ftp`连接**丙**则会失败。 因为**甲**通过广播发出了错误的**丙**的物理地址,而**乙**接收到了这个错误的信息,在连接**丙**时则会使用这个错误的物理地址,造成无法连接。 # 实验心得 ARP是建立在网络中各个主机互相信任的基础上的。 ARP欺骗可以导致计算机通信失败,更严重的是可以导致通信重定向,攻击者可以窃取被攻击者通信的数据,存在极大的安全隐患。 --- 作者:[@臭咸鱼](https://github.com/chouxianyu) 转载请注明出处: 欢迎讨论和交流! ---