page contents

试试Python获取wifi密码

本文讲述了试试python获取wifi密码!具有很好的参考价值,希望对大家有所帮助。一起跟随六星小编过来看看吧,具体如下:

attachments-2024-01-Xkkut6PL65a4d502471a0.png

本文讲述了试试python获取wifi密码!具有很好的参考价值,希望对大家有所帮助。一起跟随六星小编过来看看吧,具体如下:

如何使用命令提示符CMD在 Windows 计算机上查找所有保存的 WiFi 密码。

此方法可用于访问您过去连接过的无线网络的密码,还可以确保您知道保存了密码的网络。

打开命令提示符

您可以通过在搜索栏中搜索“命令提示符”或按 Windows + R 并在“运行”框中键入“cmd”来执行此操作。确保以管理员身份运行“cmd”。

打开命令提示符或终端后,键入以下命令:

netsh wlan show profile

上面的命令将列出您计算机中的所有 WiFi 配置文件。

每当您连接到WiFi网络并输入密码以连接到该网络时,您实际上都会创建该WiFi网络的WLAN配置文件。该配置文件存储在您的计算机中。

现在要从计算机中查找并导出所有WiFi密码,我将使用具有不同参数的相同“netsh”命令。

Note:请求的操作需要作为管理员运行的权限。

netsh wlan export profile folder=c:\ key=clear

此命令将所有 WiFi 配置文件与密码一起保存在 c:\ 目录中。

在这里,您可以看到我过去连接过的所有WiFi网络。要从特定网络查找密码,只需双击该文件即可。

您应该会看到一个标有“密钥材料”的部分,它将以明文形式显示 WiFi 密码。

也许你觉得有些过程有些麻烦,有没有10秒内搞定的办法呢?

我们试试Python获取wifi密码


import subprocess

# 更改命令行代码页到UTF-8

subprocess.run('chcp 65001', shell=True)

wifi_data = (subprocess.check_output(["netsh", "wlan", "show", "profiles"]).decode("utf-8").split("\n"))

username = [i.split(":")[1][1:-1] for i in wifi_data if "All User" in i]



for i in username:

   show_pass = (subprocess.check_output(["netsh", "wlan", "show", "profile", i, "key=clear"]).decode("utf-8").split("\n"))

   show_pass = [b.split(":")[1][1:-1] for b in show_pass if "Key Content" in b]

   try:

       print("{:<30}|  {:<}".format(i, show_pass[0]))

   except IndexError:

       print("{:<30}|  {:<}".format(i, ""))


运行以上程序后即可看到wifi密码。

以下是Python爱好者进入,学习调用的库函数的注释部分:

尝试使用UTF-8解码时,出现了无效的起始字节。

这可能是因为subprocess.check_output返回的字节数据包含非UTF-8编码的字符。

为了解决这个问题,你可以尝试使用chcp 65001命令在命令行中更改代码页到UTF-8。

这会将命令行的字符编码更改为UTF-8,使subprocess.check_output的输出以UTF-8编码。

import subprocess


# 更改命令行代码页到UTF-8

subprocess.run('chcp 65001', shell=True)


# 获取WiFi数据

wifi_data = (subprocess.check_output(["netsh", "wlan", "show", "profiles"], shell=True, encoding='utf-8').split("\n"))

subprocess.run

请注意,subprocess.run的shell=True参数将使命令在shell中执行,以便于执行chcp命令。另外,添加encoding='utf-8'参数可以确保check_output以UTF-8编码返回结果。

subprocess.check_output 是 subprocess 模块提供的一个函数,它用于运行外部命令并捕获其标准输出。

该函数执行给定的命令,并返回命令的标准输出作为字节序列(bytes)。

以下是 subprocess.check_output 的一般用法:

import subprocess


output = subprocess.check_output(["command", "arg1", "arg2"])

其中,["command", "arg1", "arg2"] 是要执行的命令及其参数的列表。

check_output 函数将执行这个命令,等待它完成,然后返回命令的标准输出作为字节序列。

