IP routing through the looking-glass
TL;DR: traceroute jabberwocky.rosuav.com
IPv6 netblocks are big. Really, really big. You may think it’s a long way from 192.168.1.0 to 192.168.1.254, but that’s just peanuts to a /64 netblock.
And userspace packet filtering is a thing. One line in iptables can send packets to a queue, and then a perfectly normal program can process them. What fun!
And IPv6 “Time Exceeded” messages are like white lab coats - you can just send your own. So simple, so easy.
Put all that together, and what do you get? The ability to design your own traceroute. Drawing inspiration from amazing hacks like the Star Wars opening crawl, I put together something that… responds to packets with a Time Exceeded message whose origin depends on the remaining TTL. The result? A series of entirely mythical computers that purportedly form an immensely long routing chain. And with the help of DNS, each one of those routers has its own name.
And so we have it: A traceroute that tells a story. Or in this case, recites a poem.
$ traceroute jabberwocky.rosuav.com
traceroute to jabberwocky.rosuav.com (2403:5803:bf48:1::1), 30 hops max, 80 byte packets
1 2403:5803:bf48:8000::1 (2403:5803:bf48:8000::1) 2.658 ms 4.582 ms 5.772 ms
2 twas.brillig.and.the.slithy.toves (2403:5803:bf48:1::101) 5.747 ms 8.117 ms 8.099 ms
3 did.gyre.and.gimble.in.the.wabe (2403:5803:bf48:1::102) 8.080 ms 10.557 ms 10.534 ms
4 all.mimsy.were.the.borogoves (2403:5803:bf48:1::103) 12.639 ms 12.620 ms 13.745 ms
5 and.the.mome.raths.outgrabe (2403:5803:bf48:1::104) 13.725 ms 15.314 ms 16.232 ms
6 beware.the.jabberwock.my.son (2403:5803:bf48:1::105) 17.784 ms 1.703 ms 1.950 ms
7 the.jaws.that.bite.the.claws.that.catch (2403:5803:bf48:1::106) 5.266 ms 7.479 ms 7.451 ms
8 beware.the.jujub.bird.and.shun (2403:5803:bf48:1::107) 9.738 ms 9.718 ms 9.698 ms
9 the.frumious.bandersnatch (2403:5803:bf48:1::108) 10.595 ms 12.796 ms 12.777 ms
10 he.took.his.vorpal.sword.in.hand (2403:5803:bf48:1::109) 13.282 ms 14.598 ms 15.196 ms
11 long.time.the.manxome.foe.he.sought (2403:5803:bf48:1::10a) 15.816 ms 16.147 ms 16.449 ms
12 so.rested.he.by.the.tumtum.tree (2403:5803:bf48:1::10b) 15.549 ms 1.309 ms 1.386 ms
13 and.stood.awhile.in.thought (2403:5803:bf48:1::10c) 3.076 ms 4.834 ms 7.078 ms
14 and.as.in.uffish.thought.he.stood (2403:5803:bf48:1::10d) 7.057 ms 9.285 ms 9.267 ms
15 the.jabberwock.with.eyes.of.flame (2403:5803:bf48:1::10e) 10.903 ms 10.885 ms 10.866 ms
16 came.whiffling.through.the.tulgey.wood (2403:5803:bf48:1::10f) 12.946 ms 12.928 ms 12.908 ms
17 and.burbled.as.it.came (2403:5803:bf48:1::110) 13.226 ms 13.827 ms 14.639 ms
18 one.two.one.two.and.through.and.through (2403:5803:bf48:1::111) 14.516 ms 1.216 ms 2.570 ms
19 the.vorpal.blade.went.snicker.snack (2403:5803:bf48:1::112) 2.520 ms 3.973 ms 4.871 ms
20 he.left.it.dead.and.with.its.head (2403:5803:bf48:1::113) 7.129 ms 7.111 ms 9.810 ms
21 he.went.galumphing.back (2403:5803:bf48:1::114) 9.791 ms 11.956 ms 11.937 ms
22 and.has.thou.slain.the.jabberwock (2403:5803:bf48:1::115) 13.590 ms 13.955 ms 14.933 ms
23 come.to.my.arms.my.beamish.boy (2403:5803:bf48:1::116) 14.914 ms 15.562 ms 15.942 ms
24 o.frabjous.day.calloh.callay (2403:5803:bf48:1::117) 1.317 ms 3.042 ms 2.145 ms
25 he.chortled.in.his.joy (2403:5803:bf48:1::118) 5.741 ms 5.709 ms 7.299 ms
26 twas.brillig.and.the.slithy.toves (2403:5803:bf48:1::119) 8.419 ms 9.001 ms 9.623 ms
27 did.gyre.and.gimble.in.the.wabe (2403:5803:bf48:1::11a) 11.056 ms 11.037 ms 11.018 ms
28 all.mimsy.were.the.borogoves (2403:5803:bf48:1::11b) 11.000 ms 11.352 ms 11.684 ms
29 and.the.mome.raths.outgrabe (2403:5803:bf48:1::11c) 11.010 ms 11.021 ms 11.802 ms
30 jabberwocky.rosuav.com (2403:5803:bf48:1::1) 12.391 ms 1.159 ms 2.469 ms
Note that you’ll need additional hops to get to Sikorsky before the trace begins (there’s only one hop here
but you’ll likely need more), which can easily push this beyond the usual 30-hop limit. Check your traceroute
documentation for a flag to increase this, eg traceroute -m 60 jabberwocky.rosuav.com or similar.
Want even more Alice? traceroute aboatbeneath.rosuav.com