Publié le 17/05/2011
Auteur axel
Réseaux sociaux
0 partages
0 tweets
0 plus
2 commentaires

Identifier un poste sur un LAN avec sa Mac Address

En s'appuyant sur les couches réseau du système d'exploitation, JAVA offre de nombreuses possibilités. Quelque soit l'OS, un poste peut être identifié sur un LAN à partir des données suivantes:
- identifiant du poste sur le réseau,
- adresse IP,
- Mac Address.

Obtenir l'Adresse MAC du poste

L'adresse MAC aussi appelée adresse physique est un numéro unique que l'on utilise pour identifier un périphérique sur un réseau. Par exemple, lorsque l'on souhaite filtrer les connexions sur sa borne WIFI, c'est l'adresse MAC qui sert d'identifiant à chaque périphérique.
La MAC Mac Address est une suite de 6 octets représentée sous la forme hexadécimale.
import java.net.InetAddress;
import java.net.NetworkInterface;
import java.net.SocketException;
import java.net.UnknownHostException;
 
/**
 * Identifier un poste sur un LAN avec sa Mac Address
 * @author fobec 2011
 */
public class NetworkHardware {
 
    public static String getMacAddress() {
 
        try {
            InetAddress ia = InetAddress.getLocalHost();
 
            System.out.println("nom sur le reseau : "   ia.getCanonicalHostName());
            System.out.println("adresse ip : "   ia.getHostAddress());
            System.out.println("reseau local : "   ia.isSiteLocalAddress());
 
            NetworkInterface ni = NetworkInterface.getByInetAddress(ia);
            System.out.println("interface reseau : "   ni.getDisplayName());
            byte[] mac = ni.getHardwareAddress();
 
            StringBuilder macaddress = new StringBuilder();
            for (int i = 0; i < mac.length; i  ) {
                macaddress.append(String.format("X%s", mac[i], (i < mac.length - 1) ? "-" : ""));
            }
            return macaddress.toString();
        } catch (UnknownHostException e) {
            e.printStackTrace();
        } catch (SocketException e) {
            e.printStackTrace();
        }
        return "";
    }
 
    public static void main(String args[]) {
        System.out.println("la Mac adresse du poste : "   NetworkHardware.getMacAddress());
    }
}

Exemple de Mac Address

Le poste sur lequel s’exécute la class ci-dessus est relié à un réseau local dont la zone verte est définit par le sous-réseau 192.168.2.x
nom sur le reseau : AXEL
adresse ip :192.168.2.114
reseau local :true
interface reseau :Miniport de pont MAC - Miniport d'ordonnancement de paquets
la Mac adresse du poste : 02-B1-43-DC-75-A1


Ajouter un commentaire

Les champs marqués d'un * sont obligatoires, les adresses emails se sont pas publiées.
avatar BOKOMBEJEAN

Publié par BOKOMBEJEAN

le 31/07/2015 à 15:12:08

code source excellente,
maintenant comment l'afficher dans une zone de texte ou un champ de texte?

avatar Axel

Publié par Axel

le 31/07/2015 à 17:11:44

le resultat de la fonction getMacAddress() est de type String,
ainsi pour afficher l'adresse MAC dans une JLabel

String macAddress=NetworkHardware.getMacAddress();
label.setText(macAddress);

A lire aussi

Réseaux sociaux
Présentation de l'article
Catégorie
java - sources
Mise a jour
17/05/2011
Visualisation
vu 4309 fois
Public
Internaute
Auteur de la publication
Axel
Membre junior
Auteur de 51 articles
|BIO_PSEUDO|
Commentaires récents

Publié par Djrac dans tuto

Bjr.
J'ai essaye ce code mais en cliquant sur f5 il me donne un autre temps d'execution malgre qu'il s'agit du meme page PHP. Je comprends pas ou il est le probleme.
Merci de m...

Publié par Arkhee dans tuto

Bonjour,
Je ne connaissais pas Aloha mais je le trouve tres interessant dans le principe, on a vraiment l'impression d'editer directement l'article dans la page, contrairement aux autres.
En pra...

Publié par steev dans java

Bjr,
je voudrai savoir comment mettre le son en pause?
aussi comment faire qr qu'il tourne tjr?

Publié par Christophe dans CMS

en remplacant la ligne:
SHGetFileInfo(PChar(ePath.Text + SearchRec.Name), 0, FileInfo, SizeOf(FileInfo), SHGFI_ICON);
par la ligne
SHGetFileInfo(PChar(ePath.Text + Sear...

Publié par options binaires dans php5

genial l'outil ! merci