Como bbter nome ou IP do computador

4 respostas
R

Gostaria de saber como obter o nome ou o IP do computador, e depois, se foir IP, se é possível comparar com outro IP se é menor ou maior.
Se for o nome do computador, utilizar expressao regular nela.

Isso será usado para fazer um filtro no programa.

4 Respostas

F

Cara,

Se estiver falando de IP remoto na web, usa HttpServletRequest( request.getRemoteAddr() ).

E

Se for IP da máquina que está executando a máquina virtual:

InetAddress addr = InetAddress.getLocalHost();

    // Get IP Address
    byte[] ipAddr = addr.getAddress();

    // Get hostname
    String hostname = addr.getHostName();
U

Fiz um aplicativo que pega propriedades do computador inclusive sobre rede
pode ser baixando aqui
[url]http://umcastec.blogspot.com/2010/08/obter-propriedades-do-computador-ver.html[/url]

segue um trecho do código onde pega os dados da rede:
public void Prop_Rede()
    throws UnknownHostException, SocketException
  {
    List list = new ArrayList();
    System.out.println("Obtendo Informacões da Rede:");
    InetAddress addr = InetAddress.getLocalHost();
    byte[] ipAddr = addr.getAddress();
    String hostname = addr.getHostName();

    System.out.println("Nome do Computador completo: " + hostname);

    InetAddress localHost = Inet4Address.getLocalHost();
    NetworkInterface networkInterface = NetworkInterface.getByInetAddress(localHost);
    System.out.println("Placa: " + networkInterface.getDisplayName());
    try
    {
      System.out.println("Rede: " + NetworkInterface.getNetworkInterfaces().nextElement());
    } catch (SocketException ex) {
      Logger.getLogger(Propriedade_sistema.class.getName()).log(Level.SEVERE, null, ex);
    }


    try
    {
      Enumeration ifaces = NetworkInterface.getNetworkInterfaces();

      while (ifaces.hasMoreElements()) {
        NetworkInterface iface = (NetworkInterface)ifaces.nextElement();

        System.out.println("Obtendo Informacões da interface: " + iface.getName());
        for (InterfaceAddress address : iface.getInterfaceAddresses())
        {
          System.out.println("IP........: " + address.getAddress().toString());
          Object bc = address.getBroadcast();
          System.out.println("Broadcast.: " + bc);
          System.out.println("Máscara...: " + address.getNetworkPrefixLength());

        }

      }

    }
    catch (SocketException ifaces)
    {
      ex.printStackTrace();
    }

  }
R

Muito obrigado, consegui usando o InetAddress. :D:D

Criado 12 de janeiro de 2011
Ultima resposta 13 de jan. de 2011
Respostas 4
Participantes 4