Tôi có địa chỉ IP máy chủ DNS và tên máy chủ.
Sử dụng Java, làm cách nào để tìm địa chỉ IP của tên máy chủ do máy chủ DNS đó trả về bằng địa chỉ IP và tên máy chủ?
Tôi có địa chỉ IP máy chủ DNS và tên máy chủ.
Sử dụng Java, làm cách nào để tìm địa chỉ IP của tên máy chủ do máy chủ DNS đó trả về bằng địa chỉ IP và tên máy chủ?
Câu trả lời:
Hãy xem InetAddressvà getHostAddress()phương pháp.
InetAddress address = InetAddress.getByName("www.example.com");
System.out.println(address.getHostAddress());
InetAddressnên lấy địa chỉ được phân giải DNS khi bạn yêu cầu getHostAddress(). Tôi không chắc liệu bạn có thể buộc nó sử dụng một máy chủ DNS cụ thể hay không .
Bạn có thể làm như thế này:
for(InetAddress addr : InetAddress.getAllByName("stackoverflow.com"))
System.out.println(addr.getHostAddress());
Bạn có thể sử dụng InetAddress cho việc này. Hãy thử đoạn mã dưới đây,
InetAddress address = InetAddress.getByName("www.yahoo.com");
System.out.println(address.getHostAddress());
System.out.println(address.getHostName());
Như được đề xuất bởi tất cả ở trên, bạn có thể sử dụng
InetAddress.getByName("hostName")nhưng điều này có thể cung cấp cho bạn một IP được lưu trong bộ nhớ cache, Đọc tài liệu java để biết cách tương tự. Nếu bạn muốn lấy IP từ DNS, bạn có thể sử dụng:
InetAddress[] ipAddress = DNSNameService.lookupAllHostAddr("hostName");
dig <hostname>trong một dòng lệnh?