深度阅读

To extract saved Wi-Fi passwords in Linux using Python

作者
作者
2023年08月22日
更新时间
16.2 分钟
阅读时间
0
阅读量

To extract saved Wi-Fi passwords in Linux using Python, you can use the subprocess module to run the cat command in the terminal, which displays the contents of the Wi-Fi password file on the system.

Here’s an example Python code that extracts the Wi-Fi passwords using the subprocess module:

import subprocess

# Run the command to get the names of the Wi-Fi profiles
command_output = subprocess.check_output(['ls', '/etc/NetworkManager/system-connections'], shell=True)
profiles_list = [i.split(".")[0] for i in command_output.decode('utf-8').split("\n") if i]

# Loop through each profile and get its password
for profile in profiles_list:
    try:
        profile_info = subprocess.check_output(['sudo', 'cat', f'/etc/NetworkManager/system-connections/{profile}'], shell=True)
        password = [line.split("psk=")[1][1:-2] for line in profile_info.decode('utf-8').split("\n") if "psk=" in line][0]
        print(f'Wi-Fi Name: {profile}, Password: {password}')
    except subprocess.CalledProcessError as e:
        print(f'Failed to extract Wi-Fi password for profile {profile}. Error: {e}')

This code first runs the ls command to get the Wi-Fi profiles stored on the system, and then loops through each profile to get its password using a cat command. The Wi-Fi name and password are then printed to the console.

Note that this code requires that Python is run with administrative privileges to access the password files. Additionally, please note that extracting a Wi-Fi password that belongs to another user may violate their privacy and may even be illegal in certain jurisdictions.

相关标签

博客作者

热爱技术,乐于分享,持续学习。专注于Web开发、系统架构设计和人工智能领域。