Seu Curso

  • Full Screen
  • Wide Screen
  • Narrow Screen
  • Increase font size
  • Default font size
  • Decrease font size

Obter o endereço IP e físico de todas as interfaces de rede usando JAVA

Imprimir
Avaliação do Usuário: / 7
PiorMelhor 

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:

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);
 }
 }
}
 

Adicionar comentário


Código de segurança
Atualizar

You are here: