Skip to main content

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

Metadata

Release files for aiotraceroute 1.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for aiotraceroute 1.0.0
File Size Uploaded
aiotraceroute-1.0.0.tar.gz 3.1 kB Details

Release files / aiotraceroute-1.0.0.tar.gz

Download URL aiotraceroute-1.0.0.tar.gz
Size 3.1 kB
Tags Source
SHA-256 checksum
How to use checksums
e6022d51bca5dfbf54c30cdb8523d7b659c08253bd8092858c9bbd4ea0c0ccd7
BLAKE2b-256 checksum
How to use checksums
a1204431f80843d64bf632a9b81a82223de2d8c9f5f5b8fc4e91ecd958cb8749
Upload date
Uploaded using Trusted Publishing?
What is 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

Release history Release notifications | RSS feed

This release

1.0.0 This release

1 release file

0.1.5

1 release file

0.1.4

1 release file

0.1.3

1 release file

0.1.2

1 release file

0.1.1

1 release file

0.1.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page