Pythonic aircrack-ng bindings
Project description
Python aircrack-ng bindings
PyrCrack is a Python API exposing a common aircrack-ng API. As AircrackNg will run in background processes, and produce parseable output both in files and stdout, the most pythonical approach are context managers, cleaning up after
This library exports a basic aircrack-ng API aiming to keep always a small readable codebase.
This has led to a simple library that executes each of the aircrack-ng's suite commands and auto-detects its usage instructions. Based on that, it dinamically builds classes inheriting that usage as docstring and a run() method that accepts keyword parameters and arguments, and checks them BEFORE trying to run them.
Some classes expose themselves as async iterators, as airodump-ng's wich returns access points with its associated clients.
Documentation
The documentation is made with Material for MkDocs and is hosted by GitHub Pages.
Examples
Be sure to check the python notebook example
You can have also have a look at the examples/ folder for some usage examples, such as the basic "scan for targets", that will list available interfaces, let you choose one, put it in monitor mode, and scan for targets updating results each 2 seconds.
import asyncio
import pyrcrack
from rich.console import Console
from rich.prompt import Prompt
async def scan_for_targets():
"""Scan for targets, return json."""
console = Console()
console.clear()
console.show_cursor(False)
airmon = pyrcrack.AirmonNg()
interface = Prompt.ask(
'Select an interface',
choices=[a['interface'] for a in await airmon.interfaces])
async with airmon(interface) as mon:
async with pyrcrack.AirodumpNg() as pdump:
async for result in pdump(mon.monitor_interface):
console.clear()
console.print(result.table)
await asyncio.sleep(2)
asyncio.run(scan_for_targets())
This snippet of code will produce the following results:
Contributors
License
Pyrcrack is distributed under the terms of the GPL2+ license.
v1.2.6 (2022-12-20)
Fix
- Fixed small typing issue
v1.2.5 (2022-12-03)
Fix
- Fixed CI badge on readme
v1.2.4 (2022-12-03)
Fix
- Reorganized workflows
v1.2.3 (2022-12-03)
Fix
- I was re-checking out the repo
v1.2.2 (2022-12-03)
Fix
- Changed action for softprops/action-gh-release
v1.2.1 (2022-12-03)
Fix
- Added missing commitizen dep
v1.2.0 (2022-12-03)
d12f20d9790c04622957a14d2304e149b78d49df
Feat
- Added CI autorelease
- Upgrading workflows
- Migrating to hatch
- :sparkles: Check correct aircrack version and root (#41)
- :sparkles: #29 Improved airmon-ng interface
- :sparkles: #37 Improved aireplay-ng usability (#38)
- Added debug mode. Don't delete tempfiles
- closes: #11 Added pypi to github flow
Fix
- :bug: #29 Don't break on exit in most cases
- Added run-as-root message
- Fixed airmon test
- [#10] Using codecov badge
- [#10] Migrating to codecov
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
Built Distribution
File details
Details for the file pyrcrack-1.2.6.tar.gz
.
File metadata
- Download URL: pyrcrack-1.2.6.tar.gz
- Upload date:
- Size: 67.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.16
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | cd7c816134a99c3c8d78b67692b53c226d5bf7cb666506005b3b3445f167a9de |
|
MD5 | 4c9841a7c92fb83eeb94b86ded886daa |
|
BLAKE2b-256 | 3d6e803aa27c2da5c2f87d1314cfc256f8382f90a73e35cc422c5b3c505a3291 |
File details
Details for the file pyrcrack-1.2.6-py3-none-any.whl
.
File metadata
- Download URL: pyrcrack-1.2.6-py3-none-any.whl
- Upload date:
- Size: 17.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.16
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ca534b77272358bfdb273cdd069db206a998957bffe147dbc4d24b6472766263 |
|
MD5 | 5a4562d2e9aec732c7e6d8809c77a71e |
|
BLAKE2b-256 | a2103c0f614c1f35915d1500a551d48d677f340a1c14ee75647c3ee3d4548a7d |