用Python脚本能获取Wifi密码么?能。

news/2024/11/9 10:03:18/

注意,本文不是破解 WIFI 密码,当然你把程序发给别人再获取对方密码,那是社会工程学。

文章目录

    • ⛳️ 实战场景与 `subprocess` 模块介绍
    • ⛳️ Python 获取本地 Wifi 密码

⛳️ 实战场景与 subprocess 模块介绍

这篇博客给大家带来一个小小的案例,使用 Python 脚本获取本地电脑记录的所有 Wifi 密码。

先介绍一下用到的模块 subprocess,看模块名就知道这是进程模块,它可以让我们生成新的进程,并对进行进行管理。

模块中的常用函数,如下所示。

  • subprocess.run():执行指定命令,等待执行完成后返回一个包含执行结果的 CompletedProcess 类对象;
  • subprocess.call():执行指定命令,返回命令执行状态,与 os.system(cmd) 功能类似;
  • subprocess.check_call():执行指定命令,如果执行成功返回状态码,否则抛出异常;
  • subprocess.check_output() :执行指定命令,如果执行状态码为 0,返回执行结果,否则抛出异常;
  • subprocess.getoutput():接收字符串格式的命令,执行并返回执行结果,与之相同的函数有 os.popen(cmd).read()
  • subprocess.getstatusoutput():执行命令,返回一个元组(命令执行状态,命令执行结果)。

使用这个模块还有一些注意事项。

  1. 官方建议最新版本的 Python,优先使用 subprocess.run()
  2. 上述所有函数都是通过封装 subprocess.Popen() 实现的高级函数,所以想实现复杂功能,可以通过它来实现;
  3. subprocess.getoutput()subprocess.getstatusoutput() 安全性较低。

既然优先使用 subprocess.run() 方法,那我们看一下其语法格式。

subprocess.run(args, *, stdin=None, input=None, stdout=None, stderr=None, capture_output=False, shell=False, cwd=None, timeout=None, check=False, encoding=None, errors=None, text=None, env=None, universal_newlines=None)

参数说明如下:

  • args:要执行的 shell 命令,需要传入字符串或者字符串参数列表;
  • stdinstdoutstderr:子进程的标准输入,输出和错误;
  • timeout:命令超时时间;
  • check:默认为 False,如果设置为 True,则当进程退出状态码不是 0 的时候,抛出 CalledProcessError 异常;
  • encoding:如果设置该参数,则 stdinstdoutstderr 可以接收字符串数据,并以该编码进行编码,否则只接收字节类型数据;
  • shell:设置命令是否通过 Shell 执行。

有些这些基础参数说明之后,就可以调用最简单的 Shell 命令了,例如查看本地 pip 包安装清单。

import subprocesssubprocess.run(["pip","list"])

运行代码,自行查看结果,当然也可以把返回值捕获到一个变量中,查看一下返回对象类型。

import subprocessret = subprocess.run(["pip","list"])
print(ret)

输出结果如下所示:

CompletedProcess(args=['pip', 'list'], returncode=0)

此时返回的是 CompletedProcess 类的对象实例,它表示的是结束进程之后的状态心虚,包含如下属性。

  • args:该进程执行的命令;
  • returncode:退出状态码,为 0 表示进程成功运行,负值-N 表示进程被信号 N 终止;
  • stdout:从进程捕获到的输出信息;
  • stderr:从进程捕获到的错误信息。

🍁 有了上述知识铺垫之后,就可以完成 Python 获取本地 Wifi 密码案例了 🍁

⛳️ Python 获取本地 Wifi 密码

获取本地 wifi 密码,先通过 CMD 命令实现,分为两步,如下所示。
第一步,获取所有用户配置文件,其结果为当前电脑连接过的 wifi 名称。

netsh wlan show profiles

得到的结果如下所示。
在这里插入图片描述
这里仅在本机中找到了一个配置文件 realme GT Neo2T,然后通过下述命令查看 Wifi 密码。
第二步,获取上述配置文件对应的密码。

netsh wlan show profile name="realme GT Neo2T" key=clear

可以在运行结果中找到保存密码,如下所示。
在这里插入图片描述
有了上述两条 CMD 命令,我们将其应用到 Python 中,就实现了本案例诉求。

将 CMD 命令翻译为 Python 代码,首先获取所有 wifi 信息。

