# PyRIC 0.1.6.3: Python Radio Interface Controller
## Linux wireless library for the Python Wireless Developer and Pentester
## DESCRIPTION:
PyRIC (is a Linux only) library providing wireless developers and pentesters the
ability to identify, enumerate and manipulate their system's wireless cards
programmatically in Python. Pentesting applications and scripts written in Python
have increased dramatically in recent years. However, these tools still rely on
Linux command lines tools for setup/preparation and restoration of the system for
use. Until now. Why use subprocess.Popen, regular expressions and str.find to
interact with your wireless cards? PyRIC is:
1. Pythonic: no ctypes, SWIG etc. PyRIC redefines C header files as Python and
uses sockets to communicate with the kernel.
2. Self-sufficient: No third-party files used. PyRIC is completely self-contained.
3. Fast: (relatively speaking) PyRIC is faster than using command line tools
through subprocess.Popen
4. Parseless: Get the output you want without parsing output from command line
tools. Never worry about newer iw versions and having to rewrite your parsers.
5. Easy: If you can use iw, you can use PyRIC.
## CURRENT STATE
ATT, PyRIC pyw provides the following:
* enumerate interfaces and wireless interfaces
* identify a cards chipset and driver
* get/set hardware address
* get/set ip4 address, netmask and or broadcast
* turn card on/off
* get supported standards
* get supported commands
* get supported modes
* get dev info
* get phy info
* get link info
* get/set regulatory domain
* get/set mode
* get/set coverage class, RTS threshold, Fragmentation threshold & retry limits
* add/delete interfaces
* enumerate ISM and UNII channels
* block/unblock rfkill devices
* check 'connectivity', disconnect from AP
In utils, several helpers can be found that can be used to:
* enumerate channels and frequencies and convert between the two
* manipulate mac addresses and generate random ones
* fetch and parse the IEEE oui text file
* further rfkill operations to include listing all rfkill devices
At it's heart, PyRIC is a Python port of (a subset of) iw and by extension, a
Python port of Netlink w.r.t nl80211 functionality. The original goal of PyRIC
was to provide a simple interface to the underlying nl80211 kernel support,
handling the complex operations of Netlink seamlessy while maintaining a minimum
of "code walking" to understand, modify and extend. But, why stop there? Since
it's initial inception, PyRIC has grown. PyRIC puts iw, ifconfig, rfkill, udevadm,
airmon-ng and macchanger in your hands (or your program).
Raw data
{
"_id": null,
"home_page": "http://wraith-wireless.github.io/PyRIC/",
"name": "PyRIC",
"maintainer": null,
"docs_url": null,
"requires_python": null,
"maintainer_email": null,
"keywords": "Linux Python nl80211 iw iwconfig ifconfig wireless WLAN WiFi pentest",
"author": "Dale Patterson",
"author_email": "wraith.wireless@yandex.com",
"download_url": "https://files.pythonhosted.org/packages/08/64/a99f27d3b4347486c7bfc0aa516016c46dc4c0f380ffccbd742a61af1eda/PyRIC-0.1.6.3.tar.gz",
"platform": "UNKNOWN",
"description": "# PyRIC 0.1.6.3: Python Radio Interface Controller\n## Linux wireless library for the Python Wireless Developer and Pentester\n\n## DESCRIPTION:\nPyRIC (is a Linux only) library providing wireless developers and pentesters the\nability to identify, enumerate and manipulate their system's wireless cards\nprogrammatically in Python. Pentesting applications and scripts written in Python\nhave increased dramatically in recent years. However, these tools still rely on\nLinux command lines tools for setup/preparation and restoration of the system for\nuse. Until now. Why use subprocess.Popen, regular expressions and str.find to\ninteract with your wireless cards? PyRIC is:\n\n1. Pythonic: no ctypes, SWIG etc. PyRIC redefines C header files as Python and\nuses sockets to communicate with the kernel.\n2. Self-sufficient: No third-party files used. PyRIC is completely self-contained.\n3. Fast: (relatively speaking) PyRIC is faster than using command line tools\nthrough subprocess.Popen\n4. Parseless: Get the output you want without parsing output from command line\ntools. Never worry about newer iw versions and having to rewrite your parsers.\n5. Easy: If you can use iw, you can use PyRIC.\n\n## CURRENT STATE\nATT, PyRIC pyw provides the following:\n* enumerate interfaces and wireless interfaces\n* identify a cards chipset and driver\n* get/set hardware address\n* get/set ip4 address, netmask and or broadcast\n* turn card on/off\n* get supported standards\n* get supported commands\n* get supported modes\n* get dev info\n* get phy info\n* get link info\n* get/set regulatory domain\n* get/set mode\n* get/set coverage class, RTS threshold, Fragmentation threshold & retry limits\n* add/delete interfaces\n* enumerate ISM and UNII channels\n* block/unblock rfkill devices\n* check 'connectivity', disconnect from AP\n\nIn utils, several helpers can be found that can be used to:\n* enumerate channels and frequencies and convert between the two\n* manipulate mac addresses and generate random ones\n* fetch and parse the IEEE oui text file\n* further rfkill operations to include listing all rfkill devices\n\nAt it's heart, PyRIC is a Python port of (a subset of) iw and by extension, a\nPython port of Netlink w.r.t nl80211 functionality. The original goal of PyRIC\nwas to provide a simple interface to the underlying nl80211 kernel support,\nhandling the complex operations of Netlink seamlessy while maintaining a minimum\nof \"code walking\" to understand, modify and extend. But, why stop there? Since\nit's initial inception, PyRIC has grown. PyRIC puts iw, ifconfig, rfkill, udevadm,\nairmon-ng and macchanger in your hands (or your program).",
"bugtrack_url": null,
"license": "GPLv3",
"summary": "Python Wireless Library",
"version": "0.1.6.3",
"project_urls": {
"Download": "https://github.com/wraith-wireless/pyric/archive/0.1.6.3.tar.gz",
"Homepage": "http://wraith-wireless.github.io/PyRIC/"
},
"split_keywords": [
"linux",
"python",
"nl80211",
"iw",
"iwconfig",
"ifconfig",
"wireless",
"wlan",
"wifi",
"pentest"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "0864a99f27d3b4347486c7bfc0aa516016c46dc4c0f380ffccbd742a61af1eda",
"md5": "c711069b2c1cb4fcc16312fed9b4d287",
"sha256": "b539b01cafebd2406c00097f94525ea0f8ecd1dd92f7731f43eac0ef16c2ccc9"
},
"downloads": -1,
"filename": "PyRIC-0.1.6.3.tar.gz",
"has_sig": false,
"md5_digest": "c711069b2c1cb4fcc16312fed9b4d287",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 870401,
"upload_time": "2016-12-04T07:54:48",
"upload_time_iso_8601": "2016-12-04T07:54:48.374144Z",
"url": "https://files.pythonhosted.org/packages/08/64/a99f27d3b4347486c7bfc0aa516016c46dc4c0f380ffccbd742a61af1eda/PyRIC-0.1.6.3.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2016-12-04 07:54:48",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "wraith-wireless",
"github_project": "pyric",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "pyric"
}