学一波ARP攻击!
一、IP数据包格式
TTL(Time To Live)生存时间:占 8位,是以秒作为 TTL的单位.每经过一个路由器时,就把TTL减去数据报在路由器消耗掉的一段时间.若数据报在路由器消耗的时间小于 1 秒,就把TTL值减 1.当 TTL值为 0时,就丢弃这个数据报.
二、ICMP协议
ICMP是一个“错误侦测与回馈机制”,通过IP数据包封装的,用来发送错误和控制消息
ICMP协议是TCP/IP协议族的一个子协议,用在IP主机、路由器之间传递控制消息(是指网络通不通、主机是否可达、路由是否可用等网络本身的消息)
Ping命令其实就是ICMP协议工作的过程
跨网段通信必须要配网关
1、ICMP协议的封装
ICMP协议数据的封装过程
ICMP协议属于网络层协议
三、Ping命令用法
四、ARP协议概述
1、局域网中主机的通信
IP地址与MAC地址
2、什么是ARP协议
Address Resolution Protocol 地址解析协议
将一个已知的IP地址解析成MAC地址
命令 arp -a查看ARP缓存表,在缓存表中可以看到:
动态IP和静态IP的区别在于:
动态IP需要在连接网络时自动获取IP地址以供用户正常上网(动态可以经过ARP绑定变为静态,可以抵御ARP攻击);
而静态IP是ISP在装机时分配给用户的IP地址,可以直接连接上网,不需要获取IP地址
3、ARP协议过程
过程:
① 主机A想要发送数据给主机B,主机A需要查看ARP缓存中是否有B的MAC地址
② 主机A的ARP缓存表中没有主机B的MAC地址,主机A需要发送ARP请求消息(包含A的IP地址和MAC地址以及B的IP地址和广播地址)
③ 所有主机收到ARP请求消息,请求主机B的MAC地址,请求信息中也包含主机A的IP地址和MAC地址
④ 交换机在收到请求信息后,学习源(主机A)MAC地址之后发现是未知MAC,并将数据帧从除了主机A的所有接口转发出去
⑤ 所有主机接收到数据帧后,会进行IP地址对比,主机B收到之后恢复ARP应答实现单播通信,其他主机则将数据丢弃
⑥ 主机A收到主机B回应之后,会在ARP缓存表中记录主机B的IP地址和MAC地址,并发送数据给主机B
备注:在此过程中,交换机已经学习了主机A和B的MAC地址和接口,之后主机A和主机B将实现单播通信
4、ARP相关命令
Arp -a :查看ARP缓存表
Arp -d:清除ARP缓存(在CMD中敲击之后显示如下,原因是打开CMD时需要以管理员身份运行)
5、ARP绑定
绑定网关
- 以管理员身份打开CMD
- arp -a,查看缓存表,目的是为了查看网关的MAC地址(即192.168.1.1相对应的Mac地址)
- 再输入 netsh interface ipv4 show neighbors 查看网关的接口号(此实验中网关对应接口为11)
- 绑定ARP,输入 netsh interface ipv4 set neighbors 11(网关接口号) 192.168.1.1(IP地址)+mac地址
- arp -a查看缓存表,即可看到192.168.1.1 变为静态,即为绑定成功
- 解绑:输入 netsh -c i i add neighbors 网关接口号 IP地址+MAC地址;变为动态即为解绑
6、ARP原理演示
需求分析
对等网的环境
PC1和PC2第一次通信
实现步骤
- 使用ipconfig/all查看PC1和PC2的MAC地址
- 用“arp-a”查看ARP缓存,再用“arp -a”查看ARP缓存表
- 在PC1上pingPC2后,再用抓包软件看是否有ARP报文(请求报文和回应报文,ARP攻击就是利用的回应报文)
ARP请求广播的IP地址,ARP回应的单播的MAC地址
ICMP请求报文,ICMP回应报文
五、ARP攻击原理
1、欺骗网关和被攻击计算机
注意:ARP欺骗网关,ARP有老化时间是300s
2、ARP欺骗主机
ARP回应报文是BUG,可通过ARP信息欺骗,劫持信息
六、利用ARP欺骗管理网络
1、通过长角牛网络监控控制软件
将网络中的其他网卡禁止,以管理员身份打开,即可扫描数据
2、设置监控范围(选中某个IP地址可以对该用户进行禁止)
3、进行网络管理
4、验证效果
网络安全要注意,保护好自己网络安全的同时也不要去做危害别人的事哦!