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

article/2025/9/2 15:49:14

注意,本文不是破解 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://chatgpt.dhexx.cn/article/5PEnlxyI.shtml

相关文章

网络安全应急响应-常用工具

网络安全应急响应专题文章: 1. 网络安全应急响应-日志分析技术 2. 网络安全应急响应-流量分析技术 3. 网络安全应急响应-恶意代码分析技术 4. 网络安全应急响应-终端检测与响应技术 5. 网络安全应急响应-电子数据取证技术 6. 网络安全应急响应-常用工具 7. 网…

开源软件安全检查工具

0x00 安全要求 为了有效发现开源软件存在的安全问题,避免带病上线,在投入使用或发布上线时,需要遵循以下要求: 开源软件投入使用或者集成到系统进行部署发布前,须提交开源软件的安全检测报告,若报告里面存…

Xray安全评估工具使用

xray 是一款功能强大的安全评估工具,主要特性有: 检测速度快。发包速度快; 漏洞检测算法高效。支持范围广。大至 OWASP Top 10 通用漏洞检测,小至各种 CMS 框架 POC,均可以支持。高级可定制。通过配置文件暴露了引擎的各种参数,通…

15个适用于Linux的最佳安全工具

面对现今互联网各类病毒和攻击的层出不穷,即使是Linux也不能幸免。本文我将为大家介绍15款Linux安全工具并附下载链接: 1. Firejail Firejail是一个基于c的社区SUID项目,通过管理使用Linux命名空间和seccomp-bpf的应用程序所用的访问权&…

web安全工具 御剑后台扫描layer子域名挖掘机

先使用御剑对某学校官网扫一下 御剑这个工具主要用于扫描网站后台登陆界面 扫描结果分析:HTTP响应为200说明该域名允许被访问 没有找到login、或者可疑的后台管理域名界面 index.html通常为html头部文件可测试访问 Layer子域名挖掘机软件特性 Layer子域名挖掘机…

网络安全工具使用集锦手册

如果想跟我一起讨论的话,就快加入我的知识星球吧。星球里有一千多位同样爱好安全技术的小伙伴一起交流! 常用工具: Nmap使用详解Sqlmap使用详解Metasploit Framework(MSF)的使用MSF中kiwi模块的使用MSF中mimikatz模块的使用Msfvenonm生成后门木马

如何使用开源工具构建您的网络安全工具包

如何使用开源工具构建您的网络安全工具包 | How to Build Your Cybersecurity Toolkits with Open Source Tools - Yu Chen, Aqua Security 开源是云原生的自然属性。在当前市场中,有一些商业工具可为云原生的全生命周期提供保护。然而,对于刚刚进入云原…

网络安全工具有哪些

网络安全工具有哪些?下面就带大家了解一下: 目前比较常见的网络安全测试工具有以下几种:Nmap(端口扫描器),Metasploit(漏洞监测工具),Wireshark(手动分析包工…

linux安全工具(RKHunter)

RKHunter简介 RKHunter是专业检测系统是否感染rootkit的一个工具,它通过执行一系列的脚本来确认服务器是否已经感染rootkit。在官方资料中,RKHunter可以做的事情有: MD5校验测试,检测文件是否有改动 检测rootkit使用的二进制和…

AK4安全工具集装箱V1.0.1正式发布

AK4团队首款自研工具“AK4安全工具集装箱v1.0.1”正式发布 开发者:Bains 辅助开发者:浪飒、alsly 请不要将本工具用于非法用途,仅限自行测试。前言 大学的时候就有这种把所有工具集成在一起的想法,因为安全所需工具太多&#xff…

白帽黑客与网络安全工具浅析

什么是白帽黑客? “黑客”一词是英文Hacker的音译。这个词早在莎士比亚时代就已存在了,但是人们第一次真正理解它时,却是在计算机问世之后。根据《牛津英语词典》解释,“hack”一词最早的意思是劈砍,而这个词意很容易…

安全工具介绍

在进行渗透测试时,根据渗透的流程可以将工具分为︰信息收集工具、漏洞扫描工具渗透攻击工具、后渗透工具等,包括︰ 信息收集(爱企查、Google、Shodan、Nmap )漏洞扫描(AwVS、Nessus )渗透攻击(Hydra 、Metasploit )后渗透攻击(Metasploit ) …

【赶快收藏】网络安全常用的工具!

从事渗透测试工作,我们不仅要有过硬的技术,还需要学会利用渗透工具来检测安全漏洞,这样才可以让我们的工作更高效、更快捷。那么常用的渗透测试工具你知道哪个?以下是小编整理的相关内容,快来看看吧。 第一、NST:网络…

初学网络安全不可不知的:10款开源安全工具

随着互联网的不断发展,安全问题也越来越受到企业的重视。但安全问题往往需要大量资金的投入,例如聘请安全工程师,产品研发,测试等流程。这对于那些原本就资金紧缺的企业而言,是绝对无法接受的。因此,为了减…

6款好用免费的网络安全工具合集!

从事网络安全相关工作,我们不仅要具备扎实的技术积累和实战项目经验,好用的网络安全工具也是不能少的,它在工作中可起到关键性作用。本文为大家推荐免费开源的网络安全工具,快来了解一下吧。 1、Kali Linux Kali linux是一个基于…

Windows定时开关机

一、定时关机 按WINR,打开运行对话框 输入命令shutdownn -s -t 3600 如果要取消关机,可以按WINR,打开运行对话框 输入命令shutdownn -a就可以取消自动关机. 二、每天定时关机 三、定时开机 自动定时开机的实现 首先在启动计算机时,按“Delete”键进入BIOS界面…

PVE 定时关机 定时开机

一、winSCP登录PVE, 二、进入/etc目录 三、修改crontab文件,#前最后一行加入 55 23 * * * root /sbin/shutdown -h now 四、保存即可,每天23点55PVE可定时关机。 五、定时开机 需要主板支持,以昂达h81主板为例 1.开机时点del…

win10定时关机c语言,win10 定时关机命令怎么设置_win10怎么设置定时关机指令-win7之家...

在电脑上是可以设置定时关机的,一般会用在我们进行下载的软件还没下载完上使用的,不过系统的不同,定时关机的命令也会不一样,那么win10怎么设置定时关机指令呢,下面小编给大家分享设置win10定时关机命令的方法步骤。 解…

win7 计算机定时关机脚本,Win7定时关机命令 win7系统怎么设置定时关机

有时候我们会在电脑上面下载一些软件或者电影时,但一直在旁边等着又会耽误我们做其他事情,这时我们就可以使用电脑定时关机功能了,那么win7系统怎么设置定时关机呢,其实我们可以通过win7定时关机命令来实现电脑自动定时关机&#…

网页自动关机代码HTML,自动定时关机命令

win7自动关机怎样设置,实现定时关机的命令和工具 可在windows 7操作系统中参考以下步骤进行定时关机: Windows 7在开始菜单底部的搜索栏输入“计划任务”; 通过“任务计划程序”中单击“创建基本任务”,打开任务向导; …