【随笔】ARP和RARP
ARP协议是什么?
ARP协议是"Address Resolution Protocol"(地址解析协议)的缩写。在局域网中,网络中实际传输的是"帧",帧里面是有目标主机的MAC地址的。在以太网中,一个主机和另一个主机进行直接通信,必须要知道目标主机的MAC地址。但这个目标MAC地址是如何获得的呢?它就是通过地址解析协议获得的。所谓"地址解析"就是主机在发送帧前将目标IP地址转换成目标MAC地址的过程。ARP协议的基本功能就是通过目标设备的IP地址,查询目标设备的MAC地址,以保证通信的顺利进行。
ARP协议主要负责将局域网中的32位IP地址转换为对应的48位物理地址,即网卡的MAC地址。
在每台安装有TCP/IP协议的电脑里都有一个ARP缓存表,表里的IP地址与MAC地址是一一对应的,在linux中可以通过"arp -a"命令来查看本地ARP缓存表,ARP缓存表会定期刷新重建,在一段时间内如果表中的某一行没有使用,就会被删除,这样可以大大减少ARP缓存表的长度,加快查询速度。
RARP协议是什么?
RARP协议是ARP协议相反的流程操作,它是籍由查询网路上其它主机而得到自己的 IP协议地址。
当主机发出广播包后,接收到该请求的其他主机会在自己的ARP缓存表里查询是否有该主机的MAC对应记录,如果有,则给该主机返回响应包,如果没有,则忽略。
可以这么理解:
ARP ---> 主机发包询问:谁知道我想联系的IP为192.168.x.x的主机的MAC地址是多少?
目标主机回应:我是IP 192.168.x.x的主机,我的MAC地址是xx:xx:xx:xx:xx:xx
RARP ---> 主机发包询问:谁知道我的IP是多少?噢对了!我的MAC地址是xx:xx:xx:xx:xx:xx。
目标主机回应:我在我的ARP缓存表里查到你的MAC地址对应的IP地址是192.168.y.y
ARP欺骗攻击
从前面知道,在以太局域网内数据包传输依靠的是MAC地址,IP地址与MAC对应的关系依靠ARP表,每台主机(包括网关)都有一个ARP缓存表。在正常情况下这个缓存表能够有效保证数据传输的一对一性。
但是主机在实现ARP缓存表的机制中存在一个不完善的地方,当主机收到一个ARP的应答包后,它并不会去验证自己是否发送过这个ARP请求,而是直接将应答包里的MAC地址与IP对应的关系替换掉原有的ARP缓存表里的相应信息。
这样,攻击者C会向主机A发送一个ARP响应包,里面包含了攻击者C的MAC地址和主机B的IP信息,这样主机A的ARP缓存表里就存了一个"主机B的IP:攻击者C的MAC"的值,然后攻击者C会向主机B发送一个包,包含了主机A的IP和攻击者C的MAC地址,然后主机B也会将这信息存入自己的ARP缓存表内,这样,主机A发往主机B的所有数据包都会先发送到攻击者C的机器上,然后攻击者C再将数据包发送到主机B,如此一来,攻击者C就会截取到A和B之间的通信信息。无论攻击者C接收到主机A的信息包后做不做处理,必将影响到信息包的传递,如此以来,使用局域网时会突然掉线,过一段时间后又会恢复正常。还有客户端状态频频变红,用户频繁断网,IE浏览器频繁出错,以及一些常用软件出现故障等。攻击者更会通过各种手段盗取用户账号密码,进行交易等等木马病毒都会做的事。
如何发现ARP欺骗攻击?
局域网内一旦有ARP的攻击存在,会欺骗局域网内所有主机和网关,让所有上网的流量必须经过ARP攻击者控制的主机。其他用户原来直接通过网关上网,现在却转由通过被控主机转发上网。由于被控主机性能和程序性能的影响,这种转发并不会非常流畅,因此就会导致用户上网的速度变慢甚至频繁断线。另外 ARP欺骗需要不停地发送ARP应答包,会造成网络拥塞。
一旦怀疑有ARP攻击我们就可以使用抓包工具来抓包,如果发现网内存在大量ARP应答包,并且将所有的IP地址都指向同一个MAC地址,那么就说明存在ARP欺骗攻击,并且这个MAC地址就是用来进行ARP欺骗攻击的主机MAC地址,我们可以查出它对应的真实IP地址,从而采取相应的控制措施。另外,我们也可以到路由器或者网关交换机上查看IP地址与MAC地址的对应表,如果发现某一个MAC对应了大量的IP地址,那么也说明存在ARP欺骗攻击,同时通过这个MAC地址查出用来ARP欺骗攻击的主机在交换机上所对应的物理端口,从而进行控制。
如何防范?
可以通过对IP和真实MAC地址的绑定,定期广播局域网内真实IP与MAC信息,构建防火墙等等方法来防范ARP欺骗攻击。
【随笔】ARP和RARP的更多相关文章
- TCP/IP详解学习笔记(4)-- ARP 和 RARP
1.ARP 地址解析协议(Address Resolution Protocol,ARP)是在仅知道主机的IP地址时确地址解析协议定其物理地址的一种协议. 在TCP/IP协议中,A ...
- ARP 和 RARP
ARP 和 RARP 1.ARP 地址解析协议(Address Resolution Protocol,ARP)是在仅知道主机的IP地址时确地址解析协议定其物理地址的一种协议. 在 ...
- ARP及RARP简介
1.概念 ARP(Address Resolution Protocol) 地址解析协议 RARP(Reverse Address Resolution Protocol) 反向地址解析协议 2.AR ...
- ARP与RARP协议及arp脚本
1.什么是ARP与RARP协议 地址解析协议,即ARP(Address Resolution Protocol),是根据IP地址获取物理地址的一个TCP/IP协议. 在⽹络通讯时,源主机的应⽤程序知道 ...
- TCP/IP协议栈 ARP和RARP协议
上几章中我们提到以太网协议中,在以太网首部中一个帧类型的字段,它可以表示为IP ARP RARP协议. 这里说一下ARP 和RARP协议. 首先看ARP协议: 要想网络中的数据包准确到达某个主机,最后 ...
- tcp/ip 卷一 读书笔记(5)arp和rarp 同网段和不同网段之间的通信过程
arp和rarp 同网段和不同网段之间的通信过程 IPv6中已经没有arp rarp协议,所以这里都是IPv4. 链路层使用以太网地址来确定目的地址,应用则常使用ip地址通信 arp协议是指从ip地址 ...
- 【计算机网络】详解网络层(二)ARP和RARP
ARP ARP(Address Resolution Protocol,地址解析协议)是将IP地址解析为以太网MAC地址(物理地址)的协议.在局域网中,当主机或其他网络设备有数据要发送给另一个主机或设 ...
- TCP/IP详解 卷一(第四、五章 ARP、RARP)
数据链路如 以太网都有自己的寻址机制(MAC)地址,而IP层使用的是IP地址. 当一台主机把以太网数据发送定位于同一局域网上的另一台主机时,是根据MAC地址来确定目的接口的.设备驱动程序从不检查IP数 ...
- [TCP/IP]ARP与RARP的总结
一. 总述 简单的说,ARP协议就是将IP地址转换为MAC物理地址:而RARP,就是ARP的逆向,也就是将MAC物理地址转换为IP地址.看起来这两个协议是完全对称的,但发明这两个协议的初衷基本上没有什 ...
- arp和rarp协议
ARP与RARP详细解析 原创zlnnjit 发布于2016-04-03 15:12:15 阅读数 9544 收藏 展开 地址解析协议 ARP和逆地址解析协议RARP 1.基本关系: 2.地址解析 ...
随机推荐
- SQL总结(七)查询实战
SQL总结(七)查询实战 一.场景 给定一个场景,学生选课系统为例,大家很熟悉. 主要关系: 学生(学号.姓名.年龄.性别) 教师(教师ID,教师姓名) 课程(课程ID,课程名称,任教教师ID) 成绩 ...
- 关于MySql的DBHelper类以及数据分页
前端: <%@ Register Assembly="AspNetPager" Namespace="Wuqi.Webdiyer" TagPrefix=& ...
- eclipse美化
// */ // ]]> eclipse美化 Table of Contents 1 中文字体 2 皮肤 3 emacs+ 1 中文字体 win7下打开eclipse3.7中文字体很小,简直 ...
- 一加3,CM13蓝牙共享互联网 无效。
一加3准备把4G网络共享给魅族PRO5. 但在一加3的蓝牙设置里怎么勾选都无用. 最后发现在要在PRO5上设置才行. 1.在蓝牙列表中,点击带圈的感叹号. 2.选择“互联网访问”. - --
- Lab_1_SysOps_Compute_Linux_v2.5
System Operations - Lab 1: Creating Elastic Compute Cloud (Amazon EC2) Instances (Linux) - 2.5 ===== ...
- 黄聪: PHP WkHtmlToPdf/WkHtmlToImage 将网页直接转换成pdf和图片
function convert($type='pdf') { $filename=time(); $url=$this->input->get("url"); if( ...
- Redis应用场景
Redis开创了一种新的数据存储思路,使用Redis,我们不用在面对功能单调的数据库时,把精力放在如何把大象放进冰箱这样的问题上,而是利用Redis灵活多变的数据结构和数据操作,为不同的大象构建不同的 ...
- Spring4.1新特性——Spring MVC增强
目录 Spring4.1新特性——综述 Spring4.1新特性——Spring核心部分及其他 Spring4.1新特性——Spring缓存框架增强 Spring4.1新特性——异步调用和事件机制的异 ...
- day5_常用模块
本节大纲: 模块介绍 time &datetime模块 random os sys shutil json & picle shelve xml处理 yaml处理 configpars ...
- ArcGIS for Flex中引入google map作底图
上篇文章到在ArcGIS View中引入google map,这里讲ArcGIS for Flex中引入google map作底图. 同样道理,以google map作底图,需要编写继承自TiledM ...