Traceroute Text Generator

(Redirected from Router Hop Generator)

Traceroute Text Generator is a small C program that generates "traceroute stories", or arbitrary texts in traceroutes. It is IPv6-only by design.

Source code freely available here. This daemon only creates the router hops; reverse DNS setup is done separately using any reverse DNS server.

Live demos

World IPv6 launch logo.svg No-ipv4.svg The services described here are IPv6-only, without any IPv4 addressing. If you have trouble viewing these pages, then you do not have IPv6 connectivity. This is usually not due to an issue with the firewall or web filter (if present in your network). If you have a cell phone, you may need to turn off your Wi-Fi or VPN and use cellular data instead.
Excellent! Your ISP appears to support IPv6! You shouldn't have any problem viewing these webpages.
Checking your internet connection for IPv6 support. If this text does not change, then it looks like your ISP does not support IPv6. Please disable or enable any proxies or VPNs, switch to mobile data, or simply just find another ISP.

TL;DR: Just like with the bad.horse traceroute, you can make your computer sing "My Bonnie Lies Over the Ocean" by typing the following command in Windows Command Prompt: tracert -h 60 -w 1 2602:806:a003:40f::4:25

IP address Domain name Suggested max hop count Contents
2602:806:a003:40f::28 traceroute1.t.rdns.peterjin.org 64 A little resume about myself
2602:806:a003:40f::1:a genesis.t.rdns.peterjin.org 48 The entire contents to Genesis 1:1-3 in the Bible
2602:806:a003:40f::2:60 bucket.t.rdns.peterjin.org 150 All the lyrics to the children's nursery rhyme "There's a Hole in my Bucket" (warning: long)
2602:806:a003:40f::3:1a scp-pjin-003.t.rdns.peterjin.org 64 SCP-PJIN-003
2602:806:a003:40f::4:25 bonnie-original.t.rdns.peterjin.org 60 "My Bonnie Lies over the Ocean" (there's an easter egg at the end). The DNS name "bonnie.t.rdns.peterjin.org" resolves to the IP addresses of both bonnie-original and bonnie-alt.
2602:806:a003:40f::100:16 rudolph.t.rdns.peterjin.org 60 "Rudolph the Red-Nosed Reindeer"; to skip the intro, use 2602:806:a003:40f::100:316.
2602:806:a003:40f:0:1:1:25 mountain.t.rdns.peterjin.org 60 "She'll be coming round the Mountain" (with virtual mapping/duplicate hops)
2602:806:a003:40f:0:1:2:22 bonnie-alt.t.rdns.peterjin.org 60 "My Bonnie Lies over the Ocean" (alternate version with virtual mapping)
2602:806:a003:40f:0:1:3:1a skip-lou.t.rdns.peterjin.org 60 "Skip to my Lou"
2602:806:a003:40f:0:1:4:68 12days.t.rdns.peterjin.org 150 12 Days of Christmas (warning: long)
2602:806:a003:40f:0:1:4:5868 (12days-short.t.rdns.peterjin.org) is a shorter version.
2602:806:a003:40f:0:1:5:22 we-wish-you.t.rdns.peterjin.org 60 "We wish you a Merry Christmas" (with a reference to IPv6)
Example traceroute to 2602:806:a003:40f::28
Traceroute to 2602:806:a003:40f:0:1:2:22 (bonnie-alt) to demonstrate virtual mapping. Note that although the reverse DNS entries form the song, there are duplicate IP addresses.

Example:

  • tracert -h 64 -w 1 2602:806:a003:40f::3:1a (Windows)
  • traceroute -m 64 -w 1 2602:806:a003:40f::3:1a (Linux)

If the traceroute happens to seemingly die out, wait a few more hops; there is no firewall that is blocking your requests. The Cogentco routers are notorious for not reliably sending hop limit expired messages. This means that if you are using "Paris traceroute", then you need to add a flag like -M 20.

Alternatively, if you don't have IPv6, you can view any of the traceroutes using an online looking glass:

Select IPv6 "Trace" or "Traceroute", then enter any of the above IP addresses to view the contents of the traceroute. It is best to choose a location closest to Los Angeles or Seattle.

If viewing the traceroute in an online looking glass and the traceroute stops at a certain point, you may add in an augmented starting point in the second-to-last byte. For example, if the traceroute to 2602:806:a003:40f::2:60 ends at 2602:806:a003:40f::2:27, then you can do another traceroute to 2602:806:a003:40f::2:2760.

How it works

Traceroute Text Generator (formerly Magic Traceroute and Router Hop Generator) works by computing the necessary "ICMP Hop Limit expired" messages virtually based on the current hop limit and parameters given by the destination IP address. For example, if the daemon sees a hop limit of 1, then it will reply with the first address. If the daemon sees a hop limit of 2, then it will reply with the second address, and so on. This is performed in O(1) time for every packet received.

The format of the IP address is as follows:

XXXX:XXXX:XXXX:XXXX:XXXX:XXXX:YYYY:ZZTT
  • XXXX specifies the fixed /96 prefix.
  • YYYY is ignored, but is echoed when the ICMP Hop Limit Expired messages are sent back. This allows for a total of 65,536 traceroutes.
  • ZZ augments the initial hop limit in case the maximum number of hops is fixed, such as when viewing from an online looking glass. In the reply messages, ZZ is always 0 (for real addresses) or 0xff (for virtually-mapped addresses).
  • TT specifies the maximum hop count. If the received Hop Limit is equal to or greater than TT, an ICMP Net unreachable is sent, ending the traceroute.

Traceroute Text Generator only performs the traceroute addressing structure. Reverse DNS can be performed as usual for any addresses, subject to availability at the hosting provider. That means that to add a new traceroute, the only thing that needs to be done is adding in new reverse DNS entries. In fact, the Router Hop Generator daemon is not aware of DNS at all.

This is all possible because a computer network can be simulated by a Turing machine, as a function of the packets that enter and exit the network, and Traceroute Text Generator is just a massive computational trivialization of a multihop computer network.

Gallery