Ich habe die IP-Adresse des DNS-Servers und einen Hostnamen.
Wie kann ich unter Verwendung von Java die IP-Adresse des von diesem DNS-Server zurückgegebenen Hostnamens anhand der IP-Adresse und des Hostnamens ermitteln?
Ich habe die IP-Adresse des DNS-Servers und einen Hostnamen.
Wie kann ich unter Verwendung von Java die IP-Adresse des von diesem DNS-Server zurückgegebenen Hostnamens anhand der IP-Adresse und des Hostnamens ermitteln?
Antworten:
Schauen Sie sich InetAddressdie getHostAddress()Methode an.
InetAddress address = InetAddress.getByName("www.example.com");
System.out.println(address.getHostAddress());
InetAddresssollte die DNS-aufgelöste Adresse erhalten, wenn Sie danach fragen getHostAddress(). Ich bin mir nicht sicher, ob Sie die Verwendung eines bestimmten DNS-Servers erzwingen können .
Sie können es so machen:
for(InetAddress addr : InetAddress.getAllByName("stackoverflow.com"))
System.out.println(addr.getHostAddress());
Hierfür können Sie InetAddress verwenden. Versuchen Sie den folgenden Code,
InetAddress address = InetAddress.getByName("www.yahoo.com");
System.out.println(address.getHostAddress());
System.out.println(address.getHostName());
Wie von allen oben genannten vorgeschlagen, können Sie verwenden,
InetAddress.getByName("hostName")aber dies kann Ihnen eine zwischengespeicherte IP geben. Lesen Sie die Java-Dokumentation für die gleiche. Wenn Sie eine IP von DNS erhalten möchten, können Sie Folgendes verwenden:
InetAddress[] ipAddress = DNSNameService.lookupAllHostAddr("hostName");
dig <hostname>in einer Kommandozeile?