Skip to main content

Asynchronous traceroute in python

Project description

Simple asynchronous traceroute

Dead simple module which provides asynchronous traceroute with asynchronous dns resolution.

Needs root privileges to be executed (for raw socket)

Installation

pip install aiotraceroute

Example

import asyncio
from aiotraceroute import aiotraceroute

async def main(dest):
    # print hop by hop
    async for n, addr, host in aiotraceroute(dest):
        print(n, addr, host)

    # Or run it without iterating
    tr = aiotraceroute(dest)
    result = await tr.run()
    print(result)

asyncio.get_event_loop().run_until_complete(main("google.com"))

API

The aiotraceroute function takes the following arguments:

  • dest: Traceroute destination, can either be a hostname or an IP address.
  • port: Destination port (optionnal, default: 33434)
  • max_hops: Maximum number of hops before reaching final destination (optionnal, default: 30)
  • timeout: Timeout between each hop (optionnal: default: 1s)
  • packet_size: Pakcte size in bytes to send each time (optionnal: default: 60)

The run() method runs the traceroute and returns a list of tuples containing hop_number, address or None, hostname or None

Python versions

Python >= 3.6 are supported

Tests

This project uses unittest. Run make init then sudo make test

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

aiotraceroute-1.0.0.tar.gz (3.1 kB view details)

Uploaded Source

File details

Details for the file aiotraceroute-1.0.0.tar.gz.

File metadata

  • Download URL: aiotraceroute-1.0.0.tar.gz
  • Upload date:
  • Size: 3.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/50.3.0 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.6.9

File hashes

Hashes for aiotraceroute-1.0.0.tar.gz
Algorithm Hash digest
SHA256 e6022d51bca5dfbf54c30cdb8523d7b659c08253bd8092858c9bbd4ea0c0ccd7
MD5 6682120bd56504fb9016bcd282d73b7c
BLAKE2b-256 a1204431f80843d64bf632a9b81a82223de2d8c9f5f5b8fc4e91ecd958cb8749

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