Bonjour,
J'ai besoin de récupérer l'adresse MAC de ma carte réseau depuis mon code Java.
J'ai trouvé comment faire via l'API NetworkInterface, mais je ne sais pas comment gérer le cas où plusieurs cartes réseau sont présentes dans le PC.
Y a-t-il un moyen quelconque de savoir quelle carte réseau est utilisée ?
Dans le code ci-dessus, je ne voudrais traiter que la carte réseau qui est effectivement connectée.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 Enumeration<NetworkInterface> networkInterface = NetworkInterface.getNetworkInterfaces(); // iterate over all interfaces while (networkInterface.hasMoreElements()) { // get an interface NetworkInterface network = networkInterface.nextElement(); // get its hardware or mac address byte[] macAddressBytes = network.getHardwareAddress(); if (macAddressBytes != null) { System.out.print("MAC address of interface \"" + network.getName() + "\" is : "); // initialize a string builder to hold mac address StringBuilder macAddressStr = new StringBuilder(); // iterate over the bytes of mac address for (int i = 0; i < macAddressBytes.length; i++) { // convert byte to string in hexadecimal form macAddressStr.append(String.format("%02X", macAddressBytes[i])); // check if there are more bytes, then add a "-" to make // it more readable if (i < macAddressBytes.length - 1) { macAddressStr.append("-"); } } System.out.println(macAddressStr.toString()); }
Cordialement
Partager