📅  最后修改于: 2023-12-03 15:34:09.255000             🧑  作者: Mango
在 Python 中,我们可以使用 subprocess
模块和命令行工具 netsh
来获取系统当前连接的所有 WiFi 设备。以下是一个简单的 Python 程序示例,可以用来获取所有连接的 WiFi 设备名称。
import subprocess
result = subprocess.check_output(['netsh', 'wlan', 'show', 'profiles'])
result = result.decode('utf-8')
result = result.split('\n')
profiles = [i.split(":")[1][1:-1] for i in result if "All User Profile" in i]
for i in profiles:
try:
results = subprocess.check_output(['netsh', 'wlan', 'show', 'profile', i, 'key=clear'])
results = results.decode('utf-8')
results = results.split('\n')
results = [b.split(":")[1][1:-1] for b in results if "Key Content" in b]
try:
print("{:<30}| {:<}".format(i, results[0]))
except IndexError:
print("{:<30}| {:<}".format(i, ""))
except subprocess.CalledProcessError:
print("{:<30}| {:<}".format(i, "ENCODING ERROR"))
subprocess
模块。这个模块允许 Python 脚本与操作系统上的命令行工具进行交互。check_output
函数执行命令行 netsh wlan show profiles
,用于获取系统中的所有 WiFi 设备的配置文件。check_output
执行命令行 netsh wlan show profile <wifi_ssid> key=clear
,以获取包含设备密码的详细配置。使用以上代码,将输出一个类似下列的表格:
WiFi Device Name Password
------------------------------|------------------
WiFi1 | password1
WiFi2 | password2
WiFi3 |
WiFi4 | password4
ENCODING ERROR |
使用 subprocess
模块和命令行工具 netsh
,我们可以轻松地在 Python 中获取系统中所有连接的 WiFi 设备和密码。在实际应用中,我们可以使用这些信息来自动连接到 WiFi 设备,或将其用于网络安全测试和分析等用途。