import subprocess# 获取本机wifi列表
output = subprocess.run(['netsh', 'wlan', 'show', 'profiles'], capture_output=True).stdout.decode('gbk').split('\n')
print(output)
wifi_list = [item.split(':')[1][1:-1] for item in output if "所有用户配置文件" in item]print(wifi_list)

接下来执行第二条命令,获取指定 wifi 密码。

# 获取 wifi 密码
for wifi in wifi_list:ret = subprocess.run(['netsh', 'wlan', 'show', 'profile', f'name={wifi}', 'key=clear'],capture_output=True).stdout.decode('gbk', errors='ignore').split('\n')print(ret)results = [item.split(':')[1][1:-1] for item in ret if "关键内容" in item]print(f'{wifi} 密码:{results[0] if len(results)>0 else "无" }')

最终的运行结果如下所示。

realme GT Neo2T 密码:12345678

💰💰 完成本案例!

📢📢📢📢📢📢
💗 你正在阅读 【梦想橡皮擦】 的博客
👍 阅读完毕,可以点点小手赞一下
🌻 发现错误,直接评论区中指正吧
📆 橡皮擦的第 752 篇原创博客

从订购之日起,案例 5 年内保证更新

  • ⭐️ Python 爬虫 120,点击订购 ⭐️
  • ⭐️ 爬虫 100 例教程,点击订购 ⭐️

http://www.ppmy.cn/news/553358.html

相关文章

【Docker】容器化和虚拟化基础

Docker发展史 Jail(监狱)时代 1979 年 贝尔实验室发明 chroot chroot的设计原理是:把一个进程的文件系统隔离起来。 ​ chroot 系统调用可以将进程及其子进程的根目录更改为文件系统中的新位置。隔离以后,该进程无法访问到外面的文件,因此这…

Windows 徽标键有哪些关联的快捷键

Windows徽标键(也被称为Windows键或Start键)常被用来触发一些操作系统级别的快捷键。以下是一些常用的Windows键的快捷键: Windows键:打开或关闭开始菜单Windows键 A:打开Windows 10的操作中心Windows键 D&#xff…

React 样式选择器插件

npm i rc-color-picker// 使用 import ColorPicker from rc-color-picker;<ColorPicker color"" />

计算机系统时间设置打不开,电脑打不开设置界面

大家好&#xff0c;我是时间财富网智能客服时间君&#xff0c;上述问题将由我为大家进行解答。 电脑打不开设置界面的原因是&#xff1a; 1、本机电脑没有获取到DNS。 2、路由器没有获取到DNS。 3、电脑中毒导致打不开网页。 4、电脑中毒导致打不开网页。 电脑(computer&#x…

计算机放入光盘后光驱打不开怎么办,Windows7下光驱打不开光盘怎么办?

Win7之家( www.win7china.com)&#xff1a;Windows7下光驱打不开光盘怎么办&#xff1f; 很多朋友发现装完Windows7后&#xff0c;出现了一个莫名奇妙的问题&#xff1a;光盘放入光驱后&#xff0c;可以显示光盘的名称容量信息&#xff0c;可是无论双击还是右键菜单中选择打开&…

计算机光驱打不开是什么原因,win7系统下电脑光驱打不开怎么办

众所周知&#xff0c;win7系统不论是它强大的功能还是炫酷的界面都已经深受很多人的喜欢了。但是&#xff0c;最近也有很多刚装完win7系统的用户发现会出现一个问题&#xff0c;那就是光盘放入光驱后&#xff0c;虽然能够显示光盘的名称等信息&#xff0c;但是就是双击或者右键…

计算机主机打不开怎么解决办法,电脑打不开的解决方法步骤详解

有朋友反馈电脑开机时会出现莫名其妙的不能开机&#xff0c;具体现象就是开机后主机电源灯亮&#xff0c;但显示没有任何显示&#xff0c;也就是黑屏。导致电脑主机不能正常开机的原因有很多。下面是小编收集的关于电脑打不开的解决方法&#xff0c;希望对你有所帮助。 电脑打不…

在计算机里无法打开光盘,电脑光驱打不开怎么办 别担心方法在这里

光驱是电脑用来读写光碟内容的机器&#xff0c;也是在台式机和笔记本便携式电脑里比较常见的一个部件。有的时候我们会碰到光驱打不开怎么办呢?遇到光驱打不开&#xff0c;我们也不用着急&#xff0c;接下来就让我们一起来了解下吧。 电脑光驱打不开? 光驱打不开原因&#xf…