Python Wi-Fi security toolkit
Project description
MiniWiFi - Python Wi-Fi Security Toolkit
MiniWiFi is a Python package for Wi-Fi network scanning and security testing. It provides a clean API for working with Wi-Fi networks programmatically.
Features
- Scan for available Wi-Fi networks
- Attempt to connect to networks using password lists
- Pure Python implementation using pywifi
- Clean API for integration with other tools
- No external dependencies beyond pywifi
Installation
pip install miniwifi
Usage Examples :
- network_scanner.py :
from miniwifi import WifiScanner
scanner = WifiScanner()
try:
networks = scanner.scan_networks()
print("Available Networks:")
for i, ssid in enumerate(networks, 1):
print(f"{i}. {ssid}")
except Exception as e:
print(f"Error: {str(e)}")
- wifi_cracker.py :
from miniwifi import WifiCracker
import sys
def main(ssid, wordlist_path):
cracker = WifiCracker()
try:
result = cracker.crack(ssid, wordlist_path)
if result['success']:
print(f"\nPassword found: {result['password']}")
print(f"Attempts: {result['attempt']} | Time: {result['elapsed']:.2f}s")
else:
print("\nPassword not found")
print(f"Total attempts: {result['attempt']} | Time: {result['elapsed']:.2f}s")
except Exception as e:
print(f"\nError: {str(e)}")
if __name__ == "__main__":
if len(sys.argv) != 3:
print("Usage: python wifi_cracker.py <SSID> <WORDLIST_PATH>")
sys.exit(1)
main(sys.argv[1], sys.argv[2])
- interactive_cracker.py :
from miniwifi import WifiScanner, WifiCracker
def display_networks(networks):
print("\nAvailable Networks:")
for i, ssid in enumerate(networks, 1):
print(f"{i}. {ssid}")
def main():
scanner = WifiScanner()
networks = scanner.scan_networks()
display_networks(networks)
try:
choice = int(input("\nSelect network number: ")) - 1
ssid = networks[choice]
wordlist = input("Enter wordlist path: ")
cracker = WifiCracker()
print(f"\nCracking {ssid}... (Press Ctrl+C to stop)")
result = cracker.crack(ssid, wordlist)
if result['success']:
print(f"\nSUCCESS! Password: {result['password']}")
else:
print("\nPassword not found in wordlist")
print(f"Attempts: {result['attempt']} | Time: {result['elapsed']:.2f}s")
except (ValueError, IndexError):
print("Invalid selection")
except KeyboardInterrupt:
print("\nOperation cancelled by user")
except Exception as e:
print(f"Error: {str(e)}")
if __name__ == "__main__":
main()
License
MIT License - See LICENSE file
Author
MrFidal - mrfidal@proton.me Project URL: https://github.com/mr-fidal/miniwifi
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
miniwifi-1.2.0.tar.gz
(3.7 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file miniwifi-1.2.0.tar.gz.
File metadata
- Download URL: miniwifi-1.2.0.tar.gz
- Upload date:
- Size: 3.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
073118c899b0fe26628fd40b3b607ac3e47d36f0b93a0ca1c4b25dc0b0322103
|
|
| MD5 |
0aaf223271638568c5ba22f0269c2504
|
|
| BLAKE2b-256 |
c43084140f9dc5c9183bc1801d267c90957a2189973682de7b2afe95e5f79d09
|
File details
Details for the file miniwifi-1.2.0-py3-none-any.whl.
File metadata
- Download URL: miniwifi-1.2.0-py3-none-any.whl
- Upload date:
- Size: 4.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b9a71d4d91f51aa07c044d6c5a9f39b0e8e7ff3de5c1c77e2df5f2b38557bc46
|
|
| MD5 |
93f0f530e2a721f7633108ae5d0b8244
|
|
| BLAKE2b-256 |
3f63bf78fea277ebab46eb5ab4cfd3611ece0333a62f683f69047204a184c8bc
|