usage: srv6_traceroute.py [-h] (-d DESTINATION | -f DESTINATION_FILE)
[-c COUNT] [-s PACKETSIZE] [-t TIMEOUT]
[-v VERBOSITY]
SRv6 traceroute script
optional arguments:
-h, --help show this help message and exit
-d DESTINATION, --destination DESTINATION
Destination host IPv6
-f DESTINATION_FILE, --destination_file DESTINATION_FILE
File with destination hosts IPv6
-c COUNT, --count COUNT
Count of random IPv6 SR hops
-l SIDS_FILE, --list_of_sids SIDS_FILE
Json file with a custom sid list
-s PACKETSIZE, --packetsize PACKETSIZE
ICMP echo packet data size
-t TIMEOUT, --timeout TIMEOUT
Scapy packet timeout
-v VERBOSITY, --verbosity VERBOSITY
Scapy verbosity
Example of DESTINATION_FILE is in the file hosts.yml.example
.
-> srv6_traceroute.py -d dead:beef:ca1f
======= Starting ICMP (packet size: 8) traceroute to dead:beef:ca1f =======
======= Starting SRv6 (packet size: 8) traceroute to dead:beef:ca1f =======
+-----+-----------------------------+-------------------------+-------------------------+--------------------+
| TTL | ASN | ICMP dst | SR dst | Latency |
+-----+-----------------------------+-------------------------+-------------------------+--------------------+
| 1 | - | - | - | - |
| 2 | - | - | - | - |
| 3 | AS-CHOOPA - Choopa, LLC, US | 2001:19f0:5000::a48:131 | - | 9.755134582519531 |
| 4 | AMS-IX1, NL | 2001:7f8:1::a502:4940:1 | 2001:7f8:1::a502:4940:1 | 44.83842849731445 |
| 5 | HETZNER-AS, DE | 2a01:4f8:0:3::11d | 2a01:4f8:0:3::11d | 24.158716201782227 |
| 6 | HETZNER-AS, DE | 2a01:4f8:0:3::f9 | 2a01:4f8:0:3::f9 | 27.796506881713867 |
| 7 | HETZNER-AS, DE | 2a01:4f8:0:e0c0::a002 | 2a01:4f8:0:e0c0::a002 | 33.812522888183594 |
| 8 | - | - | - | - |
| 9 | HETZNER-AS, DE | 2a01:4f8:0:e0c0::1c16 | 2a01:4f8:0:e0c0::1c16 | 20.31564712524414 |
| 10 | - | - | - | - |
| 11 | HETZNER-AS, DE | dead:beef:ca1f | dead:beef:ca1f | 17.747879028320312 |
+-----+-----------------------------+-------------------------+-------------------------+--------------------+
-> srv6_traceroute.py -f hosts.yml
Performing traceroute on server host1 (dead:beef:ca1f)
======= Starting ICMP (packet size: 8) traceroute to dead:beef:ca1f =======
======= Starting SRv6 (packet size: 8) traceroute to dead:beef:ca1f =======
Results of traceroute to server host1 (dead:beef:ca1f)
+-----+----------------+-------------------------+-------------------------+--------------------+
| TTL | ASN | ICMP dst | SR dst | Latency |
+-----+----------------+-------------------------+-------------------------+--------------------+
| 1 | - | - | - | - |
| 2 | - | - | - | - |
| 3 | - | - | - | - |
| 4 | AMS-IX1, NL | 2001:7f8:1::a502:4940:1 | 2001:7f8:1::a502:4940:1 | 7.732629776000977 |
| 5 | HETZNER-AS, DE | 2a01:4f8:0:3::11d | 2a01:4f8:0:3::11d | 14.463424682617188 |
| 6 | HETZNER-AS, DE | 2a01:4f8:0:3::f9 | 2a01:4f8:0:3::f9 | 18.020153045654297 |
| 7 | HETZNER-AS, DE | 2a01:4f8:0:e0c0::a002 | 2a01:4f8:0:e0c0::a002 | 17.49587059020996 |
| 8 | - | - | - | - |
| 9 | HETZNER-AS, DE | 2a01:4f8:0:e0c0::1c16 | 2a01:4f8:0:e0c0::1c16 | 17.79937744140625 |
| 10 | - | - | - | - |
| 11 | HETZNER-AS, DE | dead:beef:ca1f | dead:beef:ca1f | 16.185998916625977 |
+-----+----------------+-------------------------+-------------------------+--------------------+
Performing traceroute on server host2 (1d1e:f001)
======= Starting ICMP (packet size: 8) traceroute to 1d1e:f001 =======
======= Starting SRv6 (packet size: 8) traceroute to 1d1e:f001 =======
Results of traceroute to server host2 (1d1e:f001)
+-----+-----------------------------+-------------------------+-------------------------+--------------------+
| TTL | ASN | ICMP dst | SR dst | Latency |
+-----+-----------------------------+-------------------------+-------------------------+--------------------+
| 1 | - | - | - | - |
| 2 | - | - | - | - |
| 3 | AS-CHOOPA - Choopa, LLC, US | 2001:19f0:5000::a48:131 | 2001:19f0:5000::a48:131 | 22.018909454345703 |
| 4 | AMS-IX1, NL | 2001:7f8:1::a502:4940:1 | 2001:7f8:1::a502:4940:1 | 7.369518280029297 |
| 5 | HETZNER-AS, DE | 2a01:4f8:0:3::11d | 2a01:4f8:0:3::11d | 12.90130615234375 |
| 6 | HETZNER-AS, DE | 2a01:4f8:0:3::b2 | 2a01:4f8:0:3::b2 | 18.60523223876953 |
| 7 | HETZNER-AS, DE | 2a01:4f8:0:3::ee | 2a01:4f8:0:3::ee | 19.85001564025879 |
| 8 | HETZNER-AS, DE | 1d1e:f001 | 1d1e:f001 | 19.013166427612305 |
+-----+-----------------------------+-------------------------+-------------------------+--------------------+
======= Starting ICMP (packet size: 8) traceroute to dead:beef:cafe =======
======= Starting SRv6 (packet size: 8) traceroute to dead:beef:cafe =======
+-----+----------------------------------------------+------------------------+------------------------+--------------------+
| TTL | ASN | ICMP dst | SR dst | Latency |
+-----+----------------------------------------------+------------------------+------------------------+--------------------+
| 1 | LEASEWEB-UK-LON-11, GB | 2a0d:3001:2100:a002::2 | 2a0d:3001:2100:a002::2 | 81.56800270080566 |
| 2 | LEASEWEB-UK-LON-11, GB | 2a0d:3000::254 | 2a0d:3000::254 | 64.85724449157715 |
| 3 | TELIANET Telia Carrier, SE | 2001:2000:3080:1bbf::1 | - | 69.17166709899902 |
| 4 | TELIANET Telia Carrier, SE | 2001:2000:3019:79::1 | - | 137.43948936462402 |
| 5 | TELIANET Telia Carrier, SE | 2001:2000:3019:b6::1 | - | 145.21098136901855 |
| 6 | TELIANET Telia Carrier, SE | 2001:2000:3019:72::1 | - | 167.96255111694336 |
| 7 | TELIANET Telia Carrier, SE | 2001:2000:3018:99::1 | - | 170.88818550109863 |
| 8 | TELIANET Telia Carrier, SE | 2001:2000:3080:1b2f::2 | - | 138.5951042175293 |
| 9 | LEASEWEB-USA-WDC-01 - Leaseweb USA, Inc., US | 2607:f5b7::253 | - | 140.91253280639648 |
| 10 | LEASEWEB-USA-WDC-01 - Leaseweb USA, Inc., US | dead:beef:cafe | - | 144.75488662719727 |
+-----+----------------------------------------------+------------------------+------------------------+--------------------+