python获取电脑连接过的所有WIFI密码

news/2024/7/21 4:26:44 标签: 电脑, python, 服务器, 网络

我打包的可执行程序,可以获取电脑wifi文件打印到自己桌面

百度网盘 请输入提取码

提取码: 7777

今天看到一篇博文写的获取电脑连接过的WIFI密码,遇到一些编码bug,我优化了一下。

原理:

netsh wlan show profiles

这个可以查看电脑连接过的WIFI名称

netsh wlan show profile name="xxx" key=clear

这样可以查看具体的密码

但是这样一个一个查不方便,写个循环就行了

源代码

import subprocess
import chardet
import os

def decode_str(encoded_str):
    # 检测编码
    detected_encoding = chardet.detect(encoded_str)['encoding']
    # 使用检测到的编码进行解码
    try:
        decoded_str = encoded_str.decode(detected_encoding)
    except UnicodeDecodeError:
        # 尝试使用 'utf-8' 编码进行解码
        try:
            decoded_str = encoded_str.decode('utf-8')
        except UnicodeDecodeError:
            # 尝试使用 'gbk' 编码进行解码
            decoded_str = encoded_str.decode('gbk')
    return decoded_str
# 执行netsh命令获取Wi-Fi密码
result = subprocess.check_output('netsh wlan show profiles', shell=True)
profiles = []
for line in decode_str(result).split('\n'):
    if "所有用户配置文件 :" in line:
        profiles.append(line.split(':')[1].strip())
text = []
for profile in profiles:
    try:
        password_result = subprocess.check_output(f'netsh wlan show profile name="{profile}" key=clear',shell=True)
        # print(password_result)
        for line in decode_str(password_result).split('\n'):
            if "关键内容" in line:
                text.append('\n{:<40}{:>30}'.format('WIFI名称:'+profile,'WIFI密码:'+line.split(':')[1].strip()))
    except:
        print(f'无法获取{profile}的密码')
        text.append(f'\n无法获取{profile}的密码')
def saveDate(datalist,savepath):
    if not os.path.isdir(savepath):  # 判断是否存在该文件夹,若不存在则创建
        os.mkdir(savepath)  # 创建
    with open(savepath + "\\" + "wifi密码.txt", 'w', encoding='utf-8') as file:  # 打开这个文件
        file.write(datalist)  # 打印文字


desktop_path = os.path.join(os.path.expanduser("~"), "Desktop")  # 找到用户桌面的路径
savepath = os.path.join(desktop_path, "WiFi密码")  # 文件夹名称
saveDate(''.join(text), savepath)

http://www.niftyadmin.cn/n/5157305.html

相关文章

5米DEM高程数据分析和对比

数字高程模型&#xff08;DEM&#xff09;是应用最广泛的地理信息数据之一&#xff0c;是进行三维空间处理和地形分析的数据基础。每个行业数据精度要求不一样&#xff0c;很多行业使用公开免费的90米和30米分辨率DEM就够了。而城市规划、交通线路规划、地质灾害防控、城区地籍…

Flink SQL Regular Join 、Interval Join、Temporal Join、Lookup Join 详解

Flink ⽀持⾮常多的数据 Join ⽅式&#xff0c;主要包括以下三种&#xff1a; 动态表&#xff08;流&#xff09;与动态表&#xff08;流&#xff09;的 Join动态表&#xff08;流&#xff09;与外部维表&#xff08;⽐如 Redis&#xff09;的 Join动态表字段的列转⾏&#xf…

RK3568平台开发系列讲解(音视频篇)RTMP 推流

🚀返回专栏总目录 文章目录 一、RTMP 的工作原理二、RTMP 流媒体服务框架2.1、Nginx 流媒体服务器2.2、FFmpeg 推流沉淀、分享、成长,让自己和他人都能有所收获!😄 📢目前常见的视频监控和视频直播都是使用了 RTMP、RTSP、HLS、MPEG-DASH、 WebRTC流媒体传输协议等。 R…

2023年第二届长沙市职业技能大赛“网络安全“项目样题任务书

2023年第二届长沙市职业技能大赛网络安全项目样题任务书 模块A:企业基础设施安全A-1.任务一 登录安全加固(windows、linux)A-2.任务二 数据库加固(Linux)A-3.任务三 服务加固 SSH\VSFTPD(Linux)A-4.任务四 防火墙策略(Linux)模块B:网络安全事件响应、数字取证调查和应…

AM@多元函数高阶偏导数@复合函数高阶偏导数@全微分形式不变性

文章目录 abstract高阶偏导数二元函数二阶偏导数混合偏导数相等定理例 二元复合函数高阶偏导数的计算引入记号混合偏导与次序无关&#x1f388;记号补充 全导数和全微分对比全微分形式不变性 abstract 高阶偏导数二元复合函数高阶偏导全微分形式不变性 高阶偏导数 二元函数二…

Zeus IoT : 基于 SpringBoot 的分布式开源物联网大数据平台

Zeus IoT 是一个集设备数据采集、存储、分析、观测为一体的开源物联网平台&#xff0c;全球首创基于 Zabbix 的物联网分布式数据采集架构&#xff0c;具备超百万级物联网设备的并发监控能力&#xff0c;真正具备工业级性能与稳定性的开源物联网大数据中台。 Zeus IoT 致力于让设…

Azure 机器学习 - 使用Python SDK训练模型

目录 一、环境准备二、工作区限制三、什么是计算目标&#xff1f;四、本地计算机五、远程虚拟机六、Apache Spark 池七、Azure HDInsight八、Azure Batch九、Azure Databricks十、Azure Data Lake Analytics十一、Azure 容器实例十二、Kubernetes 了解如何用 SDK v1 将 Azure 计…

STM8单片机在医疗设备中的应用和优势

STM8单片机作为一种高性能、低功耗的微控制器&#xff0c;在医疗设备领域得到了广泛的应用。本文对STM8单片机在医疗设备中的应用进行了研究&#xff0c;探讨了它在医疗设备中的优势和特点&#xff0c;并分析了其在提升医疗设备性能、精确控制和数据处理等方面的应用效果。 一…