Hello there,
I implemented a quick traceroute in Python. First of all, let me show you an example of command execution.
$ time sudo tsubame example.com traceroute to example.com (93.184.216.34), 32 hops max 1 192.168.0.1 0.458 ms 0.472 ms 0.436 ms 2 203.0.113.1 10.294 ms 10.286 ms 10.227 ms 3 203.0.113.2 10.195 ms 10.243 ms 10.281 ms 4 203.0.113.3 155.828 ms 156.041 ms 156.458 ms 5 203.0.113.4 168.941 ms 169.190 ms 169.366 ms 6 206.223.116.170 221.656 ms 221.944 ms 222.206 ms 7 152.195.84.131 223.444 ms 223.719 ms 223.928 ms 8 93.184.216.34 221.037 ms 222.064 ms 222.325 ms real 0m0.416s user 0m0.137s sys 0m0.046s
It’s so quick, isn’t it? Tsubame sends speculative probe packets and returns the results immediately. Currently, it only supports IPv4 ICMP echo requests as probe packets. Unfortunately, I don’t have enough time to implement additional features. I know I have to support IPv6 as soon as possible, though…
If this module is useful to you, I would appreciate it if you would click the star on the repository page. Thank you 🙂