nicuhu
Goto Top

DNS - SIP - Record-Typen

Guten Tag

Ich habe eine Frage zu dem Link:

http://www.sipit.at/support-dns/srv-und-naptr-support.html

Im Artikel ist geschrieben, dass der Name des Dienstes welcher bei der IANA registriert wurde verwendet werden muss. Entspricht das für den SIP-Dienst immer "sip".sample.com? Dieses "sip.example.ch" entspricht ja eigentlich auch einer Subdomain? Weshalb gibts den die Records SRV und NAPTR genau? Sucht mein VOIP-Tel direkt nach einem solchen Record ("SIP_.UPD.example.ch") wenn ein Tel ENUM fähig ist?


Wofür dient der SRV-Record bei SIP? Der Proxy-Server oder Register-Server hat ja meistens den Domäne Name sip.anbieter.tld und nicht sip_.upd.anibeter.tld? Unsere kunden brauchen den sip. vpbx1.telecomservices.ch.


Der NAPTR-Record sieht so aus wie die Umgekehrte Version von einem SRV-Recorcen Record. Ist es wie beim PTR-Ressorcen Record das Gleiche und dient der reverse Zone?

Wann wird welcher Record Typ verwendet?

Bin etwas irritiert wie ein solcher NAPTR record aussehen soll. Der SRV RR verstehe ist ja ganz simpel:


Auf der linken Seite sind die Dienste welche vom Server angeboten werden und rechts der Server welcher den Dienst verarbeitet.


Beispiel SRV-RR:


_.sip__.UPD.example.com 3600 IN SRV 10 20 5060 sip.example.com

_.Sip__.TCP.example.com 3600 IN SRV 20 20 5060 sip.example.com


Nun aber verwirren tut mich der NAPTR-RR:


Genauer gesagt sind es diese replacements, der aufzulösende Name sowie der regex-Eintrag welcher ich nicht genau verstehe.


Mal sehe ich beim aufzulösendem Namen NAPTR-RR sowas wie:

"1.1.7.4.0.0.0.8.7.3.4.e164.arpa IN NAPTR 10 10 "U" "sip+e2u" " !^.*$!sip:enum-test@sip.nemox.net!" "" "

gefunden bei https://enumquery.com/details/e164.arpa/+437800047111

oder wie im Buch (Link von dir) sieht ein NAPTR-RR beim aufzulösenden Namen so aus:

"leonie@jupiter.net IN NAPTR 10 10 "U" "sip+e2u" "" __sips.___tcp.jupiter.net"


Wie ist das, kannst du mir das bitte sagen? Was ich ebenfalls nicht verstehe muss für __.tcp.juniper.net eine Subdomain erstellt werden?


Gruss

Nicolas

Content-Key: 371265

Url: https://administrator.de/contentid/371265

Ausgedruckt am: 28.03.2024 um 17:03 Uhr

Mitglied: Kraemer
Kraemer 16.04.2018 um 13:18:30 Uhr
Goto Top
Moin,
Zitat von @nicuhu:
Im Artikel ist geschrieben, dass der Name des Dienstes welcher bei der IANA registriert wurde verwendet werden muss. Entspricht das für den SIP-Dienst immer "sip".sample.com?
Nein. Das wird auch in dem Artikel anders erklärt

Dieses "sip.example.ch" entspricht ja eigentlich auch einer Subdomain? Weshalb gibts den die Records SRV und NAPTR genau?
Das wird in dem Artikel eigentlich deutlich erklärt

Sucht mein VOIP-Tel direkt nach einem solchen Record ("SIP_.UPD.example.ch") wenn ein Tel ENUM fähig ist?
siehe Artikel

Wofür dient der SRV-Record bei SIP? Der Proxy-Server oder Register-Server hat ja meistens den Domäne Name sip.anbieter.tld und nicht sip_.upd.anibeter.tld? Unsere kunden brauchen den sip. vpbx1.telecomservices.ch.
auch das steht in dem Artikel

Der NAPTR-Record sieht so aus wie die Umgekehrte Version von einem SRV-Recorcen Record. Ist es wie beim PTR-Ressorcen Record das Gleiche und dient der reverse Zone?
Nein. Erklärung steht in dem Artikel

Wann wird welcher Record Typ verwendet?
Auch das wird in dem Artikel erklärt

