おれさまラボ

実際に手を動かして理解を深めるブログ。

TRACEROUTE HAND

はじめに

traceroute hand なるものがあると聞いて試してみました。

やってみた

検証環境は以下のとおりです。

traceroute hand を見るには hand.bb0.nl に対して traceroute を打ってあげるだけです。今回は最大ホップ数を 100 に指定しています。

$ traceroute6 -m 100 hand.bb0.nl

すると、文字通り traceroute の結果に「手」が現れます。"the traceroute hand is stealing your data" と書かれていてなんだか不気味です…。

55 ホップ目あたりに "well this is the end. you can stop your traceroute here" とあり、終わりなのかと思いきや、まだ続きがあります。

"wtf are still doing here. mmmmmmmmh. i will stop writing this reverse" と表示され、

最後は「生命、宇宙、そして万物についての究極の疑問の答え」である 42 が意味ありげに表示されます。

その後、100 ホップまできちんと表示されます。それ以降どうなるのかは試していないのでわかりません。なんとなくめっちゃ続くんじゃないかという気もします…。

※試しに 200 まではやってみましたが続いていました。

traceroute hand とは

誰が何の目的で作ったのかは正直良くわかりませんが、traceroute の結果にアスキーアートを表示することを trcaeroute art と呼ぶそうです。

traceroute hand の仕組み

traceroute を行うと、ホップする IP アドレスに対して逆引きで名前を教えてくれますが、これを利用したアート作品となります。

なので、たとえば traceroute hand に登場する 2a0e:fd45:2a0a:2::ca01 という IPv6 アドレスを名前解決(逆引き)すると ____________36936936936936936__________________ が得られます。

$ dig -x 2a0e:fd45:2a0a:2::ca01

; <<>> DiG 9.16.1-Ubuntu <<>> -x 2a0e:fd45:2a0a:2::ca01
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 12878
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 65494
;; QUESTION SECTION:
;1.0.a.c.0.0.0.0.0.0.0.0.0.0.0.0.2.0.0.0.a.0.a.2.5.4.d.f.e.0.a.2.ip6.arpa. IN PTR

;; ANSWER SECTION:
1.0.a.c.0.0.0.0.0.0.0.0.0.0.0.0.2.0.0.0.a.0.a.2.5.4.d.f.e.0.a.2.ip6.arpa. 3531 IN PTR ____________36936936936936936__________________.

;; Query time: 0 msec
;; SERVER: 127.0.0.53#53(127.0.0.53)
;; WHEN: Wed Sep 29 20:07:42 JST 2021
;; MSG SIZE  rcvd: 162

もう少し詳しい仕組みは、過去に Star Wars Traceroute を作成した Ryan Werber 氏が語ってくれています。

「2台のCisco 1841上の多数のVRFを使って実現しました。VRFとは、VPNのようなプライベート・ルーティング・テーブルです。216.81.59.173(aka obiwan.scrye.net)を宛先とするパケットがメインゲートウェイに到達すると、206.214.254.1の「ASIDE」ルーターの最初のVRFに転送します。このルーターは、216.81.59.173から206.214.254.6への特定のルートを持っており、これは「BSIDE」ルーターの別のVRFに存在します。さらに、「ASIDE」ルーター上の別のVPNに存在する206.214.254.9を指す同様の設定を行っています。すべてのパケットは、グローバル・ルーティング・テーブルを指すデフォルト・ルートを使用して返されます。これは、パケットのTTL満了時に、VRFの迷路を通って完全に戻る必要がないように設計されたものです。私はEpik Networks社のコンサルタントをしており、同社は私に未使用の/24のリバースDNSを使わせてくれました。

引用:Traceroute reveals Star Wars Episode IV 'crawl' text • The Register

おわりに

過去には Star Wars Traceroute もあったそうです。こういうネタ、楽しいですよね。

参考

以上