Java - obtener dirección mac en java

   
Vista:
Imágen de perfil de pedronet

obtener dirección mac en java

Publicado por pedronet pedro.sr28@gmail.com (4 intervenciones) el 24/07/2017 18:23:19
Buenos días a todos, estoy realizando una aplicación de administración para un sitio y necesito obtener dirección Mac de el usuario que ingrese a la aplicación, el proyecto se esta desarrollando en java con jsf . Agradezco cualquier información que me pueda ayudar a realizar esto .. Gracias de antemano!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

obtener dirección mac en java

Publicado por Gonzalo (112 intervenciones) el 25/07/2017 16:30:00
detectar el mac del lado del serividor no creo que sea posible, asi que debes arreglar el programa cliente para que obtega ese dato y lo mande al servidor, lo que convierte al MAC en un dato 100% no confiable.

aqui el caso es que si el cliente tiene 2 o mas tarjetas de red entonces vas a tener que pensar que hacer, si tomas la que el sistema arroje como primer dispositivo o registrar todas las macs de esta pc, etc., esa es una decision que vas a tener que tomar.

este es el codigo que uso para detectar el MAC.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
String firstInterface = null;
Map<String, String> addressByNetwork = new HashMap<>();
Enumeration<NetworkInterface> networkInterfaces;
try
{
	networkInterfaces = NetworkInterface.getNetworkInterfaces();
	while(networkInterfaces.hasMoreElements())
	{
NetworkInterface network = networkInterfaces.nextElement();
 
byte[] bmac = network.getHardwareAddress();
if(bmac != null)
{
	StringBuilder sb = new StringBuilder();
	for (int i = 0; i < bmac.length; i++)
	{
		sb.append(String.format("%02X%s", bmac[i], (i < bmac.length - 1) ? "-" : ""));
	}
 
	if(sb.toString().isEmpty()==false)
	{
		addressByNetwork.put(network.getName(), sb.toString());
	}
 
	if(sb.toString().isEmpty()==false && firstInterface == null)
	{
		firstInterface = network.getName();
	}
}
	}
} catch (SocketException e)
{
	system.out.println(e.getMessage());
}
 
if(firstInterface != null)
{
	MACAddress= addressByNetwork.get(firstInterface);
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar
Imágen de perfil de pedronet

obtener dirección mac en java

Publicado por pedronet (4 intervenciones) el 25/07/2017 23:06:11
ok gracias por el aporte!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Revisar política de publicidad