Star Wars per DNS.

Das Intro des allerersten Star-Wars-Film – in der inzwischen mehr als verkorksten Folgenflut des ausgelutschten Franchise die Folge 4 – hat Kultstatus. In einem leinwandbreiten Rolltext wird die Geschichte eingeleitet, umrahmt vom Star-Wars-Sound in ohrenbetäubender Lautstärke. Die Einblendung dieses oder ähnlich gelagerter Texte hat schon popart-artige Züge angenommen und man kann sich auch heute noch sehr viele Freunde machen, wenn man diesen Text an unerwarteten Orten platziert. Zum Beispiel im DNS.

Wer in einer Shell oder einer DOS-Box (unter Windows die „Eingabeaufforderung“ bzw. cmd.exe) auf eine bestimmte IP-Adresse im Internet traceroutet, erhält einen erstaunlichen Auszug:

C:\Users\besim>tracert -h 60 216.81.59.173

Routenverfolgung zu FIN [216.81.59.173] über maximal 30 Abschnitte:

1 3 ms 3 ms 3 ms besimbox [192.168.221.1]
2 32 ms 26 ms 24 ms 217.0.118.47
3 13 ms 17 ms 11 ms 87.186.241.38
4 17 ms 13 ms 13 ms f-ed5-i.F.DE.NET.DTAG.DE [217.5.95.2]
5 13 ms 14 ms 12 ms 62.157.249.50
6 120 ms 153 ms 132 ms xe-0-0-0.atl11.ip4.tinet.net [89.149.183.141]
7 122 ms 121 ms 120 ms epik-networks-gw.ip4.tinet.net [77.67.69.158]
8 120 ms 121 ms 120 ms po0-3.dsr2.atl.epikip.net [216.81.59.2]
9 * * * Zeitüberschreitung der Anforderung.
10 156 ms 160 ms 158 ms Episode.IV [206.214.251.1]
11 162 ms 162 ms 156 ms A.NEW.HOPE [206.214.251.6]
12 159 ms 159 ms 159 ms It.is.a.period.of.civil.war [206.214.251.9]
13 156 ms 158 ms 157 ms Rebel.spaceships [206.214.251.14]
14 156 ms 157 ms 157 ms striking.from.a.hidden.base [206.214.251.17]
15 164 ms 159 ms 159 ms have.won.their.first.victory [206.214.251.22]
16 159 ms 159 ms 159 ms against.the.evil.Galactic.Empire [206.214.251.25]
17 163 ms 161 ms 158 ms During.the.battle [206.214.251.30]
18 163 ms 159 ms 161 ms Rebel.spies.managed [206.214.251.33]
19 158 ms 156 ms 154 ms to.steal.secret.plans [206.214.251.38]
20 167 ms 160 ms 157 ms to.the.Empires.ultimate.weapon [206.214.251.41]
21 164 ms 158 ms 163 ms the.DEATH.STAR [206.214.251.46]
22 158 ms 159 ms 172 ms an.armored.space.station [206.214.251.49]
23 158 ms 165 ms 172 ms with.enough.power.to [206.214.251.54]
24 162 ms 159 ms 160 ms destroy.an.entire.planet [206.214.251.57]
25 161 ms 158 ms 162 ms Pursued.by.the.Empires [206.214.251.62]
26 158 ms 159 ms 160 ms sinister.agents [206.214.251.65]
27 159 ms 157 ms 156 ms Princess.Leia.races.home [206.214.251.70]
28 161 ms 157 ms 159 ms aboard.her.starship [206.214.251.73]
29 158 ms 162 ms 156 ms custodian.of.the.stolen.plans [206.214.251.78]
30 160 ms 156 ms 160 ms that.can.save.her [206.214.251.81]
31 161 ms 160 ms 159 ms people.and.restore [206.214.251.86]
32 154 ms 165 ms 156 ms freedom.to.the.galaxy [206.214.251.89]
33 157 ms 157 ms 155 ms 0-------------------0 [206.214.251.94]
34 162 ms 159 ms 161 ms 0------------------0 [206.214.251.97]
35 156 ms 158 ms 158 ms 0-----------------0 [206.214.251.102]
36 160 ms 157 ms 162 ms 0----------------0 [206.214.251.105]
37 164 ms 161 ms 158 ms 0---------------0 [206.214.251.110]
38 184 ms 176 ms 175 ms 0--------------0 [206.214.251.113]
39 183 ms 192 ms 179 ms 0-------------0 [206.214.251.118]
40 174 ms 171 ms 177 ms 0------------0 [206.214.251.121]
41 181 ms 178 ms 187 ms 0-----------0 [206.214.251.126]
42 175 ms 180 ms 182 ms 0----------0 [206.214.251.129]
43 178 ms 191 ms 177 ms 0---------0 [206.214.251.134]
44 174 ms 179 ms 185 ms 0--------0 [206.214.251.137]
45 189 ms 179 ms 179 ms 0-------0 [206.214.251.142]
46 180 ms 169 ms 182 ms 0------0 [206.214.251.145]
47 176 ms 181 ms 188 ms 0-----0 [206.214.251.150]
48 158 ms 160 ms 167 ms 0----0 [206.214.251.153]
49 160 ms 162 ms 163 ms 0---0 [206.214.251.158]
50 162 ms 160 ms 159 ms 0--0 [206.214.251.161]
51 162 ms 161 ms 164 ms 0-0 [206.214.251.166]
52 163 ms 162 ms 156 ms 00 [206.214.251.169]
53 159 ms 160 ms 158 ms I [206.214.251.174]
54 161 ms 161 ms 164 ms By.Ryan.Werber [206.214.251.177]
55 163 ms 160 ms 162 ms When.CCIEs.Get.Bored [206.214.251.182]
56 160 ms 164 ms 163 ms read.more.at.beaglenetworks.net [206.214.251.185]
57 158 ms 162 ms 165 ms FIN [216.81.59.173]

