文章目录
ARP
广播与广播域概述
广播域越大通信效率就会下降
交换机控制不了广播而路由器能够控制
ARP协议(网络层)
ARP出现原因
ARP协议是“Address Resolution Protocol”(地址解析协议)的缩写。其作用是在以太网环境中,数据的传输所依懒的是MAC地址而非IP地址,而将已知IP地址转换为MAC地址的工作是由ARP协议来完成的。
在局域网中,网络中实际传输的是“帧”,帧里面是有目标主机的MAC地址的。在以太网中,一个主机和另一个主机进行直接通信,必须要知道目标主机的MAC地址。但这个目标MAC地址是如何获得的呢?它就是通过地址解析协议获得的。所谓“地址解析”就是主机在发送帧前将目标IP地址转换成目标MAC地址的过程。ARP协议的基本功能就是通过目标设备的IP地址,查询目标设备的MAC地址,以保证通信的顺利进行。
arp缓存表
原理:
在任何时候,一台主机有IP数据报文发送给另一台主机,它都要知道接收方的逻辑(IP)地址。但是IP地址必须封装成帧才能通过物理网络。这就意味着发送方必须有接收方的物理(MAC)地址,因此需要完成逻辑地址到物理地址的映射。而ARP协议可以接收来自IP协议的逻辑地址,将其映射为相应的物理地址,然后把物理地址递交给数据链路层。
ARP请求
任何时候,当主机需要找出这个网络中的另一个主机的物理地址时,它就可以发送一个ARP请求报文,这个报文包好了发送方的MAC地址和IP地址以及接收方的IP地址。因为发送方不知道接收方的物理地址,所以这个查询分组会在网络层中进行广播。
ARP响应
局域网中的每一台主机都会接受并处理这个ARP请求报文,然后进行验证,查看接收方的IP地址是不是自己的地址,只有验证成功的主机才会返回一个ARP响应报文,这个响应报文包含接收方的IP地址和物理地址。这个报文利用收到的ARP请求报文中的请求方物理地址以单播的方式直接发送给ARP请求报文的请求方。
演示
ARP相关命令(windows)
arp -a 查看ARP缓存表
arp -d 清楚ARP缓存
arp -s ARP绑定
ARP攻击
ARP攻击的局限性:ARP攻击仅能在局域网进行,无法对外网进行攻击。
应答 广播 都可以攻击
原理:arp协议没有验证机制
方式:
通过发送伪造虚假的ARP报文(广播或单播),来实现攻击或欺骗
如虚假报文的MAC是伪造的不存在的,实现ARP攻击,结果为终端通信/断网
如虚假报文的MAC是攻击者自身的MAC地址,实现ARP欺骗,结果可以监听、窃取、篡改、控制流量,但不中断通信
完整过程演示
上图流程
假设MAC地址为AA的PC向向II发送信息 (假设不知道II的MAC地址)
数据帧为— AA 10.1 40.1 先判断目标IP与自己是否在同一网段 不在 所以把信息发送给网关 此时生产一个ARP报文 —— AA 10.1 10.254 接受网关的应答后 AA的arp缓存表会生成一个 10.1.1.254 CC 此时发送的帧变为了 CC AA 10.1 40.1 交换机接受后 先查看原MAC地址 自己是否缓存有(假设已经学习) 然后将帧发送到路由器 路由器先判断目标MAC是否是自己 发现二者一致后 删去AA CC 露出三四五层的数据 然后路由器重新封装(初始MAC地址为路由器自己,通过广播应答获得下一跳的MAC的地址作为目标MAC地址)再根据路由表进行转发
标准流程
- 一个帧到达路由,路由器首先检查目标MAC地址是否自己,如果不是则丢弃,如果是
则解封装,并将IP包送到路由器内部
2)路由器检查IP包头中的目标IP,并匹配路由表
如果匹配失败,则丢弃,并向源IP回馈错误信息如匹配成功,则将IP包路由到出接口。
3)封装帧,首先将出接口的MAC地址作为源MAC封装好,然后检查ARP缓存表,检查是否有下一跳的MAC地址,如有,将提取并作为目标MAC地址封装到帧中,如没有,则发送ARP广播请求下一跳的MAC,G并获取到对方的mac地址,再记录缓存,并封装帧,最后将帧发送出去。
ARP防御
1、静态ARP绑定
手工绑定/双向绑定
Windows客户机上:
arp -s 10.1.1.254 00-20-2c-a0-e1-o9
2、ARP防火墙
自动绑定静态ARP
主动防御
3、硬件级ARP防御
交换机支持”端口“做动态ARP绑定(配合DHCP服务器)
或做静态ARP绑定
1️⃣网络安全/黑客零基础入门
① 学习路线
对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。
CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》文末免费下载