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)
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | e6022d51bca5dfbf54c30cdb8523d7b659c08253bd8092858c9bbd4ea0c0ccd7 |
|
MD5 | 6682120bd56504fb9016bcd282d73b7c |
|
BLAKE2b-256 | a1204431f80843d64bf632a9b81a82223de2d8c9f5f5b8fc4e91ecd958cb8749 |