Solucións ás Prácticas con InetAddress
Enunciado 2
Escribe un programa que facendo uso da clase InetAddress simule ó comando nslookup, que amosa o nome dunha máquina a partir da súa IP
1 import java.net.*;
2 public class obtenerDire {
3 public static void main(String[] args) {
4 /*Introduce a IP do sitio por liña de comandos: se non se introduce remátase coa execución do programa informando */
5 if (args.length == 0) {
6 System.out.println("Introduce como argumente una IP correcta");
7 System.exit(-1);
8 }
9
10 try {
11 //Un nodo conterá o parametro pasado por liña de comandos.
12 String nodo = args[0];
13
14 InetAddress direccion = InetAddress.getByName(nodo);
15
16 //Obtemos a IP e o nome do host do nodo anterior
17 System.out.println("Enderezo: " + direccion.getHostAddress());
18 System.out.println("Nome: " + direccion.getHostName());
19
20 } catch (UnknownHostException e) {
21 System.out.println("A IP non existe");
22 }
23 }
24 }
Por exemplo, pasando como parámetro www.google.es, devolve:
Enderezo: 142.250.184.3 Nome: www.google.es
E pasando como parámetro 8.8.8.8 (o servizo de resolución DNS de google);
Enderezo: 8.8.8.8 Nome: dns.google
Enunciado 3
Realiza un programa que:
- admita desde a liña de comandos un none de máquina ou un enderezo IP
- e visualice información sobre ela
- o nome do host
- o enderezo IP do host
- o seu nome canónico