Understanding the Bad Horse Traceroute: A Curious Discovery in Networking
An interesting find and implementation of DNS/reverse DNS for expressing an artistic fun side with otherwise mundane but useful tools
This little gem was an assignment in the SOC Analyst NOW course created by CyberNOW.
Contents
- What is Traceroute and How Does It Work?
- The Bad Horse Traceroute
- What is Dr. Horrible’s Sing-Along Blog?
- How Does It Work? (Simplified)
- Try It Yourself
- Creative Network Engineering
- Conclusion
What is Traceroute and How Does It Work?
As someone still finding their feet in networking after a military career, tools like traceroute
have become an unexpected source of fascination. At its core, traceroute
is a diagnostic tool used to map the path your data packets take to reach a server. It sends packets with gradually increasing Time To Live (TTL) values and tracks each router that responds along the way.
This produces a list of hops, each one a network device your data passes through.
1
traceroute cybernoweducation.com
Usually, this gives you a technical breakdown of network performance. But now and then you come across something more playful, something that reminds you there’s creativity in the command line.
The Bad Horse Traceroute
If you run:
1
traceroute bad.horse
You’re not just tracing a network path, you’re following the lyrics of Bad Horse, a song from Dr. Horrible’s Sing-Along Blog. Each hop in the traceroute is a hostname that forms part of the lyrics.
You might see something like:
1
2
17 he.rides.across.the.nation (162.252.205.134)
18 the.thoroughbred.of.sin (162.252.205.135)
The full song plays out hop by hop, like a singing telegram delivered one router at a time.
What is Dr. Horrible’s Sing-Along Blog?
It’s a musical web series created by Joss Whedon during the 2007–2008 writers’ strike. The story follows Dr. Horrible, an aspiring supervillain, and features the mysterious Bad Horse, leader of the Evil League of Evil.
Bad Horse doesn’t speak. He sends singing telegrams. And that’s exactly what this traceroute recreates.
How Does It Work? (Simplified)
This was the brainchild of James Renken, who set it up in 2014 and it went live in 2015. Here’s how it works:
1. Registering a Domain and IP Range
He registered the domain bad.horse
and acquired a block of consecutive IP addresses (e.g., 162.252.205.130 through 162.252.205.157).
2. Chaining Routers
Each router (or virtual hop) was configured to forward traffic to the next. That way, traceroute would follow the precise sequence he wanted.
3. Reverse DNS (PTR Records)
Each IP was given a hostname that corresponds to a line of the song. That’s done using reverse DNS, which maps IPs back to human-readable names.
1
2
162.252.205.134 -> he.rides.across.the.nation
162.252.205.135 -> the.thoroughbred.of.sin
4. Engineering the Path
With PTR records and careful routing, a simple traceroute becomes a lyric-by-lyric musical trail.
Try It Yourself
Want to see it firsthand?
- On Windows:
tracert bad.horse
- On macOS/Linux:
1
traceroute bad.horse
If you want to make sure you see the full song, you may need to increase the hop limit:
- On Windows:
1
tracert -h 60 bad.horse
- On macOS:
1
traceroute -m 60 bad.horse
There are other more complex commands, using cut
, sed
, tr
, xargs
, and say
that can speak out the lyrics direct from the traceroute
command. Love it. One example that worked on my macOS set up is:
1
traceroute -m 64 bad.horse | sed "s/^....//g" | cut -d " " -f 1 | tr "." " " | xargs say -v
Creative Network Engineering
This whole project is a great example of how technical skill and imagination can come together. It’s not just about routing and DNS, it’s about storytelling through infrastructure.
Honestly, as someone new to this world, it was inspiring to come across this. It made the concept of PTR records and routing loops stick in a way that a textbook never could. Thanks to Tyler Wall at CyberNOW for the assignment that showcased this piece of art.
Conclusion
The Bad Horse traceroute is clever, geeky, and joyful; it shows that even network tools can carry a tune. If you’re just getting into networking, don’t be surprised when you stumble across little gems like this.
Not everything on the command line has to be purely functional. Sometimes, it sings.