小案例:利用Python获取Windows电脑WiFi密码

一、需求:

电脑上忘记wifi密码,直接用命令行便可查看所有的wifi密码

二、逻辑:

1、提取windows上所有的wifi名称

2、每一个wifi的信息存储在一个字典里

3、判断wifi密码是否存储在windows计算机里,不存在则忽略

4、密码存在时,加上命令参数“key=clear”显示wifi密码

5、显示所有的wifi密码

三、代码:

# subprocess 模块允许我们启动一个新进程,并连接到它们的输入/输出/错误管道,从而获取返回值
import subprocess
import re# 用于判断OS的语言
import locale
loc_lang = locale.getdefaultlocale()
# print(loc_lang[0])# 代码中用到的正则匹配模式字符串,提取出来以便不同语言系统使用,默认支持中文英文,其他语言需要更改匹配语句
if loc_lang[0] == "zh_CN":re_pattern = ["所有用户配置文件 : (.*)\r", "安全密钥               : 不存在", "关键内容            : (.*)\r"]
else:re_pattern = ["All User Profile     : (.*)\r", "Security key           : Absent", "Key Content            : (.*)\r"]# 如果 capture_output 设为 true,stdout 和 stderr 将会被捕获
cmd_output = subprocess.run(["netsh", "wlan", "show", "profiles"], capture_output=True).stdout.decode('gbk')
# print(cmd_output)
wifi_names = (re.findall(re_pattern[0], cmd_output))
# print(wifi_names)
wifi_list = []if len(wifi_names) != 0:for name in wifi_names:# 每一个wifi的信息存储在一个字典里wifi_profile = {}profile_info = subprocess.run(["netsh", "wlan", "show", "profiles", name],capture_output=True).stdout.decode('gbk')# print(profile_info)# 判断wifi密码是否存储在windows计算机里,不存在则忽略if re.search(re_pattern[1], profile_info):continueelse:wifi_profile["ssid"] = name# 密码存在时,加上命令参数“key=clear”显示wifi密码profile_info_pass = subprocess.run(["netsh", "wlan", "show", "profiles", name, "key=clear"],capture_output=True).stdout.decode('gbk')password = re.search(re_pattern[2], profile_info_pass)# print(password)if not password:wifi_profile["password"] = Noneelse:wifi_profile["password"] = password[1]wifi_list.append(wifi_profile)for i in range(len(wifi_list)):print(wifi_list[i])

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/473096.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

sql 分页

1. top分页法 select top pageSize from tb where ID not in (select top pageSize*pageIndex from tb) select top pageSize from tb where ID > select Max(ID) from (select top pageSize*pageIndex from tb) as t 2. RowNum() select * from (select row_number() ove…

LeetCode 528. 按权重随机选择(前缀和+二分查找)

文章目录1. 题目2. 解题1. 题目 给定一个正整数数组 w ,其中 w[i] 代表下标 i 的权重(下标从 0 开始),请写一个函数 pickIndex ,它可以随机地获取下标 i,选取下标 i 的概率与 w[i] 成正比。 例如&#xf…

boss直聘改回系统头像_BOSS 直聘找工作,消息却已读不回?| 在线求职5条避坑指南...

前几天在半撇私塾的求职群里,一个同学反馈:在 BOSS 直聘求职的时候,为什么总是被「已读不回」呢?就连逛豆瓣的上班小组,都能遇到这样的反馈:为什么会出现「已读不回」的情况呢?关于这个问题的答…

解决问题:Python调用cmd命令,出现中文乱码

一、前言: Python如何使用OS模块调用cmd 在os模块中提供了两种调用 cmd 的方法,os.popen() 和 os.system() os.system(cmd) 是在执行command命令时需要打开一个终端,并且无法保存command命令的执行结果。 os.popen(cmd,mode) 打开一个与c…

LeetCode 587. 安装栅栏 / LintCode 1152. 安装栅栏(凸包检测:排序+叉积正负判断+正反扫描+去重)

文章目录1. 题目2. 解题1. 题目 在一个二维的花园中,有一些用 (x, y) 坐标表示的树。 由于安装费用十分昂贵,你的任务是先用最短的绳子围起所有的树。 只有当所有的树都被绳子包围时,花园才能围好栅栏。 你需要找到正好位于栅栏边界上的树的…

arduino读取水位传感器的数据显示在基于i2c的1602a上_XSB-IC-S2智能水位监测仪-老友网...

XSB-IC-S2智能水位监测仪 多功能本身就是智能仪器仪表的一个特点。例如,为了设计速度较快和结构较复杂的数字系统,仪器生产厂家制造了具有脉冲发生器、频率合成器和任意波形发生器等功能的函数发生器。这种多功能的综合型产品不但在性能上(如准确度)比专…

七夕小案例:用代码给心爱的她画一个爱心

一、爱心示例: 二、开始写代码: /* * Hi。宝贝! * 这么久了。还没和宝贝说过我的工作呢! * 我是个前端工程师。俗称程序员。网页相关。 * 如这个页面。就是个什么也没有的网页。 * 我的工作就是给这种空白的页面加点儿东西。 * 嗯…

在asp.net 2.0中使用SqlBulkCopy类迁移数据

在asp.net 2.0中使用SqlBulkCopy类迁移数据 (转) http://jackyrong.cnblogs.com/archive/2005/08/29/225521.html 我们经常要在一个表中将数据迁移到另一个表,当然,用的方法十分多了。在.net 2.0中,提供了一个sqlbulkcopy类&#…

小案例:13行python代码实现对微信进行推送消息

一、前言: Python可以实现给QQ邮箱、企业微信、微信等等软件推送消息,今天咱们实现一下Python直接给微信推送消息。 这里咱们使用了一个第三方工具pushplus 二、单人推送 实现步骤: 1、用微信注册一个此网站的账号 2、将token复制出来&am…

python书籍_Python书籍大汇总——入门到实战

学习Python的朋友们越来越多,当当网和京东上面的Python类编程书籍,也从几年前寥寥无几到现在多的不知道选哪本才好了的地步。无论是自学还是参加培训班跟着老师学习,我们都需要几本实用的Python书,系统全面的掌握Python编程的相关…

LeetCode 87. 扰乱字符串(记忆化递归 / DP)

文章目录1. 题目2. 解题2.1 记忆化递归2.2 动态规划1. 题目 给定一个字符串 s1,我们可以把它递归地分割成两个非空子字符串,从而将其表示为二叉树。 下图是字符串 s1 “great” 的一种可能的表示形式。 great/ \gr eat/ \ / \ g r e a…

信号量的分类

信号量的分类Mutual Exclusion Semaphores(互斥):一种特殊的二进制信号量,专门针对互斥操作进行了优化。Binary Semaphores(二进制):完成互斥、同步操作的最佳方式;速度最快&#xf…

问题总结:一个 list 使用 for 遍历,边循环边删除的问题

一、需求: 对一个 list 数据类型写一个循环删除的程序 二、问题 来,我们来看看代码跟效果: # 初始化一个 list 列表,为了下边的方便比较,我就使用跟 list 索引来做 list 的元素 datas [0,1,2,3,4]# 打印元素组&am…

cpu使用率_漫话性能:CPU使用率

序言CPU 使用率是最直观和最常用的系统性能指标,更是我们在排查性能问题时,通常会关注的第一个指标。节拍率为了维护 CPU 时间,Linux 通过事先定义的节拍率(内核中表示为 HZ),触发时间中断,并使…

TensorFlow 2.0 - 自定义模型、训练过程

文章目录1. 自定义模型2. 学习流程学习于:简单粗暴 TensorFlow 2 1. 自定义模型 重载 call() 方法,pytorch 是重载 forward() 方法 import tensorflow as tf X tf.constant([[1.0, 2.0, 3.0],[4.0, 5.0, 6.0]]) y tf.constant([[10.0],[20.0]])clas…

谁动了我的产品

2014年3月中旬离开了自己奋斗三年的公司,这是一家海关政府公司,三年里无论是做项目需求分析、项目开发、项目测试、项目上线实施、项目上线跟踪、收集反馈、做项目版本修改,我和我的团队都在一个有非常明确目标、有非常明确思路的过程中&…

LeetCode 352. 将数据流变为多个不相交区间(map二分查找)

文章目录1. 题目2. 解题1. 题目 给定一个非负整数的数据流输入 a1,a2,…,an,…,将到目前为止看到的数字总结为不相交的区间列表。 例如,假设数据流中的整数为 1,3,7,2&…

windows键按了没反应_windows快捷键使用 - 小怜

1、总的参考图:2、ctrl的组合使用:1与shift键结合:2 ctrl shift del # 快速清除浏览器缓存记录3 ctrl shift N # 浏览器当中,快速打开无痕新窗口。chrome内核的应该都可以,chrome和新…

Python倒计时自动发微信(电脑版微信)

一、前言: Python倒计时自动发微信(电脑版微信登录状态) 二、主要思路及步骤: 1、先启动微信 2、定位到搜索框 3、搜索微信 4、进入聊天窗口 5、粘贴文本内容 6、发送 7、关闭微信窗口 三、代码: import …

Javascript日期函数使用需要注意地方

当我们需要获取未来某个时间的毫秒数时,可能第一时间想到的方法是 (new Date("2014-12-08 12:00:00")).getTime() 这个在方法在chrome下是会返回一个数字的。 但是在IE下返回的是一个NaN,是因为IE下认为 YYYY-mm-dd HH:ii:ss不是一个合理的日期…