Bin etwas irritiert wie ein solcher NAPTR record aussehen soll.
steht in dem Artikel

Genauer gesagt sind es diese replacements, der aufzulösende Name sowie der regex-Eintrag welcher ich nicht genau verstehe.
Hast du so ein komplexes Setup?

Du wirst den Text mindestens noch einmal lesen müssen um hier mir konkreten Fragen eine Hilfestellung erhalten zu können.

Gruß
Mitglied: nicuhu
nicuhu 23.04.2018 aktualisiert um 09:46:01 Uhr
Goto Top
Setup? Bei meinen Fragen geht es mehr um zu Verstehen wie das genau funktioniert. Was hat es mit diesen Regex und Replacements auf sich?


Ok, ich lese mir den Artikel nochmals durch.
Mitglied: nicuhu
nicuhu 17.05.2018 aktualisiert um 09:44:44 Uhr
Goto Top
Frage 1: Was ich beim NAPTR nicht verstehe ist z. B weshalb wird mal ein ENUM-URI verwendet als aufzulösender Name und einmal eine Domain. Im normal Fall soll doch ein NAPTR-RR wie bei einem PTR-RR von einer Nummer IP-Adresse oder eben bei mir mit NAPTR-RR eine Telefon-Nummer in eine Domain auflösen. Weshalb wird das den so gezeigt in den Beispielen?


Beispiel 1: NAPTR-RR mit ENUM-URI:

naptr-with-enum-uri

quelle: https://anders.com/projects/sysadmin/djbdnsRecordBuilder/#SRV


Beispiel 2: ENUM-URI mit domain:

naptr-with-domain

quelle: Google Books, Seite 222


Frage 2:


Betreffend NAPTR-RR, ich verstehe immer noch nicht wie das mit diesen Replaces- und Regexp einträgen funktioniert. So wie ich das verstehe, wird die ENUM-URI also der Teil mit "...4.1.e164.arpa" bei Replace durch _sip._UDP.meinedomain.ch ersetz und bei einem Regexp-Eintrag von einem ENUM-URI zu einem SIP-URI also "!*sip:klaus@meinedomain.tld oder auch 300*354@meinedomain.tld. Bei unseren Kunden ist letzteres eingestellt wenn ich in den VoIP-Geräten nachsehe in der Konfig. Ist das so richtig?


Frage 3: Wie funktioniert genau der SIP Call mich, interessiert weniger die Kommunikation zwischen den Gatekeepern, Proxy und Reserse-Server mehr der DNS-Teil.

