当前位置: 首页 > news >正文

python获取电脑所连接的wifi密码

电脑连接wifi后,很难直观地看到当前连接wifi的密码,需要借助命令行公管局才可以查看到相关信息。

CMD命令

查看所有已保存的wifi配置信息

netsh wlan show profiles

查看某一个wifi的详细信息,需要输入wifi名称来查询

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

打开CMD命令行,执行上述命令,即可看到相关信息。

python脚本

CMD命令可以通过python来进行调用,需要一个模块,即subprocess

subprocess.check_output函数是Python标准库subprocess模块中的一个函数,用于执行系统命令并返回命令的输出结果。

使用方法如下:

subprocess.check_output(args, *, stdin=None, stderr=None, shell=False, universal_newlines=False)

返回结果是字符串,也就是执行命令返回的信息。

python对命令执行结果进行处理,主要思路如下:

1、执行第一个命令netsh wlan show profiles,获取到本地保存过的所有的wifi名称,存入一个list;

2、遍历list,去执行第二个命令,得到某一个wifi的详细信息,然后提取出来密码所在的行信息,保存处理即可。

执行结果如下:
在这里插入图片描述

代码如下:

import subprocess# 执行netsh命令获取Wi-Fi密码
result = subprocess.check_output('netsh wlan show profiles', shell=True)
# print(result)
profiles = []
for line in result.split('\n'):if "所有用户配置文件 :" in line:profiles.append(line.split(':')[1].strip())
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 password_result.split('\n'):if "关键内容" in line:print('{:<40}{:>30}'.format('WIFI名称:'+profile,'WIFI密码:'+line.split(':')[1].strip()))except:print(f'无法获取{profile}的密码')

总结

主要用到了如下知识点:

  • 命令获取wifi信息
  • python调用CMD命令
  • python print()输出格式化,左右对齐,print('{:<40}{:>30}'.format('aaaaaaaaaaaaa','bbbbbbbbbbb'))
  • split(),分片函数,用于分割字符串
  • strip(),哟关于去除头尾特定字符,默认去除头尾空格

虽然本次实验仅获取了wifi信息,但是在其他命令执行方面,或许能有更多应用场景,甚至开发出相关的简易工具,有待朋友们进一步探索。

http://www.lryc.cn/news/220739.html

相关文章:

  • 动态壁纸软件Live Wallpaper HD mac中文版功能特色
  • Spring Boot 配置主从数据库实现读写分离
  • 【MongoDB】索引 - 单字段索引
  • 评估大型语言模型:综述
  • 设计模式之工厂模式(Factory)
  • 2023/11/6 JAVA学习
  • Android-JobService
  • GraphQL入门与开源的GraphQL引擎Hasura体验
  • Javascript知识点详解:this关键字的指向问题
  • 数据库的备份和恢复
  • DS图—图非0面积/bfs【数据结构】
  • Wnmp服务安装并结合内网穿透实现公网远程访问——“cpolar内网穿透”
  • 2023版Pycharm关闭一直显示closing project,正在关闭项目
  • Gradle笔记 二 Gradle的基础Groovy
  • 浅谈剩余电流动作继电器在电动伸缩门的应用
  • stable diffusion安装踩坑之clip安装、git报错
  • colmap gpu服务器安装
  • linux内的循环
  • 强化学习(RL)的学习笔记
  • 2023世界传感器大会开幕,汉威科技多领域创新产品引瞩目
  • 什么是机器学习中的正则化?
  • PostgreSQL JDBC连接详解(附DEMO)
  • 学习视频剪辑:巧妙运用中画、底画,制作画中画,提升视频效果
  • Android Studio代码无法自动补全
  • 从零开始搭建微服务
  • HF Hub 现已加入存储区域功能
  • linux下实现电脑开机后软件自启动
  • 【C/PTA】循环结构进阶练习(二)
  • Visual Studio 2010 软件安装教程(附下载链接)——计算机二级专用编程软件
  • 大促来袭 零点价格如何监测