arp攻击
1.先清空arp缓存
2.ping 虚拟机(18.58),记录mac地址在宿主机(18.46)arp表
3.这里网关是192.168.18.1 使用虚拟机开启欺骗,同时打开抓包软件查看:
显示已经不能刷新网页:
查看宿主机arp表,显示网关已经被欺骗,欺骗成和虚拟机一样,(此时正常上网实际上是经过虚拟机去,如果做了转发,就相当于中间人欺骗)
4.打开虚拟机的抓包软件:
打开之前抓的包:
发现一直在向宿主机18.46发送arp响应包:
伪装成网关18.1,向宿主机18.46发送响应包,告诉宿主机我的mac是多少,(因为mac是后到优先)所以要一直发送响应包告诉宿主机,让其更新arp表。
宿主机更新了arp表,把18.1网关的假mac记录下来,表面是向18.1发送实际是向18.58发送信息,从而实现arp欺骗。
arp防护
arp防御的大概思路,因为arp一般不是中间人攻击就是欺骗使你断网,而且攻击路径是在内网,因此防御也是:
可采用防御方式为:
1.DAI(Dynamic ARP Inspection)- 动态ARP检测,记录port<->mac<->ip,生成DAI检测表。因为arp一般是伪造ip来进行攻击,所以ip这一项就对不上,会判定是虚假的欺骗包,就会选择丢弃和其他惩罚操作。
但是有这个技术的网络设备很贵,一般是企业级产品。
2.arp防火墙和相关安全软件:
绑定正确的的IP和MAC映射,收到攻击包时不被欺骗;能够根据网络数据包特征,自动识别局域网存在的ARP扫描和欺骗行为,并做出攻击判断。
或者一些arp防御功能的软件,例如360、腾讯安全管家
3.arp静态绑定
这是最简单但是也是工作量最大的解决方法。因为arp是双向的,所以通信双方都静态绑定对方的IP和MAC映射(因为arp更新原则里,静态绑定的ARP映射条目的优先级是高于动态学习到的,但是仍然可以被arp -d删除,也不保险)。
windows绑定方法:
linux绑定:
可以直接修改:
或者arp -f 读取文件内容覆盖: