A route command output text parser
Project description
routeparser: A route command output text parser
- It provides:
Reading text output of routes into Python objects
Simple identification of routes that match hosts or networks
- Installation:
pip install routeparser
- Usage:
example (where netstat_rn.txt is full output from ‘netstat -rn’ on Linux):
import routeparser # read lines from a file with open('netstat_rn.txt', 'r') as file_handle: lines = file_handle.readlines() # You can just get objects representing the routes if you wish: routes = routeparser.Route.from_linux_netstat_lines(lines) # These have attributes such as gateway, interface and network. # Some example values as in-line comments: routes[0].gateway # ipaddress.IPv4Address('192.168.1.1') routes[0].interface # 'eth0' routes[0].network # ipaddress.IPv4Network('10.10.0.0/16') # Route objects support membership testing: '10.10.10.1' in routes[0] # would return True, given the above example route # You can get a RoutingTable object from the lines: table = routeparser.RoutingTable.from_linux_netstat_lines(lines) # which you can then use to check for specific route matches: table.match('10.10.10.1') # would result in a matching Route object, if any # It supports string or Address/Network objects from the ipaddress module: import ipaddress table.match(ipaddress.ip_network('10.10.10.0/24')) # You can even get a list of all matching routes: table.matches('10.10.10.10') # Currently supported outputs and associated methods (for Route and RoutingTable) # Windows: # - 'route print': from_windows_route_print_lines # Linux: # - 'ip route': from_ip_route_lines # - 'netstat -r[nv]': from_linux_netstat_lines # - 'route [-n]': from_linux_route_lines
Project details
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
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 routeparser-0.1.0.tar.gz.
File metadata
- Download URL: routeparser-0.1.0.tar.gz
- Upload date:
- Size: 6.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.0 CPython/3.8.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
236ccc8de84000dcb577417336c47e1e908eb16215cce877ea24c2b4584b2147
|
|
| MD5 |
72cdb071c6533d515a98a25233888834
|
|
| BLAKE2b-256 |
2f389ecda4cc0bd174d5bf9fff277d1499af94a4d47f5cbc896b9e7a47cf29d4
|
File details
Details for the file routeparser-0.1.0-py3-none-any.whl.
File metadata
- Download URL: routeparser-0.1.0-py3-none-any.whl
- Upload date:
- Size: 22.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.0 CPython/3.8.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d0e767af3f8619629fcb633c0ee3ca820d3e1b5e78f6927676700c7a6296bb28
|
|
| MD5 |
2fe87d013cea858b6c551cf998e05135
|
|
| BLAKE2b-256 |
bf5bd630a2e8e01b3af4b86361ad70f35e85397e142aa9b7c1a38835bbc4d010
|