Skip to main content

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

routeparser-0.1.0.tar.gz (6.8 kB view details)

Uploaded Source

Built Distribution

routeparser-0.1.0-py3-none-any.whl (22.3 kB view details)

Uploaded Python 3

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

Hashes for routeparser-0.1.0.tar.gz
Algorithm Hash digest
SHA256 236ccc8de84000dcb577417336c47e1e908eb16215cce877ea24c2b4584b2147
MD5 72cdb071c6533d515a98a25233888834
BLAKE2b-256 2f389ecda4cc0bd174d5bf9fff277d1499af94a4d47f5cbc896b9e7a47cf29d4

See more details on using hashes here.

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

Hashes for routeparser-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d0e767af3f8619629fcb633c0ee3ca820d3e1b5e78f6927676700c7a6296bb28
MD5 2fe87d013cea858b6c551cf998e05135
BLAKE2b-256 bf5bd630a2e8e01b3af4b86361ad70f35e85397e142aa9b7c1a38835bbc4d010

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