|
Hauptseite - Welches System? - Hardware - Software - Emulatoren - |
Internet MausNet Programmieren Verweise Über |
Die empfohlene Methode, diese Kommandos zu benutzen, ist, dies über das
Resolve Tool des STinG Dialers von Peter Rottengatter zu tun. Mit anderen
Interfaces sollte es auch funktionieren, könnte aber unerwünschte
Nebenwirkungen in diesen Programmen haben (normalerweise wird versucht, eine
Verbindung aufzubauen mit gespeicherten IP-Adressen).
Alle Schlüsselworte beginnen und enden mit eckigen Klammern ('[' und ']'),
und ein unbekannter Befehl, der mit einer öffnenden eckigen Klammer beginnt,
wird keine Auswirkungen haben. Der Resolver wird in diesem Fall 'E_CANTRESOLVE'
zurückliefern. Diese Fehlermeldung wird auch immer zurückgegeben, wenn
seine Ausführung fehlschlägt, egal aus welchem Grund.
TABs und Leerzeichen werden ignoriert, wenn sie um Schlüsselworte,
Argumente und Trenner herum oder zwischen diesen stehen, sie dürfen
jedoch nicht innerhalb dieser stehen.
Bitte beachten:
Innerhalb der eckigen Klammern ist Groß-/Kleinschreibung egal und
wird auch nicht beibehalten, also können Sie statt [LOAD] auch [load]
oder [loAD] (usw.) benutzen.
Dokumentation zum RESOLVE.STX Version 1.06 von Ulf Ronald Andersson
Inhalt:
Einführung in den DNS-Resolver
Dies hat den Grund, daß einige Clients Rückmeldungen nur auf diese
Meldung überprüfen. Diese Clients würden, wenn ich einen anderen
Fehlercode zurückgebe, Müll produzieren. Alle erfolgreich
durchgeführten Befehle werden am Ende einen Cache-Eintrag hinterlassen,
um die erfolgreiche Durchführung aufzuzeigen. Die einzigen Ausnahmen sind
[FIRST] und [NEXT], wenn sie in dieser Form benutzt werden, um einen nicht
vorhandenen Eintrag zu erhalten. Hier wird 'E_CANTRESOLVE' zurückgegeben
werden, obwohl kein wirklicher Fehler aufgetreten ist.
Punkte ('.') werden hier nicht als Trenner betrachtet, sondern eher als
Operatoren, mit denen aus Einzelstrings ganze Adressen oder Namen gebildet
werden. Innerhalb von Domain-Namen oder numerischen IP-Adressen sind TABs
und Leerzeichen nicht erlaubt. Die einzigen zur Zeit definierten Trenner
sind '=' und ':'.
Befehl | Argument | Beschreibung |
---|---|---|
[LOAD] | kein Argument | lädt die Datei CACHE.DNS ins RAM |
[SAVE] | kein Argument | speichert die Datei CACHE.DNS auf HD |
[FIRST] | kein Argument | resolved den Root-Eintrag des DNS-Cache im RAM |
[NEXT] | kein Argument | resolved den nächsten Eintrag des DNS-Cache im RAM |
[CNAME] | arg1=arg2:arg3 | Definiert einen "canonical" Domain-Namen für eine IP |
[ALIAS] | arg1=arg2:arg3 | Definiert einen Alias-Domain-Namen für eine IP |
Die letzten beiden Befehle haben eine identische Syntax; das Argument hat folgende Bedeutung:
Argument | Bedeutung | Beispiel | Erklärung |
---|---|---|---|
arg1 | Der Domain-Name | hugin.oden.se | (der Server meines Providers) |
arg2 | Die numerische IP | 193.45.240.2 | dessen IP-Adresse |
arg3 | Time To Live (in Sekunden) | 172800 | zwei Tage gültig |
Der TTL-Eintrag und der einleitende Doppelpunkt sind optional, und werden sie weggelassen, wird als Voreinstellung 10 Jahre angenommen. Dies ist dazu gedacht, um Einträge mit halb-permanenten IPs in lokalen Netzwerken zu erstellen, und erlaubt, ausschlißlich symbolische Adressen sowohl in einem kleinen Intranet als auch im Internet zu benutzen. Es wird hierfür kein Nameserver benötigt, was insofern wichtig ist, als es für TOS noch keinen gibt.
Bitte beachten:
Um ein Alias zu definieren, müssen Sie zuerst den "canonical"
Namen dieser IP definieren. Aliase werden über die "canonical" Einträge
erstellt, daher müssen diese zuerst vorhanden sein. (Dies wird bei Netzwerkanfragen
automatisch erledigt.)
Die beiden Kommandos [FIRST] und [NEXT] können dazu benutzt werden, alle Cacheeinträge zu durchsuchen, da E_CANTRESOLVE zurückgegeben wird, sobald das Ende des Cache erreicht wurde.
Aus technischen Gründen enthält FIRST hier den zuletzt definierten Inhalt von CNAME, und der letzte Eintrag wird das älteste ALIAS des ältesten CNAME sein, oder CNAME selbst, wenn der älteste keine Aliase hat. Auf diese Weise ist der Cache organisiert und die Reihenfolge des Durchsuchens folgt konsequent diesem Muster. Daher werden Einträge relativ zu ihrem CNAME definiert, und die Reihenfolge, in der sie definiert ist, verweist nur auf die anderen Aliase desselben CNAME.
Die Ergebnisse der Befehle, wie sie dem "resolvenden" Client übergeben werden:
Schlüsselwort | Ergebnis |
---|---|
[LOAD] | Löst den 'root'(Wurzel-) Eintrag des erfolgreichen geladenen Caches auf |
[SAVE] | Löst den 'current'(aktuellen) Eintrag nach erfolgreichem Sichern auf |
[FIRST] | Löst den 'root' Eintrag des Cache auf, sofern er nicht leer ist |
[NEXT] | Löst den 'next' (nächsten) Eintrag des Caches auf, sofern das Ende noch nicht erreicht ist |
[CNAME] | Löst den definierten Eintrag auf, wenn dieser gefunden wird |
[ALIAS] | Löst den definierten Eintrag auf, wenn dieser gefunden wird |
Achtung: Aus Sicherheitsgründen, die in der Einleitung angeführt wurden, werden alle Fehler der Kommandos dem aufrufenden Client mit dem Fehlercode 'E_CANTRESOLVE' gemeldet. Dies ist der einzige Code, der gewährleistet, daß keine falschen Daten unter der Annahme, daß sie gültig seien, benutzt werden, was zu Bomben führen könnte.
Da die meisten Clients versuchen werden, von jeder mit dem Resolver aufgelösten Adresse Gebrauch zu machen, rate ich dringend dazu, daß nur das Resolve-Tool des Dialers dazu benutzt wird, die Befehle einzugeben. Dies ist der einzige mir bekannte Client, der die so ermittelten Adressen nicht im Netzwerk verwenden wird.
Version | Größere Änderungen seit der letzten Version |
---|---|
1.06, 24.9.97 |
|
1.05, 12.9.97 |
|
1.04, 6.8.97 |
|
1.03,??.6.97 |
|
1.02,??.5.97 |
|
0.00-1.01 | Frühe experimentelle Versionen, erst von Peter, dann von mir. Diese enthielten getrennt entwickelten Code für Netzwerkanfragen und für das grundlegende Cace-System (noch in großen Teilen enthalten. |
English version not yet available. |