Java Nameserverabfrage

Lex

Grünschnabel
Hallo leider habe ich ein kleines Problem und zwar möchte ich eine Nameserverabfrage mit Hilfe von Java machen. Ich gebe also ein URL ein und dann wird mir der Nameserver dazu ausgegeben oder wenn es die Domain nicht gibt soll irgend ein error zurück kommen.

Ich hab jetzt auch schon im Internet rum gesucht aber leider nichts passendes gefunden.

Wäre sehr schön wenn mir jemand weiter helfen kann, vielen dank schon einmal.
 
Hi!
Zum Beispiel so:
Code:
 try {
            InitialDirContext context = new InitialDirContext();
            Attributes attributes = context.getAttributes("dns:/www.tutorials.de");
            NamingEnumeration<? extends Attribute> attributesList = attributes.getAll();
            while (attributesList.hasMore()) {
                System.out.println(attributesList.next());
            }
            attributesList.close();
        }catch (NamingException ex) {
            ex.printStackTrace();
        }

Ausgabe:
Code:
A: 78.46.32.50

Grüße!
 
Vielen dank für deine schnelle Hilfe aber leider klappt es bei mir so nicht. Ich musste erst einmal schauen welche Imports ich brauche denn von Netbeans werden mir da ganz verschiedene Vorgeschlagen. Aber mit denen kam auf jeden Fall kein Syntax error.

Code:
import javax.naming.NamingEnumeration;
import javax.naming.NamingException;
import javax.naming.directory.Attribute;
import javax.naming.directory.Attributes;
import javax.naming.directory.InitialDirContext;

Sind das die richtigen oder die falschen?

Wenn ich das Programm ausführe hängt er irgendwie zwischen diesen beiden Codezeilen wenn ich es richtig sehe beim Debuggen.
Code:
            Attributes attributes = context.getAttributes("dns:/www.tutorials.de");
            NamingEnumeration<? extends Attribute> attributesList = attributes.getAll();


edit: In der Zwischenzeit hab ich einen Beispielcode zu nslookup abfrage gefunden welcher bei mir auch funktioniert. Nur hab ich jetzt leider ein weiteres Problem, ich bin Telekom bzw. Tonline User und die Telekom gibt mir auch eine IP von Ihren Servern zurück wenn die Domain gar nicht erreichbar ist. Kann ich es irgendwie schaffen das ich trotzdem eine Filterung bekommen kann ob eine Domain vergeben ist oder nicht?
 
Zuletzt bearbeitet:
Ich bin in Sachen DNS-Abfragen bis jetzt immer gut mit

http://www.xbill.org/dnsjava/

gefahren.

Wenn die Telekom dir ihre Suchseite aufdrückt, wenn kein A-Record existiert, dann kannst du immerhin noch die Root-Nameserver direkt abfragen. Oder einen anderen Nameserver verwenden. Frag mich dazu aber nicht, wie man das macht, ich bevorzuge Provider mit ordentlichen DNS-Servern. :-)
 
Meine Nameserverabfragen klappen jetzt soweit, ich habe einfach alternative DNS Server eingetragen und damit funktioniert es.
Ich verwende jetzt diesen Code
http://www.javadb.com/perform-nslookup-with-the-inetaddress-class
Ich möchte jetzt schauen ob eine Domain registriert ist oder nicht mittels der Nameserver. Aber leider klappt das nicht so ganz, denn wenn ich z.B. die Domain aspire.de eingebe geht das Programm in den Catch Bereich, aber die Domain ist eigentlich registiert. Wenn ich direkt in der CMD per nslookup schaue kommt
*** Keine internal type for both IPv4 and IPv6 Addresses (A+AAAA)-Einträge für aspire.de verfügbar.
Und bei einer Domain welche wirklich nicht registriert ist kommt folgendes:
*** aspidasdasdasdasdre.de wurde von dnsServer nicht gefunden: Non-existent domain.

Wie kann ich denn filtern das mir nur Domains angezeigt werden welche auch wirklich nicht existieren. Ich habe leider nicht heraus gefunden was bei der Domain aspire irgendwo hin geschrieben wird so das ich danach filtern kann.
Ich hoffe ich konnte mein Problem einigermaßen verständlich ausdrücken, vielen dank schon für eure Hilfe.
 
Zuletzt bearbeitet:
Zurück