netmap is a small C program that maps network topology by running traceroutes to one or more targets simultaneously. It sends ICMP Echo probes (IPv4 and IPv6) with incrementing TTLs, merges the resulting paths into a single graph, collapses shared hops, and renders the tree to the terminal as it discovers each hop.
Requires root — raw ICMP and ICMPv6 sockets are needed to send probes and receive TTL-exceeded replies.
To build, run make. To trace one or more targets:
sudo ./netmap google.com cloudflare.com 1.1.1.1
Pass -m maxhops to cap the TTL search (default: 30). Up to 16 targets are
accepted per run, and IPv4 and IPv6 targets can be mixed freely.
netmap 2 target(s) TTL 12/30 (2/2 reached)
[you]
\- 192.168.1.1 6.2 ms
\- 10.66.67.1 143.1 ms
\- 96.34.30.98 19.0 ms
\- 96.34.16.78 15.0 ms
\- 96.34.16.104 139.1 ms
+- 96.34.1.20 171.2 ms
| \- 96.34.2.128 34.5 ms
| \- 96.34.3.9 146.5 ms
| \- 96.34.152.155 91.4 ms
| \- 192.178.249.225 186.6 ms
| \- 142.251.231.69 30.4 ms
| \- 142.251.34.238 54.0 ms -> google.com
\- 96.34.2.153 171.2 ms
\- 96.34.3.65 34.5 ms
\- *
\- *
\- 13.104.183.145 181.3 ms
\- 150.171.27.10 33.7 ms -> bing.com