第七章 TCP/IP——ARP 网络攻击与欺骗
一 什么是 ARP
地址解析协议,即 ARP(Address Resolution Protocol),是根据 IP 地址获取物理地址的一个 TCP/IP 协议。主机发送信息时将包含目标 IP 地址的 ARP 请求广播到网络上的所有主机,并接收返回消息,以此确定目标的物理地址;收到返回消息后将该 IP 地址和物理地址存入本机 ARP 缓存中并保留一定时间,下次请求时直接查询 ARP 缓存以节约资源。地址解析协议是建立在网络中各个主机互相信任的基础上的,网络上的主机可以自主发送 ARP 应答消息,其他主机收到应答报文时不会检测该报文的真实性就会将其记入本机 ARP 缓存;由此攻击者就可以向某一主机发送伪 ARP 应答报文,使其发送的信息无法到达预期的主机或到达错误的主机,这就构成了一个 ARP 欺骗。ARP 命令可用于查询本机 ARP 缓存中 IP 地址和 MAC 地址的对应关系、添加或删除静态对应关系等。相关协议有 RARP、代理 ARP。NDP 用于在 IPv6 中代替地址解析协议。
二 ARP 攻击
ARP 攻击就是通过伪造 IP 地址和 MAC 地址实现 ARP 欺骗,能够在网络中产生大量的 ARP 通信量使网络阻塞,攻击者只要持续不断的发出伪造的 ARP 响应包就能更改目标主机 ARP 缓存中的 IP-MAC 条目,造成网络中断或中间人攻击。
当局域网内某台主机运行 ARP 欺骗的木马程序时,会欺骗局域网内所有主机和交换机,让所有上网的流量必须经过病毒主机。其他用户原来直接通过交换机上网转由通过病毒主机上网,切换的时候用户会断一次线。
1.基本概念
ARP 攻击,是针对以太网地址解析协议(ARP)的一种攻击技术。此种攻击可让攻击者取得局域网上的数据封包甚至可篡改封包,且可让网络上特定计算机或所有计算机无法正常连接。最早探讨 ARP 攻击的文章是由 Yuri Volobue 所写的《ARP 与 ICMP 转向游戏》。
2.主要特点
ARP 协议的基本功能就是通过目标设备的 IP 地址,查询目标设备的 MAC 地址,以保证通信的进行。
ARP(AddressResolutionProtocol)是地址解析协议,是一种将 IP 地址转化成物理地址的协议。从 IP 地址到物理地址的映射有两种方式:表格方式和非表格方式。ARP 具体说来就是将网络层(IP 层,也就是相当于 OSI 的第三层)地址解析为数据连接层(MAC 层,也就是相当于 OSI 的第二层)的 MAC 地址。
ARP 攻击仅能在以太网(局域网如:机房、内网、公司网络等)进行。
无法对外网(互联网、非本区域内的局域网)进行攻击。
三 ARP 欺骗
由于局域网的网络流通不是根据 IP 地址进行,而是根据 MAC 地址进行传输。所以,MAC 地址在 A 上被伪造成一个不存在的 MAC 地址,这样就会导致网络不通,A 不能 Ping 通 C!这就是一个简单的 ARP 欺骗。
1.ARP 解释
ARP(Address Resolution Protocol)是地址解析协议,正在上传…重新上传取消是一种将 IP 地址转化成物理地址的协议。从 IP 地址到物理地址的映射有两种方式:表格方式和非表格方式。ARP 具体说来就是将网络层(也就是相当于 OSI 的第三层)地址解析为数据链路层(也就是相当于 OSI 的第二层)的物理地址(注:此处物理地址并不一定指 MAC 地址)。
2.ARP 原理
某机器 A 要向主机 B 发送报文,会查询本地的 ARP 缓存表,找到 B 的 IP 地址对应的 MAC 地址后,就会进行数据传输。如果未找到,则 A 广播一个 ARP 请求报文(携带主机 A 的 IP 地址 Ia--物理地址 Pa),请求 IP 地址为 Ib 的主机 B 回答物理地址 Pb。网上所有主机包括 B 都收到 ARP 请求,但只有主机 B 识别自己的 IP 地址,于是向 A 主机发回一个 ARP 响应报文。其中就包含有 B 的 MAC 地址,A 接收到 B 的应答后,就会更新本地的 ARP 缓存。接着使用这个 MAC 地址发送数据(由网卡附加 MAC 地址)。因此,本地高速缓存的这个 ARP 表是本地网络流通的基础,而且这个缓存是动态的。[1]
3.ARP 协议
ARP 协议并不只在发送了 ARP 请求才接收 ARP 应答。当计算机接收到 ARP 应答数据包的时候,就会对本地的 ARP 缓存进行更新,将应答中的 IP 和 MAC 地址存储在 ARP 缓存中。因此,当局域网中的某台机器 B 向 A 发送一个自己伪造的 ARP 应答,而如果这个应答是 B 冒充 C 伪造来的,即 IP 地址为 C 的 IP,而 MAC 地址是伪造的,则当 A 接收到 B 伪造的 ARP 应答后,就会更新本地的 ARP 缓存,这样在 A 看来 C 的 IP 地址没有变,而它的 MAC 地址已经不是原来那个了。
版权声明: 本文为 InfoQ 作者【初学者】的原创文章。
原文链接:【http://xie.infoq.cn/article/f6081c0db573d96b7f34daeed】。文章转载请联系作者。
评论