Bin mir nicht sicher, korrigiere mich wenn ich mich täusche: Irgendwie wird vom Gatekepper die Nummer z. B 0041 123 45 67 in eine ENUM-Nummer umgewandelt 7.6.5.4.3.2.1.1.4.e164.arpa danach wird wird anhand dieses Eintrags die Arpa-Zone abgefragt, danach die e164-Zone und danach noch die 4.1-Zone und schlussendlich die Zone des Telefon-Anbieters abgefragt anschliessend wird dort im NAPTR nachgesehen welcher Host, Domain für diese Zone verantwortlich ist (das steht ja dann im NAPTR-RR unter Regex oder Replace (_sip._udp_meinedomain.tld oder auch mal gesehen der Regex "!'^*sip:information@meinedomain.tld)) anhand dieses Eintrags wird der SRV-RR abgefragt um festzulegen welcher Dienst unter welchem Port und Servernamen zu erreichen ist. Dann klingelt dann irgendwann schon bald das Telefon.


Hoffe, dass ich es verstanden habe.
Mitglied: nicuhu
nicuhu 17.05.2018 um 10:14:50 Uhr
Goto Top
Ich habe noch etwas gesucht bezüglich des Formats eines NAPTR-RR und habe herausgefunden, dass dieser NAPTR-RR verschiedene Formate verwenden kann und auch verschiedene Ausgaben zurückgeben kann.

Gefunden hier:


https://www.heise.de/netze/rfc/rfcs/rfc2915.shtml / Page 12+13.


Also das heisst als Zone bzw. als Quelle wird entweder eine Domain oder Rufnummer im Format ...1.4.e164.arpa verwendet und herausgegeben und bzw. als nächsten Auflösungs-Schritt kann dann entweder eine IP-Adresse, URI oder SRV-RR ausgegeben werden. Das wird dann über die Einträge Regexpt oder Replaces gesteuert was genau für die Zone "...1.4.e164.arpa" herausgegeben wird. Das kann entweder ein Verweis auf eine IP-Adresse, URI oder Service-RR sein.

Verstehe ich das so richtig?


Für die anderen offenen Fragen bitte ich um eure Hilfe
Mitglied: nicuhu
nicuhu 23.05.2018 um 09:20:36 Uhr
Goto Top
Kann mir bitte jemand weiterhelfen. Wäre froh darum face-smile
Mitglied: 136166
136166 25.05.2018 um 16:48:06 Uhr
Goto Top
Zitat von @nicuhu:

Frage 1: Was ich beim NAPTR nicht verstehe ist z. B weshalb wird mal ein ENUM-URI verwendet als aufzulösender Name und einmal eine Domain.
Je nach Anfrage ist es unterschiedlich, wie beim DNS auch hangelt sich der Client von einem DNS zum anderen bis er die passende SIP-Adresse erhält. Wenn also eine Domain zurückgeliefert wird hostet eine andere Domain diese Adresse, usw. bis zum Schluss ein URI zurück kommt.

Frage 2:
Betreffend NAPTR-RR, ich verstehe immer noch nicht wie das mit diesen Replaces- und Regexp einträgen funktioniert.
Erst mal zu den Regex Grundlagen:
Regular Expressions Tutorial
So wie ich das verstehe, wird die ENUM-URI also der Teil mit "...4.1.e164.arpa" bei Replace durch _sip._UDP.meinedomain.ch ersetz
Ja.
und bei einem Regexp-Eintrag von einem ENUM-URI zu einem SIP-URI also
Beispiel:
dienst.example.com.  IN  NAPTR  100  10  "A"  ""  "!^.*$!prodserver.example.com!".
Das Ausrufezeichen ist hier als Trenner zu verstehen, also ist der Regex hier ^.*$ was bedeutet das der Eintrag dienst.example.com komplett durch prodserver.example.com ersetzt wird, weil der Regex ^.*$ folgendes bedeutet
Assert position at the beginning of a line «^»
Match any single character that is NOT a line break character «.*»
   Between zero and unlimited times, as many times as possible, giving back as needed (greedy) «*»
Assert position at the end of a line «$»
Also hier alles von dienst.example.com.

Anderes Beispiel:
dienst.example.com.  IN  NAPTR  100  10  "A"  ""  "!^[^.]+!prodserver!".
Hier würde als Ergebnis folgendes raus kommen: prodserver.example.com, weil der Regex ^[^.]+ bedeutet
Assert position at the beginning of a line «^»
Match any character that is NOT a “.” «[^.]+»
   Between one and unlimited times, as many times as possible, giving back as needed (greedy) «+»
Klar face-smile?
Frage 3: Wie funktioniert genau der SIP Call mich, interessiert weniger die Kommunikation zwischen den Gatekeepern, Proxy und Reserse-Server mehr der DNS-Teil.

Bin mir nicht sicher, korrigiere mich wenn ich mich täusche: Irgendwie wird vom Gatekepper die Nummer z. B 0041 123 45 67 in eine ENUM-Nummer umgewandelt 7.6.5.4.3.2.1.1.4.e164.arpa danach wird wird anhand dieses Eintrags die Arpa-Zone abgefragt, danach die e164-Zone und danach noch die 4.1-Zone und schlussendlich die Zone des Telefon-Anbieters abgefragt anschliessend wird dort im NAPTR nachgesehen welcher Host, Domain für diese Zone verantwortlich ist (das steht ja dann im NAPTR-RR unter Regex oder Replace (_sip._udp_meinedomain.tld oder auch mal gesehen der Regex "!'^*sip:information@meinedomain.tld)) anhand dieses Eintrags wird der SRV-RR abgefragt um festzulegen welcher Dienst unter welchem Port und Servernamen zu erreichen ist. Dann klingelt dann irgendwann schon bald das Telefon.
Hoffe, dass ich es verstanden habe.
Jepp korrekt.
Mitglied: nicuhu
nicuhu 31.05.2018 aktualisiert um 16:41:12 Uhr
Goto Top
Zitat von @136166:

Zitat von @nicuhu:

Frage 1: Was ich beim NAPTR nicht verstehe ist z. B weshalb wird mal ein ENUM-URI verwendet als aufzulösender Name und einmal eine Domain.
Je nach Anfrage ist es unterschiedlich, wie beim DNS auch hangelt sich der Client von einem DNS zum anderen bis er die passende SIP-Adresse erhält. Wenn also eine Domain zurückgeliefert wird hostet eine andere Domain diese Adresse, usw. bis zum Schluss ein URI zurück kommt.

Ist der NAPTR eigentlich nicht nur dazu da, von einem ENUM-URI in eine Domain zu übersetzten? Es ist ja wie bei einem PTR-Record, dort wird auch anhand einer IP-Adresse nach einem Hostname gesucht?
Standardmässig wird doch beim ENUM-URI davon ausgegangen ich habe eine Telefon-Nummer die lautet z. B 00413233333.e164.arpa welcher Service und Domain sind dafür zuständig bis am Schluss die IP-Adresse vom SIP-Server feststeht und eine Verbindung hergestellt werden kann. Ich verstehe daher nicht genau die Funktionsweise.

Frage 2:
Betreffend NAPTR-RR, ich verstehe immer noch nicht wie das mit diesen Replaces- und Regexp einträgen funktioniert.
Erst mal zu den Regex Grundlagen:
Regular Expressions Tutorial
So wie ich das verstehe, wird die ENUM-URI also der Teil mit "...4.1.e164.arpa" bei Replace durch _sip._UDP.meinedomain.ch ersetz
Ja.
und bei einem Regexp-Eintrag von einem ENUM-URI zu einem SIP-URI also
Beispiel:
> dienst.example.com.  IN  NAPTR  100  10  "A"  ""  "!^.*$!prodserver.example.com!".
> 
Das Ausrufezeichen ist hier als Trenner zu verstehen, also ist der Regex hier ^.*$ was bedeutet das der Eintrag dienst.example.com komplett durch prodserver.example.com ersetzt wird, weil der Regex ^.*$ folgendes bedeutet
> Assert position at the beginning of a line «^»
> Match any single character that is NOT a line break character «.*»
>    Between zero and unlimited times, as many times as possible, giving back as needed (greedy) «*»
> Assert position at the end of a line «$»
> 
Also hier alles von dienst.example.com.

Anderes Beispiel:
> dienst.example.com.  IN  NAPTR  100  10  "A"  ""  "!^[^.]+!prodserver!".
> 
Hier würde als Ergebnis folgendes raus kommen: prodserver.example.com, weil der Regex ^[^.]+ bedeutet
> Assert position at the beginning of a line «^»
> Match any character that is NOT a “.” «[^.]+»
>    Between one and unlimited times, as many times as possible, giving back as needed (greedy) «+»
> 
Klar face-smile?

Erstmals danke für deine Antwort:

Leider nein. :/

Verstehe die Zitate schon nicht. Wenn alles von "dienst.example.org" durch prodserver.example.com ersetzt werden soll, weshalb kommen den überhaupt solche Begrenzer zum Einsatz? Habe mir die Anleitung von RegEx durchgelesen das hört sich alles kompliziert und nach Programmierung an was hat das bei DNS zu suchen? Weiter verstehe ich nicht wo und wenn diese RegEx zum Einsatz kommen in welchem Anwendungsfall sowas vorkommen muss / sollte.

naptr_regep

Wozu Regep wenn alles ersetzt wird, da kann man ja gleich prodserver.exmapl.com hinschreiben anstatt da solche regülàren Ausdrücke zu verwenden

Hoffe du kannst mir da noch etwas mehr zeigen und erklären.

Vielen Dank face-smile
Mitglied: 136166
136166 31.05.2018 aktualisiert um 16:41:27 Uhr
Goto Top
Zitat von @nicuhu:
Ist der NAPTR eigentlich nicht nur dazu da, von einem ENUM-URI in eine Domain zu übersetzten? Es ist ja wie bei einem PTR-Record, dort wird auch anhand einer IP-Adresse nach einem Hostname gesucht?
Ja ist wie im DNS eine Rückwärtssuche von Nummer zu Name.
Standardmässig wird doch beim ENUM-URI davon ausgegangen ich habe eine Telefon-Nummer die lautet z. B 00413233333.e164.arpa welcher Service und Domain sind dafür zuständig bis am Schluss die IP-Adresse vom SIP-Server feststeht und eine Verbindung hergestellt werden kann. Ich verstehe daher nicht genau die Funktionsweise.
Die Nummer wird aber rückwärts gelistet, du hast sie vorwärts geschrieben face-wink.
DNS ist ein Verzeichnis und dient hier primäre dem Finden von anonymen Nummern in Namen und IPs, da hier eine Telefon-Nummer als zusätzliche Variable ins Spiel kommt die zusätzliche Auflösung.
Leider nein. :/

Verstehe die Zitate schon nicht. Wenn alles von "dienst.example.org" durch prodserver.example.com ersetzt werden soll, weshalb kommen den überhaupt solche Begrenzer zum Einsatz? Habe mir die Anleitung von RegEx durchgelesen das hört sich alles kompliziert und nach Programmierung an was hat das bei DNS zu suchen?
Weil das an Flexibilität kaum zu überbieten ist, Regex kommt heutzutage fast überall zum Einsatz. Damit kannst du Dinge machen die mit einfachen Wildcards nicht im Ansatz möglich sind!
Du verstehst den Sinn einfach noch nicht weil du Regex eben noch nicht kennst. Wenn du dich da aber mal einarbeiten solltest wirst du schnell die unglaubliche Power davon kennen und zu schätzen lernen!!!

Weiter verstehe ich nicht wo und wenn diese RegEx zum Einsatz kommen in welchem Anwendungsfall sowas vorkommen muss / sollte.
Da gibt es eine Vielzahl an Fällen und da gibt es komplizierte Schemas die ohne Regex nicht im Ansatz abbildbar wären. Nutzen musst du es ja nicht, aber für alle die es benötigen ist es eben da und das ist gut so. Lerne Regex und du wirst es verstehen.

Hoffe du kannst mir da noch etwas mehr zeigen und erklären.
Dazu solltest du dir das obige Tutorial erst mal dringend ans Herz legen, das kann ich dir hier nicht beibringen, das würde zu lange dauern! So kompliziert ist das nicht, es muss nur einmal geschnackelt haben dann willst du es sicher nicht mehr missen, denn damit ist so viel möglich, in sämtlichen Programmier- und Script-Sprachen.
Mitglied: nicuhu
nicuhu 01.06.2018 um 20:49:19 Uhr
Goto Top
Zitat von @136166:
Standardmässig wird doch beim ENUM-URI davon ausgegangen ich habe eine Telefon-Nummer die lautet z. B 00413233333.e164.arpa welcher Service und Domain sind dafür zuständig bis am Schluss die IP-Adresse vom SIP-Server feststeht und eine Verbindung hergestellt werden kann. Ich verstehe daher nicht genau die Funktionsweise.
Die Nummer wird aber rückwärts gelistet, du hast sie vorwärts geschrieben face-wink.
Mist, ich war so mit dem Satzbau und dem Verstehen der Materie beschäftigit, dass ich das gar nicht bermerkte. :-O
DNS ist ein Verzeichnis und dient hier primäre dem Finden von anonymen Nummern in Namen und IPs, da hier eine Telefon-Nummer als zusätzliche Variable ins Spiel kommt die zusätzliche Auflösung.
Das Verstehe ich, aber weshalb finde ich Beispiele in welcher eine Domain zu einer ENUM-URI aufgelöst wird hier zum Beispiel hier:

naptr

Dort fehlt ja sogar der ganze ENUM-URI wozu wird ein solcher Record gebraucht? Was soll damit bezweckt werden?


Hoffe du kannst mir da noch etwas mehr zeigen und erklären.
Dazu solltest du dir das obige Tutorial erst mal dringend ans Herz legen, das kann ich dir hier nicht beibringen, das würde zu lange dauern! So kompliziert ist das nicht, es muss nur einmal geschnackelt haben dann willst du es sicher nicht mehr missen, denn damit ist so viel möglich, in sämtlichen Programmier- und Script-Sprachen.

Diese RegEx auf was bezieht sich den, dort stehen ja irgendwelche Symbole dafür, dass etwas durch etwas anderes ersetzt werden könnte aber wo steht den dieser Wert? Z.B

Marius [^qz]+ Osterhase

Heisst zwischen den Namen existiert noch einen Namen welcher keinen "g" und "z" hat und dass trotzdem irgendwelche andere Zeichen erlaubt sind. Wie wird nun herausgefunden was in die Lücke kommt?

Wenn ich nsch praktischen Beispielen suche wie dass hier verstehe ich nicht was das nun bringen soll:

d410ccab3659259d0815256cbc8cd813

Was könnte den sonst ersetzt werden? Ausser prodserver.example.com? Wàre es also möglich auch nur den letzten Teil das .com ersetzten zu lassen mit einer RegEx? Kann den nur durch Stringsersetzt werden welche im Teil "dienst.example.com" vorkommen?
Mitglied: 136166
136166 02.06.2018 aktualisiert um 11:03:14 Uhr
Goto Top
Zitat von @nicuhu:
Das Verstehe ich, aber weshalb finde ich Beispiele in welcher eine Domain zu einer ENUM-URI aufgelöst wird hier zum Beispiel hier:

naptr

Dort fehlt ja sogar der ganze ENUM-URI wozu wird ein solcher Record gebraucht? Was soll damit bezweckt werden?
Das ist zum Finden des Dienstes. Das ist genau so wie mit einem MX Record der dient auch nur zum Finden des Mailservers einer Domain, genau so verhält es sich beim NAPTR. Man hat sich eben auf einen bestimmten String geeinigt so das eben das Suchen der Dienste untereinander International gleich funktioniert.

Diese RegEx auf was bezieht sich den, dort stehen ja irgendwelche Symbole dafür, dass etwas durch etwas anderes ersetzt werden könnte aber wo steht den dieser Wert? Z.B
Der Regex bezieht sich auf die Quell-Domain also die die der User aufruft bzw. das was hier in der Zeile am Anfang steht. Mit dem Regex triffst du eine Auswahl welcher Teil von der Quell-Domain ersetzt werden soll und das was dann anstelle der Auswahl eingefügt werden soll kommt dann als zweiter Parameter. Deswegen hatte ich dir ja gesagt Pfeif dir das oben verlinkte Tutorial rein dann verstehst du auch. Ich kann dir hier unmöglich alle Details von Regex beibringen, habe bitte Verständnis dafür! Deswegen gehe ich darauf jetzt nicht weiter ein.

Marius [^qz]+ Osterhase

Heisst zwischen den Namen existiert noch einen Namen welcher keinen "g" und "z" hat
Fast richtig, dieser Regex matcht nur Strings bei denen der Name Marius gefolgt von einem Leerzeichen und dann von mindestens einem Buchstaben der nicht q oder z ist , und erneut von einem Leerzeichen und dem String Osterhase.
und dass trotzdem irgendwelche andere Zeichen erlaubt sind. Wie wird nun herausgefunden was in die Lücke kommt?
Ob der String den DomainNamen Matcht oder nicht bestimmt ja die Domain welche am Anfang der Zeile steht. In diesem Fall wird alles was der Regex matcht durch den zweiten Parameter (hinter dem Trenner !) ersetzt also wenn der AusgangsString bspw.
Marius halt die Fresse Osterhase hieße dann würde der Komplette String durch den zweiten Parameter ersetzt. Hieße der String stattdessen Marius quatsch nicht so viel Osterhase, würde der Regex nicht mehr passen weil ja ein q im Regex ausgeschlossen wurde, somit passt der gesamte Regex nicht mehr und es wird dann auch nichts ersetzt und die Domain wird nicht verändert.


Wenn ich nsch praktischen Beispielen suche wie dass hier verstehe ich nicht was das nun bringen soll:
Wie gesagt, du verstehst es erst wenn du dir Regex angeeignet hast.
d410ccab3659259d0815256cbc8cd813

Was könnte den sonst ersetzt werden? Ausser prodserver.example.com? Wàre es also möglich auch nur den letzten Teil das .com ersetzten zu lassen mit einer RegEx? Kann den nur durch Stringsersetzt werden welche im Teil "dienst.example.com" vorkommen?
Klar das sähe dann so aus wenn man etwa jede TLD durch ein de ersetzen wollte:

dienst.example.com.  IN  NAPTR  100  10  "A"  ""  "![^\.]+$!de!".   
Ergebnis dann dienst.example.de
In Wort geschrieben bedeutet der Regex: finde alles was nicht ein Punkt ist vom Ende des Strings ($), das Dollarzeichen bedeutet hier das Ende des Strings. Es wird also vom String hinten alles übernommen bis zu dem ersten Auftreten eines Punktes.

So denn, ich habe fertig ...

Machs gut.
Mitglied: nicuhu
nicuhu 15.06.2018 aktualisiert um 16:17:46 Uhr
Goto Top
Zitat von @136166:

Zitat von @nicuhu:
Das Verstehe ich, aber weshalb finde ich Beispiele in welcher eine Domain zu einer ENUM-URI aufgelöst wird hier zum Beispiel hier:

naptr

Dort fehlt ja sogar der ganze ENUM-URI wozu wird ein solcher Record gebraucht? Was soll damit bezweckt werden?
Das ist zum Finden des Dienstes. Das ist genau so wie mit einem MX Record der dient auch nur zum Finden des Mailservers einer Domain, genau so verhält es sich beim NAPTR. Man hat sich eben auf einen bestimmten String geeinigt so das eben das Suchen der Dienste untereinander International gleich funktioniert.

Dient nicht der SRV-Record um den Service zu Domain zu finden? Der NAPTR-Record ist doch mehr um Telefonnumer zu Domain zu finden / ersetzten?


und dass trotzdem irgendwelche andere Zeichen erlaubt sind. Wie wird nun herausgefunden was in die Lücke kommt?
Ob der String den DomainNamen Matcht oder nicht bestimmt ja die Domain welche am Anfang der Zeile steht. In diesem Fall wird alles was der Regex matcht durch den zweiten Parameter (hinter dem Trenner !) ersetzt also wenn der AusgangsString bspw.
Marius halt die Fresse Osterhase hieße dann würde der Komplette String durch den zweiten Parameter ersetzt. Hieße der String stattdessen Marius quatsch nicht so viel Osterhase, würde der Regex nicht mehr passen weil ja ein q im Regex ausgeschlossen wurde, somit passt der gesamte Regex nicht mehr und es wird dann auch nichts ersetzt und die Domain wird nicht verändert.


Was meinst du überhaupt mit Parameter 1 und den anderen zweiten Parameter?


Was könnte den sonst ersetzt werden? Ausser prodserver.example.com? Wäre es also möglich auch nur den letzten Teil das .com ersetzten zu lassen mit einer RegEx? Kann den nur durch Stringsersetzt werden welche im Teil "dienst.example.com" vorkommen?
Klar das sähe dann so aus wenn man etwa jede TLD durch ein de ersetzen wollte:

> dienst.example.com.  IN  NAPTR  100  10  "A"  ""  "![^\.]+$!de!".   
> 
[^\.]+$ heisst doch wenn der String keinen \. hat ist die Bedingungs erfüllt, dass der Eingangsstring von dienst.example.com durch dienst.example.DE ersetzt wird?! Wieso muss es nicht "![^\.]+$!dienst.example.de!" heissen voll ausgeschrieben?

Ergebnis dann dienst.example.de
In Wort geschrieben bedeutet der Regex: finde alles was nicht ein Punkt ist vom Ende des Strings ($), das Dollarzeichen bedeutet hier das Ende des Strings. Es wird also vom String hinten alles übernommen bis zu dem ersten Auftreten eines Punktes.


Weshalb gibts da mehrere Zeichen einmal die "!" Symbole? Dienen die Begrenzer nur, um zu zeigen was ersetzt wird vom String und die Zeichen "." und "$" zeigen den zu überpüfende String?

Woher weiss den der RegEx, dass dieses ".com" durch .de an welcher Stelle genau ersetzt werden soll? Es könnte ja auch dienst.de.example.com sein oder nicht? Verstehe einfach nicht wie das funktioniert dieses "!" werden in der Erklärung auch nicht erwähnt. Jedoch habe ich gehört, dass diese Symbole Begrenzer heissen bzw. wenn etwas nicht gemacht werden soll verwendet werden kann.
Mitglied: nicuhu
nicuhu 19.07.2018 um 13:53:56 Uhr
Goto Top
Wäre froh, wenn mir noch jemand meine Fragen beantworten könnte.