主要特点和使用方法:

捕获标准输出: check_output 主要用于获取命令的标准输出。这对于需要使用外部命令并处理其输出的场景非常有用。

抛出异常: 如果命令返回的退出状态码不为零,check_output 会引发 subprocess.CalledProcessError 异常。这意味着如果命令执行失败,会抛出异常。

参数传递: 命令和参数以列表形式传递,这有助于防止 shell 注入攻击。

文本解码: 默认情况下,check_output 返回的是字节序列。如果需要,可以使用 text 参数进行文本解码,例如:check_output(["command"], text=True)。

超时: 可以使用 timeout 参数设置命令的最大运行时间,防止程序永远等待。

示例:

try:

    output = subprocess.check_output(["ls", "-l"])

    print(output.decode('utf-8'))

except subprocess.CalledProcessError as e:

    print(f"Command failed with return code {e.returncode}")

在这个示例中,ls -l 命令的输出会被捕获,并在命令执行失败时会引发异常。

subprocess.check_output 是 subprocess 模块提供的一个函数,它用于运行外部命令并捕获其标准输出。该函数执行给定的命令,并返回命令的标准输出作为字节序列bytes。

subprocess.check_output的一般用法:


import subprocess


output = subprocess.check_output(["command", "arg1", "arg2"])

其中,["command", "arg1", "arg2"] 是要执行的命令及其参数的列表。

check_output 函数将执行这个命令,等待它完成,然后返回命令的标准输出作为字节序列。

主要特点和使用方法:

捕获标准输出: check_output 主要用于获取命令的标准输出。这对于需要使用外部命令并处理其输出的场景非常有用。

抛出异常: 如果命令返回的退出状态码不为零,check_output 会引发 subprocess.CalledProcessError 异常。这意味着如果命令执行失败,会抛出异常。

参数传递: 命令和参数以列表形式传递,这有助于防止 shell 注入攻击。

文本解码: 默认情况下check_output 返回的是字节序列。如果需要,可以使用 text 参数进行文本解码,例如:check_output(["command"], text=True)。

超时: 可以使用 timeout 参数设置命令的最大运行时间,防止程序永远等待。

示例:


try:

    output = subprocess.check_output(["ls", "-l"])

    print(output.decode('utf-8'))

except subprocess.CalledProcessError as e:

    print(f"Command failed with return code {e.returncode}")

在这个示例中,ls -l 命令的输出会被捕获,并在命令执行失败时会引发异常。


补充相关编程任务


表达式包含一系列操作符,其中 NOT 是按位取反操作符,RSHIFT 是右移位操作符,LCIRC 是循环左移位操作符。

首先,我们来逐步计算这个表达式:

NOT 01110:将二进制数 01110 按位取反,得到 10001。

RSHIFT-1 10001:将二进制数 10001 向右移动1位,得到 11000。

LCIRC-2 11000:将二进制数 11000 循环左移2位,得到 00011。

因此,整个表达式的结果是 00011,其对应的十进制数是 3。

更多相关技术内容咨询欢迎前往并持续关注六星社区了解详情。

想高效系统的学习Python编程语言,推荐大家关注一个微信公众号:Python编程学习圈。每天分享行业资讯、技术干货供大家阅读,关注即可免费领取整套Python入门到进阶的学习资料以及教程,感兴趣的小伙伴赶紧行动起来吧。

attachments-2022-05-rLS4AIF8628ee5f3b7e12.jpg

  • 发表于 2024-01-15 14:47
  • 阅读 ( 194 )
  • 分类:Python开发

你可能感兴趣的文章

相关问题

0 条评论

请先 登录 后评论
轩辕小不懂
轩辕小不懂

2403 篇文章

作家榜 »

  1. 轩辕小不懂 2403 文章
  2. 小柒 1316 文章
  3. Pack 1135 文章
  4. Nen 576 文章
  5. 王昭君 209 文章
  6. 文双 71 文章
  7. 小威 64 文章
  8. Cara 36 文章