arp 项删除失败: 请求的操作需要提升。_ccna必懂篇-arp协议工作原理详解。
本次呢,要说的是arp协议,那么什么是arp协议呢?有什么作用呢?
什么是arp
ARP(Address Resolution Protocol)地址解析协议,地址解析协议由互联网工程任务组(IETF)在1982年11月发布的RFC 826中描述制定。
Arp的作用
我们知道OSI把网络工作分为七层,当网络设备有数据要发送给另一台网络设备时,必须要知道对方的网络层地址(ip地址),ip地址由网络层来提供,但是仅有ip地址是不够的,ip数据报文必须封装成帧才能通过数据链路层进行发送,数据帧必须要包含目的mac地址,因此发送端还必须获取到目的mac地址,通过目的ip地址来获取目的mac地址的过程是由ARP协议来实现的。
arp解析过程
1、每个主机都设有一个ARP高速缓存,里面有所在局域网上的各主机和路由器的ip地址到硬件地址的映射
2、当主机a向本局域网的某个主机b发送ip数据包时,现在本机arp表中产看是否有主机b的ip地址对应关系,如果有查处其mac地址,写入MAC帧,然后通过局域网将MAC帧发往主机b
3、也有可能找不到主机b的mac地址,有可能主机b刚刚接入网络,这种情况下,就要按照步骤找到主机b的mac地址
①发送端广播发送arp请求包,请求对应主机的mac地址
②本局域网所有主机都会收到此ARP请求,只有对应主机才会做出应答
③接收端学习arp缓存
④接收端回复arp响应(单播)
⑤发送端学习arp缓存
4、每一条映射都设置生存时间(10-20分钟),超过时间删除此条目
5、如果目标设备位于其他网络,则源设备会在ARP缓存表中查找网关的MAC地址,然后将数据发送给网关,网关再把数据转发给目的设备。
取个例子:
如图,当主机A想向主机B发送数据时,首先将B的地址和自己的地址进行一个与运算来确认两主机是否处于同一个网段。
如果在同一个网段
首先主机A会查看本地的ARP表,是否有B主机地址所对应的MAC地址。
①如果存在:就直接把IP数据封装成帧进行通信。
②如果不存在:
1.则a先缓存该数据报文,然后广播发送arp请求包询问主机b的mac地址是多少
2.交换机收到广播包,从接收端口以外的所有端口转发出去,这时候c收到之后发现不是请求自己,就丢弃此广播包。
3.b收到之后看到再问自己的mac,首先将广播包的源mac和ip绑定到自己的arp表
4.然后单播回复给a,告诉主机a自己的mac地址,a收到之后主机b的mac地址,将主机b的ip和mac进行绑定到自己的arp表
如果不在同一个网段
在进行跨网段传输的时候需要把数据交给网关,然后由网关进行转发,所以只需要封装网关的mac地址就好,如果不知道网关的mac地址还是会发arp请求网关的mac地址。请求步骤和上面一样。
ARP报文结构解析
Hardware Type:表示硬件地址类型,一般为以太网
Protocol Type:表示三层协议地址类型,一般为IP
Hardware Length和Protocol Length:为MAC地址和IP地址的长度,单位是字节
Operation Code:指定了ARP报文的类型,包括ARP request(请求)和ARP reply(应答)
Source Hardware Address:指的是发送ARP报文的设备MAC地址
Source Protocol Address:指的是发送ARP报文的设备IP地址
Destination Hardware Address:指的是接收者MAC地址,在ARP request报文中,该字段值为0
Destination Protocol Address:指的是指接收arp报文的IP地址
ARP代理
我们说到对于不同网段的访问会封装网关的mac地址,如果此时主机a没有网关,他将会以广播的形式发送arp request报文,请求b的mac地址,但是广播报文无法被路由器传递,所以主机b无法收到主机a的arp请求报文,也就无法应答。
这时候可以通过在路由器上开启arp代理功能解决此问题,启用arp代理的路由器收到请求包之后,会查找路由表,如果存在主机b的路由表项,路由器会使用自己的g0/0/0接口的mac地址来回应a发的arp request,主机a收到arp reply后,将以路由器的g0/0/0接口mac地址作为目的mac地址进行转发数据。
Arp缺陷
在ARP缓存表机制存在一个缺陷,就是当请求主机收到ARP应答包后,不会去验证自己是否向对方主机发送过ARP请求包就直接把这个返回包中的IP地址与MAC地址的对应关系保存进ARP缓存表中,如果原有相同IP对应关系,则原有的会被替换。这样就导致了一种攻击方式叫做arp欺骗攻击。
还用这张图,上面我们说到arp的缺陷是不会验证自己有没有向目的主机发送arp request,a请求一个包,b就应答一个包。
假如说a没有请求的时候,主机a b c工作正常,这时候c作为攻击者直接给a发送一个应答包,说自己是12.1.1.2(主机b),mac地址是cccc,这时候a会认为12.1.1.2对应的mac地址是cccc,a的缓存当中就存在了一条假记录,这时候a往主机b发的数据包mac地址就是cccc,交换机转发数据只读取mac地址,这时候发现cccc这个mac绑定在自己的e0/3接口,这时候就将数据发给了主机c,这时候主机c就窃取到了a发给b的数据包。
C再使用相同的方法告诉b说自己就是a,这时候a和b的通讯完全经过了主机c。这就是利用arp缺陷而产生的攻击方式。
Arp攻击的防御方法:
Arp绑定将ip与mac进行绑定
通过arp防火墙来防御arp攻击
总结
以上是生活随笔为你收集整理的arp 项删除失败: 请求的操作需要提升。_ccna必懂篇-arp协议工作原理详解。的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: linux 控制台输入命令无效_在控制台
- 下一篇: taro引入f2图表_Package -