Erstellen einer DNS-Anfrage mit Hilfe von Java und Timing der Antwort
-
28-09-2019 - |
Frage
Könnte jemand mir zeigen, wie ich eine DNS-Anfrage an einen bestimmten DNS-Server machen und die Reaktion sowie die Reaktionszeit bekommen?
Ich beabsichtige, diese in einem signierten Applet zu verwenden. Ist das in einem Applet erlaubt?
Lösung
Der Standard-Java-API ist können Sie verwenden, ist:
oder die erweiterte JNDI-Lookup-API:
DNS Service Provider für die Java-Verzeichnis Naming Interface
Sowohl über Java API Willen Arbeit in einem signierten Applet, wenn das Applet der erforderlichen politischen Rechte (java.net.SocketPermission zum Beispiel) gewährt. Aber wenn das Applet auf einer Webseite verwendet wird, wird der Benutzer zuerst ein Dialogfeld angezeigt, die für die Erlaubnis bittet, zu laufen. Zur Messung der Leistung dieser API-Aufrufe, kann man natürlich einen einfachen Anruf verwenden, um java.lang.Systen.currentTimeMillis ()
Ich verwende nicht empfehlen dnsjava.org , er wird verwendet, populär zu sein, aber das Projekt ist seit 2004 nicht mehr aktualisiert.
Andere Tipps
Rufen Sie eine der InetAddress Methoden, oder auch einen Blick auf JNDI mit dem DNS-Provider haben.
Sie müssen eine Java-Implementierung von DNS, wie dnsjava (siehe examples.html ). Es ist sicherlich nicht möglich, dies in einem Applet zu verwenden, da es die Netzwerkbeschränkungen verletzt.