Saya memiliki alamat IP server DNS dan nama host.
Dengan menggunakan Java, bagaimana saya bisa menemukan alamat IP dari nama host yang dikembalikan oleh server DNS itu dengan menggunakan alamat IP dan nama host?
Saya memiliki alamat IP server DNS dan nama host.
Dengan menggunakan Java, bagaimana saya bisa menemukan alamat IP dari nama host yang dikembalikan oleh server DNS itu dengan menggunakan alamat IP dan nama host?
Jawaban:
Lihatlah InetAddressdan getHostAddress()metodenya.
InetAddress address = InetAddress.getByName("www.example.com");
System.out.println(address.getHostAddress());
InetAddressseharusnya mendapatkan alamat penyelesaian DNS saat Anda memintanya getHostAddress(). Saya tidak yakin apakah Anda dapat memaksanya untuk menggunakan server DNS tertentu .
Anda bisa melakukannya seperti ini:
for(InetAddress addr : InetAddress.getAllByName("stackoverflow.com"))
System.out.println(addr.getHostAddress());
Anda dapat menggunakan InetAddress untuk ini. Coba kode di bawah ini,
InetAddress address = InetAddress.getByName("www.yahoo.com");
System.out.println(address.getHostAddress());
System.out.println(address.getHostName());
Seperti yang disarankan oleh semua di atas, Anda dapat menggunakan
InetAddress.getByName("hostName")tetapi ini dapat memberi Anda IP cache, Baca dokumentasi java untuk hal yang sama. Jika Anda ingin mendapatkan IP dari DNS, Anda dapat menggunakan:
InetAddress[] ipAddress = DNSNameService.lookupAllHostAddr("hostName");
dig <hostname>di baris perintah?