几天前窝们宿舍拿中继蹭对面 WiFi 的事儿被几个大嘴巴说漏了,引来一堆人蹭网,于是速度就慢如狗爬了。。
于是拿出中继的那只就给窝说,有个叫 WiFi 杀手 的 APP,可以让蹭网的不能上网。
窝当时就震惊了,woc 还有这么的 dio 的东西,问了下原理,结果他也讲不出个所以然来,似乎还说啥 DNS 污染。这完全不对嘛,应该是假冒网关之类的吧。遂 Google 之:
WiFi 杀手的工作原理使用了ARP 欺骗的原理,假冒 ARP 回复来欺骗同一 WiFi 网络上的其他设备,让它们以为你的 Android 手机是网关,然后 WiFiKill 丢掉它们的网络包。
唔。。ARP 欺骗啊,窝记得几年前有看过这个的资料(在窝还在使用三六蛋的时候)。这里给出维基百科上关于 ARP 和 ARP 欺骗 的页面。
那么这个啥 WiFi 杀手到底是个啥黑科技呢?窝就来通俗的讲讲吧~
ARP 协议是拿来干啥的呢?就是将一个网络层地址(譬如 IPv4 地址)转换为数据链路物理地址(MAC 地址)。
那么估计你应该懂了吧?ARP 欺骗的原理就是伪造 ARP 回复报文。举个栗子(栗子中的 A,B 即为 IP,位置即为 MAC 地址:
A 要和局域网中的 B 通信,于是在 LAN 中发了个广播:“我是 A,地址是 123,B,你丫在哪?”。如果是正常情况下,其他人看到广播会保持沉默,等到 B 收到广播后,他就会回应给 A:“A,我是 B,劳资地址是 234,找我干啥?” 于是可以进行通信。
然而,在受到 ARP 欺骗的局域网中,情况就会是这样子。。
A 要和 B 通信,发了个广播找 B 的 MAC 地址:“B,你在哪儿?”,然后就在 B 回应之前,同一局域网下恶意满满的主机 C 以迅雷不及掩耳盗铃之势抢答道:“窝是 B,MAC 地址是 450 哟~☆”。然而傻傻的 A 并不会验证 ARP 回复的真实性,就在地址簿上写上:“IP:B,MAC 地址:450” 供通信用,然后主机 A 尝试对 B 进行 IP 通信,就喜闻乐见地错误啦。
ARP 欺骗大☆成★功~
这就是 WiFi 杀手的原理,如果欺骗的是网关的 MAC 地址的话就会导致无法访问网络了。那么要如何防范呢?Android 平台上也有许多防御 ARP 欺骗的应用,有需要可以去找下。也可以手动清空 ARP 缓存表(在攻击者长时间跑着 ARP 欺骗程序的情况下没卵用
顺带一提窝是不太提倡使用 WiFi 杀手这类应用呢。
BTW,ARP 缓存表一般会在设备重启后清空哦~可以在手机终端中使用 cat /proc/net/arp
来查看你设备的 ARP 表
PS. 今天是窝博客第一次达到文章和评论数量相等哦~(虽然有一半评论是窝的 qwq