Avaliação do Usuário

Estrela inativaEstrela inativaEstrela inativaEstrela inativaEstrela inativa
 

Para obter o nome, IP e endereço físico (MAC Address) de todas as interfaces de rede disponíveis no computador use o código abaixo como exemplo:

 

{code}

import java.net.InetAddress;

import java.net.NetworkInterface;

import java.net.SocketException;

import java.util.Enumeration;

 

/**

*

* @author Fernando Bryan Frizzarin

*/

public class PegaIP {

public static void main(String[] args) {

String ip;

try {

Enumeration<NetworkInterface> interfaces = NetworkInterface.getNetworkInterfaces();

while (interfaces.hasMoreElements()) {

// Objeto para as interfaces de rede

NetworkInterface iface = interfaces.nextElement();

// Não mostra endereços de loopback

if (iface.isLoopback() || !iface.isUp())

continue;

 

Enumeration<InetAddress> addresses = iface.getInetAddresses();

while(addresses.hasMoreElements()) {

InetAddress addr = addresses.nextElement();

// Pega IP

ip = addr.getHostAddress();

// Pega MAC

byte[] mac = iface.getHardwareAddress();

String s="";

// Mostra MAC formatado

for (int i = 0; i < mac.length; i++) {

s += String.format("%02X%s", mac[i], (i < mac.length - 1) ? "-" : "");

}

// Mostra tudo

System.out.println(iface.getDisplayName() + "\n"  +

s + " - " +

ip);

}

}

} catch (SocketException e) {

throw new RuntimeException(e);

}

}

}

 

{/code}