网络安全学习第十五篇【网络层ARP分析】
分析ARP协议攻击与欺骗
1.ARP协议
作用:将IP协议解析为Mac地址
1.1广播与广播域
广播: 将广播地址做为目的地址的数据帧
广播域: 网络中能接收到同一个广播所有节点的集合,交换机控制不了广播,路由器能隔离广播域
MAC地址广播
广播地址为:FF-FF-FF-FF-FF-FF
IP地址广播
1.255.255.255.255
2.广播IP地址为IP地址网段的广播地址,如192.168.1.255/24
1.2ARP协议原理
ARP:address resolution Protocol ,地址解析协议,将一个已知的IP地址解析成MAC地址。
发送数据时,如果没有MAC地址,则先通过传输层到网络层的ARP协议,ARP生成MAC地址解析请求,内容:源IP地址,源MAC地址,目标IP ,目标地址,目标MAC?(FF-FF-FF-FF-FF-FF全局广播) ,发送 ARP广播请求,目标地址接受到了以后,将中间的Mac地址进行回应,ARP单播应答。最后拿到了目标的MAC,就可以通过IP协议进行通信了。
ARP协议属于内网攻击,不能超出内网
1.3ARP相关命令
ARP 缓存表不能永久保存,只能开机访问后缓存,存在于内存中,关机后消失!
arp -a #查看ARP缓存表
arp -d #清除ARP缓存
arp -s #ARP绑定
2.ARP攻击与ARP欺骗原理和应用
2.1ARP攻击和欺骗原理
ARP攻击是通过发送虚假的广播或者是应答报文,发起攻击的。攻击的目的是导致内网断网
原理:当ARP协议判断目标IP在同一网段的时候,会直接发送ARP报文去请求他的MAC地址,而如果判断目标IP不在同一网段的时候,也会发送ARP协议,但是ARP协议中询问的是网关的Mac地址。
ARP单播应答攻击:同一内网中的主机,当使用ARP协议的时候,可以使用ARP回应欺骗对方,给对方错误的MAC地址和错误的IP。导致对方不能通行,或者不能通过网关上网。
ARP广播攻击:同一内网中,使用者可以主动发送ARP请求解析报文,其中给错误的源IP,源MAC地址,目标地址随便 。因为通过广播后,虽然可能目标地址会应答,也可能不会应答,但是所有收到广播的主机,都会记录刚刚收到的错误的IP地址和MAC地址,而下次需要请求这个IP地址的时候,就会直接使用,从而导致不能和正确的IP地址进行通信。通常是采用正确的网关IP地址和错误的网关MAC地址,导致整个内网断网的攻击,而且广播攻击范围更广,效率更高。
ARP欺骗:目的是获取信息,将两台通信的主机的信息都通过第三者进行转发。
欺骗原理:和攻击原理差不多主要是其中的MAC地址是真实攻击者的MAC地址
ARP协议,单播应答,后到后得,后到后更新,所以使用后到的。
2.2ARP攻击应用案例
ARP攻击:ARP单播、广播,发送虚假IP地址和虚假MAC地址导致断网
ARP欺骗:ARP单播、广播,发送自己真实的IP地址和真实的MAC地址进行欺骗,可以进行监听,窃取,篡改,控制流量但不中断通信。
2.3防御ARP攻击和ARP欺骗并查找攻击主机
2.4ARP跨网段传输
如果两主机不在同一网段,且中间间隔多个路由器,首先主机A将发送ARP解析报文到网关,其中解析报文目标MAC地址为网关MAC地址,目标IP为通信的主机B的IP地址,网关路由器接受到了以后,先检查目标MAC地址,发现是自己,然后拆开帧头,检查目标IP,和路由表比对,找到目标IP的出口,然后查找自己路由的ARP表,出口的MAC地址,进行对该数据加上帧头,(自己的MAC地址,出口的MAC地址,主机A的IP和主机B的IP),到下一个路由器继续这个操作,直到主机B的网关地址,网关地址属于同一网段,然后进行ARP广播,将收到的ARP应答MAC地址进行封装,(主机B的Mac地址,网关的MAC地址,主机A的IP和主机B的IP)然后送到主机B,最后回应给主机A!
2.5路由器工作原理
1)一个帧到达路由后,路由器首先检查目标Mac地址,是否是自己,如果不是自己就丢弃,如果是则解封装,并将IP包送到路由器内部。
2)路由器检查IP包头中的目标IP,并匹配路由表如果匹配失败,则丢弃,并向源IP回馈错误信息。如匹配成功,则将IP包路由到出接口
3) 封装帧,首先将出接口的MAC地址作为源MAC封装好,然后检查ARP缓存表,检查是否有下一跳的MAC地址,如有,将提取并作为目标MAC地址封装到帧中。如果没有,则发送ARP广播请求下一跳MAC地址,并获取到对方的Mac地址,在记录缓存,并封装帧,最后将帧发送出去。
3.使用抓包软件分析ARP协议
3.1使用抓包软件捕获数据包
3.2ARP协议原理分析
4.ARP攻击防御
1.静态ARP绑定
ARP缓存表,都是通过接受Mac地址进行缓存的,是动态的,而我们可以在ARP缓存表中配置IP对应的固定的Mac地址,被称为静态绑定。(手工配置/双向绑定)但是并不稳定,因为在缓存中,关机就没了。但是可以将服务器和网关之间进行双向绑定。
命令:
arp -s 10.1.1.1 00-0s-9d-f3-ff-09 #绑定MAC地址和IP地址
arp -a #查看ARP缓存
5.ARP防火墙
1.开机即绑定网关,防止别人伪装网关攻击
2.主动防御:别人伪装自己,欺骗网关时,防火墙也同时不断给网关发送ARP解析请求,告诉网关,它才是真的
3.硬件级防御
交换机防护:交换机端口支持端口做动态ARP绑定(配合DHCP)或者静态绑定。当某一主机在交换机上已经进行了IP和ARP地址绑定,如果发送的ARP请求中,IP和MAC和记录的不一致,那么就会干掉。