Getting Wi-Fi Passwords With Python - Beyond Coding !

Using Python To Get Wi-Fi Passwords

Introduction :

Today we will learn how can we Get WiFi Passwords With Python. Sometimes we forget our own connected wifi password. And when someone asks for the password to connect with the same network we decline. In this article, we are going to learn how we can see wifi passwords with python.




Table Of Content :

  • Explanation of getting wifi passwords with python
  • How to run cmd commands using Python program
  • About subprocess module
  • Stepwise flow of code
  • Source code of get wifi passwords with python
  • Output


1. Explanation: Get Wifi Passwords with python :

In order to get wifi passwords, we are going to use the subprocess module of Python which makes it easy to check the connected wifi passwords by allowing us to run (cmd)command prompt commands inside our program. We have two netsh commands using them we can easily see wifi passwords.


Logic is very simple, we will run cmd commands to check wifi passwords inside our program with the help of the subprocess module as mentioned above.


The two cmd commands to check connected wifi passwords are as follows:


  1. netsh wlan show profile
  2. netsh wlan show profile PROFILE-NAME key=clear


The first command is used to show the profiles of the connected wifi while 2nd is used to show the password of the wifi which you want to know.


Here we will use these two commands in our own way to Get WiFi Passwords With Python.


2. Run cmd commands for wifi passwords in python :

As mentioned earlier, we are going to use the subprocess module to run cmd commands in our python program. We will use a method from the subprocess module called check_output to run both cmd commands.


3. The stepwise flow of code :

The main intention behind this section is that if you have a good knowledge of python then you’ll be able to make this get wifi passwords with python program on your own without looking our source code. So, the steps of implementation are as follows:


Step1: Import subprocess module.


Step2: Run the 1st cmd command using subprocess.check_output method and store the profiles data in a variable.


Step3: Convert the profile data into a list.


Step4: Iterate over the list and run the second command to check the passwords.


Step5: Store the paswords and print


4. Source Code :


# first we will import the subprocess module

import subprocess


# now we will store the profiles data in "data" variable by

# running the 1st cmd command using subprocess.check_output

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


# now we will store the profile by converting them to list

profiles = [i.split(":")[1][1:-1] for i in data if "All User Profile" in i]


# using for loop in python we are checking and printing the wifi

# passwords if they are available using the 2nd cmd command

for i in profiles:

# running the 2nd cmd command to check passwords

results = subprocess.check_output(['netsh', 'wlan', 'show', 'profile', i,

'key=clear']).decode('utf-8').split('\n')

# storing passwords after converting them to list

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

# printing the profiles(wifi name) with their passwords using

# try and except method

try:

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

except IndexError:

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


I have added comments at every single line of code. I hope that it will help you a lot now as well as after some months when you look at this code without reading the explanation. One more thing, you are free to use this code but don’t forget to add your own styling into this.


5. Output :




Python Online Compiler :


Comments