Mam adres IP serwera DNS i nazwę hosta.
Jak przy użyciu języka Java mogę znaleźć adres IP nazwy hosta zwrócony przez ten serwer DNS przy użyciu adresu IP i nazwy hosta?
Mam adres IP serwera DNS i nazwę hosta.
Jak przy użyciu języka Java mogę znaleźć adres IP nazwy hosta zwrócony przez ten serwer DNS przy użyciu adresu IP i nazwy hosta?
Odpowiedzi:
Spójrz na InetAddressi getHostAddress()metodę.
InetAddress address = InetAddress.getByName("www.example.com");
System.out.println(address.getHostAddress());
InetAddresspowinien otrzymać adres rozpoznany przez DNS, gdy o to poprosisz getHostAddress(). Nie jestem jednak pewien, czy możesz zmusić go do korzystania z określonego serwera DNS.
Możesz to zrobić w ten sposób:
for(InetAddress addr : InetAddress.getAllByName("stackoverflow.com"))
System.out.println(addr.getHostAddress());
Możesz do tego użyć InetAddress. Wypróbuj poniższy kod,
InetAddress address = InetAddress.getByName("www.yahoo.com");
System.out.println(address.getHostAddress());
System.out.println(address.getHostName());
Jak sugerowano powyżej, możesz użyć,
InetAddress.getByName("hostName")ale może to dać ci buforowany adres IP, Przeczytaj dokumentację java dla tego samego. Jeśli chcesz uzyskać adres IP z DNS, możesz użyć:
InetAddress[] ipAddress = DNSNameService.lookupAllHostAddr("hostName");
dig <hostname>w linii poleceń?