中间人的攻击手段(利用漏洞)
攻击基本原理
中间人攻击原理:利用ARP协议没有认证机制,并且取最后一条信息作为最新的mac信息
假如小明 小红 和嫌疑人K在同一个局域网中,他们都通过交换机来进行连接,这时候小明想给小红发一个信息,在局域网中,两台主机要相互通信,要相互知道对方的IP,但要发送一条数据包,只知道IP是没有用的,因为他们要经过交换机的转发,交换机不认识IP地址,他只认识mac(也就是网卡地址),这时候,就要用到另外一个协议ARP,用它来获取mac地址
那么ARP是如何获得mac地址的呢
第一步、小明发广播:我的mac是 AA ,谁是10.2 请把10.2的mac发给我
这时候只要是局域网中的主机都可以接收到这条广播
第二步、
在正常情况下,别的主机如果发现自己不是10.2,就会把这个数据包丢弃,而小红的主机发现自己是10.2,会单播回复一个数据包给AA,说,我的mac是BB
第三步、
小明收到这个回复之后,会把这条mac地址缓存起来,避免下次在发送信息的时候还要询问
这个时候,小明就有了小红的IP和mac地址了,就可以开始通信了
但是这时候,假如说嫌疑人K,在接收到小明的广播之后,同时也发送回复报文,说我是10.2,我的mac地址是CC,并且一直发送,这时候,AA同时收到了嫌疑人K(CC)和小红(BB)发的两个回复,他会取最后一次arp回复
并且,一般来说,应答只要回复一次就够了,但是嫌疑人K用工具,可以一直发送回复报文,保证最后AA上面缓存的mac地址一定是CC
那么这时候,小明在想要发送数据包给小红的时候,就会发到嫌疑人K这里来,小明想说什么悄悄话都可以被嫌疑人K听见
但是嫌疑人K这时候不想要被小明发现有人在搞破坏,所以他把小明的数据包转发给小红,他想要知道小红的mac地址,只要直接广播问就行了,这样嫌疑人K就把小明的数据包转发给了小红,他对小红说,我是10.3.我的mac是CC,
而小红所知道的IP为 10.3 的mac地址是CC,这样小红回复的数据包也转发要CC这里来了,这样嫌疑人K就可以在小明和小红都不知道的情况下,监听二者的通信
这是在局域网监控通信,假如说现在小明想上网,局域网中上网肯定要经过网关,如果这时候小明缓存中的网关的mac地址同样被修改成了CC,也就是说所有的数据包全部往CC那儿发,然后又CC转发给网关,这时候小明的所有上网信息都被监控了,或者嫌疑人K今天心情不好,把小明的数据包全丢了,那么小明就上不了网了。