/1 前言/
细心的小伙伴可能知道,小编之前发布过一篇使用Python发现酒店隐藏的针孔摄像头,没有来得及上车的小伙伴也没关系,可以戳这篇文章了解一下:使用Pyhton带你分析酒店里的针孔摄像头。今天与大家一起分享使用Python来发现隐藏的wifi。
/2 背景介绍/
随着生活的进步,阅历的加深,人们对无线网络安全的重视程度越来越大,防范意识也越来越强,有人说,我把无线网络隐藏了,就肯定安全了,别人肯定没办法破解我的wifi,今天这篇文章就带你在信号发射层面了解一下wifi的存在,用实际例子告诉你隐藏wifi也是可以被发现的。
/3 环境配置/
ubuntu操作系统、python3.6版本、pycharm编辑器以及外置无线网卡。
/4 原理简述/
我们的路由器在正常状态下,会不断地向外发出信号,要告诉终端它的存在,这些信号中一般包含wifi名称、MAC地址、信道、传输速率等信息,用ubuntu的airodump工具抓个包,如下图所示。
但是如果你隐藏了wifi,那么只是相当于把这些信号里的wifi名称给隐藏了,而其他信息还是正常发送出去,如上图第一行的wifi,ESSID一栏显示为<length:0>,代表该wifi隐藏了。
但是有一种情况下路由器发出的信息还是会携带隐藏wifi的,就是当有终端连接该wifi时,会出现两者的交互过程,为了信息互相查证还是会把wifi名称带出来的,那么我们就可以此为突破口,用python的scapy函数抓包,抓到某个隐藏wifi的名称。
/5 具体实现/
1.监测附近无线信号
用airmon-ng工具打开网卡监听模式
只有打开监听模式才能进行以下操作。然后用airodump-ng工具搜寻附近无线信号。
经过测试,必须先执行此步骤,否则python程序无法接收无线信号,会出现如下结果
2.用python的scapy模块接收附近无线信号
iface是开启监听模式后的网卡名称,p.show()会显示接收的无线信号,如下图所示:
我们只需判断接收信号的MAC地址,是否是我们想要找到名字的隐藏wifi的MAC地址,然后再打印出它的名称。
这时候我们就可以等待有终端连接该隐藏wifi了,一旦连接,就会把我们的程序就会把wifi名称打印出来,赶紧动手试试吧!
/6 结语/
细心的小伙伴可能知道,小编之前发布过一篇使用Python发现酒店隐藏的针孔摄像头。本文基于路由器在正常状态下,会不断地向外发出信号的原理,利用ubuntu操作系统、python3.6版本、pycharm编辑器以及外置无线网卡,实现隐藏wifi的抓取,带大家在信号发射层面了解一下wifi的存在,用实际例子告诉大家隐藏wifi也是可以被发现的噢!
本文涉及的代码https://github.com/cassieeric/python_crawler/tree/master/Conceal_wifi