Windows10系统使用Python查看本机已存储的WiFi密码

Windows10系统使用Python查看本机已存储的WiFi密码

import re
import subprocess


name_list = []
# 定义要执行的命令
command = 'netsh wlan show profiles'

# 使用subprocess.run执行命令,并捕获输出
result = subprocess.run(command, shell=True, text=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)

# 检查命令是否执行成功
if result.returncode == 0:
    # 打印命令的输出结果
    for line in result.stdout.splitlines():
        if '所有用户配置文件' in line:
            match = re.search(r':\s*(.*)', line)
            wifi_name = match.group(1)
            # 将获取到的WiFi名称写入存储的目的列表
            name_list.append(wifi_name)
else:
    # 如果命令执行失败,打印错误信息
    print("Error executing command:", result.stderr)


counter_password = 0
counter_open = 0
for info in name_list:
    if ' ' in info:
        command_password = f'netsh wlan show profiles name="{info}" key=clear'
    else:
        command_password = f"netsh wlan show profiles {info} key=clear"
    # 使用subprocess.run执行命令,并捕获输出
    result_password = subprocess.run(command_password, shell=True, text=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
    # 检查命令是否执行成功
    if result_password.returncode == 0:
        for lines in result_password.stdout.splitlines():
            if '关键内容' in lines:
                matchs = re.search(r':\s*(.*)', lines)
                password_info = matchs.group(1)
                print(f'WiFi名称:{info} 的密码是:{password_info}')
                counter_password += 1
            elif '开放式' in lines:
                print(f'WiFi名称:{info} 的密码是:开放WiFi,无密码!')
                counter_open += 1
    else:
        # 如果命令执行失败,打印错误信息
        print("Error executing command:", result_password.stderr)
print(f'本机已存储的WiFi总数是:{len(name_list)} \n加密无线WiFi的个数是:{counter_password}\n未加密无线WiFi的数量是:{counter_open}')

 Code Download:

 1 import re
 2 import subprocess
 3 
 4 
 5 name_list = []
 6 # 定义要执行的命令
 7 command = 'netsh wlan show profiles'
 8 
 9 # 使用subprocess.run执行命令,并捕获输出
10 result = subprocess.run(command, shell=True, text=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
11 
12 # 检查命令是否执行成功
13 if result.returncode == 0:
14     # 打印命令的输出结果
15     for line in result.stdout.splitlines():
16         if '所有用户配置文件' in line:
17             match = re.search(r':\s*(.*)', line)
18             wifi_name = match.group(1)
19             # 将获取到的WiFi名称写入存储的目的列表
20             name_list.append(wifi_name)
21 else:
22     # 如果命令执行失败,打印错误信息
23     print("Error executing command:", result.stderr)
24 
25 
26 counter_password = 0
27 counter_open = 0
28 for info in name_list:
29     if ' ' in info:
30         command_password = f'netsh wlan show profiles name="{info}" key=clear'
31     else:
32         command_password = f"netsh wlan show profiles {info} key=clear"
33     # 使用subprocess.run执行命令,并捕获输出
34     result_password = subprocess.run(command_password, shell=True, text=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
35     # 检查命令是否执行成功
36     if result_password.returncode == 0:
37         for lines in result_password.stdout.splitlines():
38             if '关键内容' in lines:
39                 matchs = re.search(r':\s*(.*)', lines)
40                 password_info = matchs.group(1)
41                 print(f'WiFi名称:{info} 的密码是:{password_info}')
42                 counter_password += 1
43             elif '开放式' in lines:
44                 print(f'WiFi名称:{info} 的密码是:开放WiFi,无密码!')
45                 counter_open += 1
46     else:
47         # 如果命令执行失败,打印错误信息
48         print("Error executing command:", result_password.stderr)
49 
50 
51 print(f'本机已存储的WiFi总数是:{len(name_list)} \n\t加密无线WiFi的个数是:{counter_password}\n\t未加密无线WiFi的数量是:{counter_open}')
View Code

 

posted @ 2024-12-23 21:50  博雅塔之客  阅读(54)  评论(0)    收藏  举报