Ablaufverfolgung beendet.

Da hat sich doch tatsächlich jemand die Mühen gemacht, die IP-Adresse 216.81.59.173 über eine ganze Reihe von Rechnern bzw. Netzwerkschnittstellen zu routen und jede IP-Adresse hat einen Schnipsel der Geschichte als Hostnamen bekommen. Wer dann einen vollständigen Traceroute auf die obige IP-Adresse durchführt, bekommt sie zeilenweise bzw. hop-weise angezeigt. Niedlich. 🙂

Wer sich mit dem Thema Domain Name System näher beschäftigt, könnte hier auf eine sehr naheliegende Frage kommen: Wie hat der Mensch, der dies gemacht, denn das DNS so umgebogen, dass er Hostnamen verwenden konnte, die es so im DNS gar nicht geben kann? Denn trotz der Bemühungen für neue Top-Level-Domains gibt es aktuell keine Top-Level-Domain beispielsweise namens „.starship“ und ist auch aktuell nicht geplant. So ein nslookup-Ergebnis ist daher zumindest einmal paradox:

C:\Users\besim>nslookup 206.214.251.73
Server: besimbox
Address: 192.168.221.1

Name: aboard.her.starship
Address: 206.214.251.73

Die Lösung ist relativ einfach: Im Falle von Traceroute wird rückwärtsaufgelöst (Reverse-DNS). Normalerweise wird im DNS ja „vorwärtsaufgelöst“: Man hat einen Hostnamen, möchte mit dem Zielrechner Kontakt aufnehmen und im DNS wird dazu dann die IP-Adresse des Zielrechners ermittelt. Die Rückwärtsauflösung läuft genau andersherum: Wir haben die IP-Adresse und wollen herausbekommen, welcher Hostnamen dahintersteckt.

Die Abfragestruktur ist dabei ähnlich, nur dass die Informationen für die Rückwärtsauflösung nicht bei den Registrierungsstellen für Top-Level-Domains stehen, sondern auf Nameservern der Provider, die damit ihre IP-Adressblöcke benennen können. Was man hier hinterlegt, sollte mit der Vorwärtsauflösung zwar stimmen, tut es aber in vielen Fällen nicht. Wenn zum Beispiel ein Webhoster auf einer IP-Adresse auf einem Server mehrere tausend Webkunden betreut, zeigen sehr viele Hostadressen auf eine IP-Adresse, umgekehrt ist aber im Reverse-DNS regelgerecht nur ein Hostname hinterlegt.

Den Spaß kann man natürlich, wie in diesem Fall, auch einfach mal komplett umdefinieren und Hostnamen für IP-Adressen hinterlegen, die es gar nicht gibt. Ordentliche Provider werden solche Späße aus „Hygienegründen“ nicht zulassen, aber sei’s drum. 🙂

4 Gedanken zu „Star Wars per DNS.

  1. Eine kleine Anmerkung. Ein ordentlicher Provider, der
    DNS-Dienste verkauft, wird sich mit an Sicherheit
    grenzender Wahrscheinlichkeit *nicht* in die Benamung der
    PTR-Records einmischen. (Modulo $rechtssystem ;-).

    Sonst laufen ihm ggf. die Kunden davon, und das will der
    nicht.

    1. Das wird er allerdings – rein in der Theorie – müssen, weil die RIR ihre LIR dazu anhalten, dass PTR-Records funktionieren und mit DNS-Einträgen korrespondieren. Die Rückwärtsauflösung gehört eindeutig zur technischen Infrastruktur und „sollte“ mit der eigentlichen DNS-Auflösung korrespondieren.

      Es gilt zu unterscheiden, was wir mit „sauber“ definieren. Das hier, was hier im Artikel ist, ist nicht sauber, weil das Hostnamen sind, die nicht im DNS abbildbar sind. Wenn es funktionierende Hostnamen wären, spricht nichts dagegen. Dass das in der Praxis praktisch nicht zu kontrollieren ist, ist ein anderes Thema. Bsp. könnte man als PTR-Record auch sehr bequem ein CNAME einsetzen, das faktisch richtig ist, auf einen eigenen DNS-Server zeigt, der dann falsche PTR-Records trägt. Und so weiter.

  2. Während der nslookup auch bei mir funktioniert, bekomme ich beim Traceroot nach fünf hops

    5 * * * Zeitüberschreitung der Anforderung.

    Liegt das jetzt an unseren DNS-Einstellungen oder an meinem Windows?

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *