平时下班或者放学回到家,很多人喜欢打打游戏看看电影,但是一个月30天,经常流量不够用,有很多人就装上了Wifi,但是却经常被别人连自家的,然后打游戏看电影卡顿就很烦,但是自己又没有办法知道别人家的Wifi,很难受。
这种情况该怎么办呢?别怕,我们又Python这个强大的编程语言,号称除了生孩子什么都可以做。
既然想要用代码来解决这个问题,那么首先肯定需要一台电脑,最好是带无限网卡的那种,我们的笔记本都会安装无限网卡:
当我们连接Wifi的时候,无线网卡会自动帮我们扫描附近的Wifi,然后返回一些信息,比如Wifi名称,信号强度有多少格,Wifi的加密方式等等。
一般的家庭Wifi或者个人Wifi用的都是WPA加密挥着WPA2PSK的加密方式,这种安全性不是很高。当我们自己连接Wifi的时候,只要输入密码,然后电脑会弹出来一些提示的信息,这些其实就是在指定认证的加密方式。如果密码是对的,点击“是”就可以开心的上网了。
用Python实现:
上面讲到了Wifi的安全性问题,想要爬取Wifi密码就必须先了解它,之后开始实现过程。
首先我们需要引用Pywifi库,这个库需要提前用PIP安装一下,网上有安装教程,很简单,我就不做过多的介绍了。
安装号之后先判断Wifi是不是处于连接状态,具体代码如下图:
这里我先创建了一个pywifi的对象,然后把无限网卡的信息给了ifaces,然后判断ifaces的状态、也就是也就是states是不是处于连接状态!
如果是连接状态,那么就把Wifi信息输出一下,具体的代码实现:
代码中的data是一个个配置文件,可以理解为存储Wifi信号的文件,包括Wifi名称、密码、认证方式、加密方式等等。
信息都获取到了,那么就要来破解Wifi密码了。
我们用代码仿照手动输入面的过程,并且每输入一次都进行认证,如果错误,那么就不停地换密码,知道成功为止。具体代码如下:
大概30行左右的代码,在这段代码中,首先从console读入要破解的Wifi名称,然后在设置好的wifi密码库中不停地读取并写入wifi密码,然后配置profile信息,如果密码错误就换密码继续验证,直到验证成功为止!
花了大概4秒钟的时间,就直接破解了,如下图所示:
这个破解方法比较暴力,而且消耗的时间不一定准确,由wifi密码的难度来决定的。但是这是一个试凑的过程。(PS:这种破解方法需要一个密码数据库样本来引入)。
最后强调一下,本文是Python技术文章,一切以技术为主,写个案例只是为了学起来不那么无聊,不能用别人的Wifi干坏事哦,法网恢恢疏而不漏!