当前位置:首页>python>忘记WiFi密码,如何用Python破解

忘记WiFi密码,如何用Python破解

  • 2026-09-02 18:51:22
忘记WiFi密码,如何用Python破解

免责声明:本教程仅用于学习和研究目的,请勿非法破解他人WiFi密码。

一、安装pywifi

pip install pywifi

二、构建wifi密码字典

一般字典包括:数字(0-9)、字母(a-z,区分大小写)、特殊字符(!@#$%^&*()_+=~)

常规的wifi密码为8位,且仅包括数字和小写字母。

所以我们可以从数字和字母组成的字符串中随机挑选出8位(单个字符可重复出现),作为wifi密码组成字典存入txt文档。

import itertools as itswords = "123456789abcdefghijklmnopqrstuvwxyz"  # 可选择的字符r = its.product(words, repeat=8)               # 组成8位字符串dic = open("pwd.txt", "a")                     # 存储为wifi密码字典# wifi密码完成换行,并写入txt文档for i in r:    dic.write("".join(i))          dic.write("".join("\n"))   # 注意:可能应为 dic.write('\n')dic.close()

三、python实现wifi破解

import pywifiimport timefrom pywifi import const# WiFi扫描模块def wifi_scan():    # 初始化WiFi    wifi = pywifi.Pywifi()          # 注意:可能应为 PyWiFi()    # 使用同一个无线网卡    interface = wifi.interfaces()[0]    for i in range(4):        time.sleep(1)        print(f"WiFi扫描可用 {i} 个...")    print(f"\r扫描完成!\n" + "-" * 38)    print("\r[4:6]{:6}.format('编号', '信号强度', 'WiFi名')")       # 扫描结果,scan_results()返回一个列表,存放的是每个WiFi对象    bss = interface.scan_results()    # 获取WiFi设备的集合    wifi_name_set = set()    for w in bss:        # 删除重复项        wifi_name_and_signal = (100 * w.signal, w.ssid.encode("raw_unicode_escape").decode("utf-8"))        wifi_name_set.add(wifi_name_and_signal)    # 导入列表并排序    wifi_name_list = list(wifi_name_set)    wifi_name_list = sorted(wifi_name_list, key=lambda a: a[0], reverse=True)    num = 0    # 格式化输出    while num < len(wifi_name_list):        print(f"\r[{num:06d}]{:.2f}".format(num, wifi_name_list[num][0]), wifi_name_list[num][1])  # 格式化字符串错误        num += 1    print("-" * 38)    # 返回WiFi列表    return wifi_name_list

四、结果展示

通过测试,wifi密码成功破解,并自动连接。

4.1选择破解的WiFi名称:

4.2 获取字典

请选择你要尝试破解的wifi:
你选择要破解的WiFi名称是:______,确定吗?(Y/N)
请输入本地用于WIFI暴力破解的密码字典(txt格式,每个密码占据1行)的路径:D
正在利用密码______尝试破解。

注意:本教程仅用于学习和研究目的,请勿非法破解他人WiFi密码。

最新文章

随机文章