Skip to main content

A route 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

routeparser-0.0.3.tar.gz (5.8 kB view details)

Uploaded Source

Built Distribution

routeparser-0.0.3-py3-none-any.whl (21.9 kB view details)

Uploaded Python 3

File details

Details for the file routeparser-0.0.3.tar.gz.

File metadata

  • Download URL: routeparser-0.0.3.tar.gz
  • Upload date:
  • Size: 5.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.6.0 requests-toolbelt/0.9.1 tqdm/4.38.0 CPython/3.6.9

File hashes

Hashes for routeparser-0.0.3.tar.gz
Algorithm Hash digest
SHA256 d92294c79437eec6de665759ca994da93c9eab98a4dd48f072c48a7cfd1f5207
MD5 b9360440130ea05499e56202f5bbc6fc
BLAKE2b-256 1d6e7cafd9d2eecd93b2024bdc46ea964fd5415a18c5a8fa5d1acecc593288e5

See more details on using hashes here.

File details

Details for the file routeparser-0.0.3-py3-none-any.whl.

File metadata

  • Download URL: routeparser-0.0.3-py3-none-any.whl
  • Upload date:
  • Size: 21.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.6.0 requests-toolbelt/0.9.1 tqdm/4.38.0 CPython/3.6.9

File hashes

Hashes for routeparser-0.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 fb68eea907923b9c0d21b10785fe6e788c889a7bf677c242b45eef3daee78654
MD5 5a573a79c5bbd1c41556fd9d7e9aa90f
BLAKE2b-256 0d5c99e1457e4f2400fd37b61a21a035e8c902ced6875e4dd426abe64de2394c

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page