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.2.tar.gz (5.7 kB view details)

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: routeparser-0.0.2.tar.gz
  • Upload date:
  • Size: 5.7 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.2.tar.gz
Algorithm Hash digest
SHA256 19d109483ec21d7698500eb77dff95f97e9378257c3c716c6316473d6957ece6
MD5 c5a8790c56fbed5877d2d405833ea013
BLAKE2b-256 32381e17e6cac1cdc1bf49d76258992bf7461d6eed2dead41bef28861539b266

See more details on using hashes here.

File details

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

File metadata

  • Download URL: routeparser-0.0.2-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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 ffc3c78353b01bc15c297bcc6a1bf924188d032a6fd1d5b3a3256d57bff984c9
MD5 0fbe287d3315ce369d7db1eb1cbd5f01
BLAKE2b-256 cd60d2463bbc56dfac87f219f0024060914b84061f58583ada88a0b874fa4b0e

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