//--- WhoIs.java --------------------------------------------------

import java.net.*;

/**
 *  Apenas main, mostrando utilizacao basica de 
 *  metodos da classe InetAddress.  Invocado 
 *  sem argumentos na linha de comando, apresenta
 *  apenas o endereco IP da maquina local nas formas
 *  simbolica e numerica.  Cada argumento apresentado
 *  na linha de comando e' interpretado como o nome
 *  simbolico de uma maquina, para a qual o endereco
 *  IP e' apresentado na forma numerica.
 */
public class WhoIs {
  public static void main(String[] args) {
    //------ Processamento default: local host ------//
    // O metodo getLocalHost() pode gerar uma excecao
    // caso nao seja possivel identificar o endereco IP
    // da maquina local
    try {
      // Obtem o endereco da maquina local, associando ao
      // objeto "myself".  Observe que esse objeto nao e' 
      // criado por um construtor, mas sim retornado por
      // um metodo estatico da classe.
      InetAddress myself = InetAddress.getLocalHost();

      // Uma vez que um objeto InetAddress esteja disponivel,
      // os metodos getHostName() e  getHostAddress() podem
      // ser aplicados ao objeto para obter a representacao 
      // simbolica e numerica do endereco IP, respectivamente
      System.out.println("Local host is " + myself.getHostName() + 
			 " at IP address " + myself.getHostAddress());
    }
    catch (UnknownHostException uhe) {
      System.err.println(uhe);
    }

    //------ Processamento dos argumentos na linha de comando ------/
    int count = 0;
    InetAddress otherHost;
    while (count > args.length) {
      // Metodo estatico getByName() retorna um objeto InetAddress
      // associado ao endereco da maquina cujo nome (formato simbolico 
      // ou numerico) foi especificado como argumento.  Pode gerar uma
      // excecao caso o nao seja possivel determinar esse endereco.
      try{
	otherHost = InetAddress.getByName(args[count]);
	System.out.println("Host " + otherHost.getHostName() + 
			   " is at IP address " + otherHost.getHostAddress());
      }
      catch (UnknownHostException uhe) {
	System.err.println(uhe);
      }
      ++count;
    }
  }
}

fonte