Domain eingeben und dann Nameserver ausgeben
Marc2
- php
0 wahsaga
Hallo!
Ich möchte nach Eingabe eines Domainnamens den Nameserver angezeigt bekommen.
Gibt es einen PHP-Befehl der den Nameserver ausliest?
Beispieleingabe:
Domain.de
Wunschausgabe:
zu der Domain "Domain.de" gehören folgende Nameserver:
Nameserver: NS1.ABCDEFG.DE
Nameserver: NS2.ABCDEFG.DE
Kennt jemand ein Script? bzw. eine Programmiermöglichkeit?
Vielen Dank.
MfG.
Marc
hi,
Kennt jemand ein Script? bzw. eine Programmiermöglichkeit?
http://www.dclp-faq.de/q/q-scripte-whois.html
gruß,
wahsaga
Moin!
Kennt jemand ein Script? bzw. eine Programmiermöglichkeit?
Wenn es um Nameserversachen geht, würde ich immer Nameserverfunktionen einsetzen, und nicht whois. Denn whois hat einen relativ unstandardisierten Output, den man aufwendig parsen muß.
Dagegen ist es sehr einfach, eine Nameserverabfrage zu machen. Da hierfür hauptsächlich UDP genutzt wird, müssen die übertragenen Datenmengen hinreichend klein sein (ein UDP-Paket kann nicht beliebig groß werden - würden zwei Pakete notwendig, muß man auf TCP ausweichen - das ist aber nicht so performant).
Weil die Pakete klein sein müssen, sind sie hinsichtlich der enthaltenen Daten optimiert und standardisiert.
Ich empfehle für PHP daher dns_get_record() (http://de2.php.net/manual/de/function.dns-get-record.php). Wenn man den Typ "any" für die Domain "domain.tld" abfragt, erhält man auch die Nameserver dieser Domain (wobei das nicht die einzigen Nameserver sein müssen, denn etliche Domains haben Subdomains, für die ganz andere Nameserver zuständig sind).
- Sven Rautenberg
Moin!
Ich empfehle für PHP daher dns_get_record() (http://de2.php.net/manual/de/function.dns-get-record.php).
Ähm, das ist leider eine PHP5-Funktion.
In den Useranmerkungen ist ein "Backport" für PHP 4 verlinkt, aber den kann man nur einsetzen, wenn man PHP selbst kompiliert bzw. wohl mindestens diesen Backport kompilieren kann.
Alternativ bleibt die Möglichkeit, auf der Shell nslookup oder Äquivalente aufzurufen. Sollte djbdns installiert sein, existiert beispielsweise das Kommando "dnsqr", welches sich so anwenden läßt:
dnsqr any domain.tld
Ergebnis sind dann einige Ergebniszeilen, unter anderem die Nameserver der Domain. Natürlich kann man auch direkt nach dem Typ "NS" fragen. :)
- Sven Rautenberg
Hallo Sven,
Alternativ bleibt die Möglichkeit, auf der Shell nslookup oder Äquivalente aufzurufen.
zum Beispiel dig, Aufruf:
dig domain.tld ns
oder auch mit dem Typ any, um alles zu bekommen.
Freundliche Grüsse,
Vinzenz