Olá a todos!
Hoje trago para vocês uma classe que torna possível obter o endereço MAC, o IP e o nome da máquina!!
Aproveitem!
import java.net.InetAddress;
import java.net.NetworkInterface;
import java.net.SocketException;
import java.net.UnknownHostException;
import javax.swing.JOptionPane;
/**
* @author Dalí Freire Dias
* @version 03/07/2007
*/
public class FacadeNet
{
public static String getMAC()
{
InetAddress localHost;
NetworkInterface networkInterface;
String mac = "";
try {
localHost = InetAddress.getLocalHost();
networkInterface = NetworkInterface.getByInetAddress( localHost );
mac = getString( networkInterface.getHardwareAddress() );
} catch( UnknownHostException e ) {
e.printStackTrace();
JOptionPane.showMessageDialog( null, "Falha ao obter endereço MAC!", "", JOptionPane.ERROR_MESSAGE );
} catch( SocketException e ) {
e.printStackTrace();
JOptionPane.showMessageDialog( null, "Falha ao obter endereço MAC!", "", JOptionPane.ERROR_MESSAGE );
} catch( Exception e ) {
e.printStackTrace();
JOptionPane.showMessageDialog( null, "Falha ao obter endereço MAC!", "", JOptionPane.ERROR_MESSAGE );
}
return mac.toUpperCase();
}
public static String getIP()
{
InetAddress localHost;
String ip = "";
try {
localHost = InetAddress.getLocalHost();
ip = localHost.getHostAddress();
} catch( UnknownHostException e ) {
e.printStackTrace();
JOptionPane.showMessageDialog( null, "Falha ao obter IP!", "", JOptionPane.ERROR_MESSAGE );
} catch( Exception e ) {
e.printStackTrace();
JOptionPane.showMessageDialog( null, "Falha ao obter IP!", "", JOptionPane.ERROR_MESSAGE );
}
return ip;
}
public static String getNomeDaMaquina()
{
InetAddress localHost;
String ip = "";
try {
localHost = InetAddress.getLocalHost();
ip = localHost.getHostName();
} catch( UnknownHostException e ) {
e.printStackTrace();
JOptionPane.showMessageDialog( null, "Falha ao obter Nome da máquina!", "", JOptionPane.ERROR_MESSAGE );
} catch( Exception e ) {
e.printStackTrace();
JOptionPane.showMessageDialog( null, "Falha ao obter Nome da máquina!", "", JOptionPane.ERROR_MESSAGE );
}
return ip;
}
private static String getString( byte[] bytes )
{
StringBuilder s = new StringBuilder();
for( int i = 0; i < bytes.length; i++ ) {
int parteAlta = ((bytes[i] >> 4) & 0xf) << 4;
int parteBaixa = bytes[i] & 0xf;
if( parteAlta == 0 ) s.append( '0' );
s.append( Integer.toHexString( parteAlta | parteBaixa ) );
}
return s.toString();
}
/**
* @param args
*/
public static void main( String[] args )
{
JOptionPane.showMessageDialog( null, "Nome da máquina: " + getNomeDaMaquina() + "\nIP: " + getIP() + "\nMAC: " + getMAC() );
System.out.println( "Nome da máquina: " + getNomeDaMaquina() + "\nIP: " + getIP() + "\nMAC: " + getMAC() );
}
}
Assinar:
Postar comentários (Atom)
Nenhum comentário:
Postar um comentário