IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Entrée/Sortie Java Discussion :

fontion Java retournant l'adresse MAC d'une machine ?


Sujet :

Entrée/Sortie Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Août 2009
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 155
    Points : 45
    Points
    45
    Par défaut fontion Java retournant l'adresse MAC d'une machine ?
    Bonjour à tous,

    connaissez-vous une fontion Java retournant l'adresse MAC de la machine sur laquelle est executé le programme ?

    Merci à vous

  2. #2
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 804
    Points
    48 804
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    java.net.NetworkInterface ni = java.net.NetworkInterface.getByInetAddress(address);
    byte[] mac = ni.getHardwareAddress();
    Ça retourne une des adresses MAC pas l'adresse MAC

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Août 2009
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 155
    Points : 45
    Points
    45
    Par défaut
    Citation Envoyé par tchize_ Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    java.net.NetworkInterface ni = java.net.NetworkInterface.getByInetAddress(address);
    byte[] mac = ni.getHardwareAddress();
    Ça retourne une des adresses MAC pas l'adresse MAC
    Merci beaucoup tchize, j'essaie de suite

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Août 2009
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 155
    Points : 45
    Points
    45
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    java.net.NetworkInterface ni = java.net.NetworkInterface.getByInetAddress(InetAddress.getByName("127.0.0.1"));
                byte[] mac = ni.getHardwareAddress();
                System.out.println(mac.length);
    ça marche pas, NullPointerException

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Août 2009
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 155
    Points : 45
    Points
    45
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    java.net.NetworkInterface ni = java.net.NetworkInterface.getByInetAddress(InetAddress.getLocalHost());
                byte[] mac = ni.getHardwareAddress();
                System.out.println(mac.length);
    comme ceci ça marche mieux

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Août 2009
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 155
    Points : 45
    Points
    45
    Par défaut
    comment on fait pour afficher un tableau de byte ?
    j'arrive à l'afficher avec des int, mais je voudrais le voir en hexadécimal...

  7. #7
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 804
    Points
    48 804
    Par défaut
    Arrays.toString(byte[]), de mémoire

  8. #8
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 804
    Points
    48 804
    Par défaut
    attention que localhost a souvent une mac particulière (genre ff:ff:ff:00:00:00). Le mieux est d'utiliser la mac d'une interface réseau.

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Août 2009
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 155
    Points : 45
    Points
    45
    Par défaut
    Citation Envoyé par tchize_ Voir le message
    Arrays.toString(byte[]), de mémoire
    oui mais ça donne des nombres négatifs, je cherche une notation hexa...

  10. #10
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 567
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 567
    Points : 21 633
    Points
    21 633
    Par défaut
    Tu peux peut-être utiliser Integer.toHexString(0xFF & b) pour chaque byte b de ton tableau.

    Et si tu as besoin de mettre les zéros pour faire 0x01 au lieu de 0x1, là il va falloir te coder une petite méthode toi-même. (ce n'est pas la mort.)

  11. #11
    Membre du Club
    Profil pro
    Inscrit en
    Août 2009
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 155
    Points : 45
    Points
    45
    Par défaut
    Merci à tous pour vos réponses. Problème résolu

  12. #12
    Nouveau membre du Club
    Homme Profil pro
    Développeur Java
    Inscrit en
    Avril 2012
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2012
    Messages : 48
    Points : 36
    Points
    36
    Par défaut
    Code java : 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
    import java.net.InetAddress;
    import java.net.NetworkInterface;
    public class Mac {
     
     
    	public static void main(String[] args) throws Exception {
    		InetAddress address = InetAddress.getLocalHost();
     
    		NetworkInterface ni = NetworkInterface.getByInetAddress(address);
    		byte[] mac = ni.getHardwareAddress();
     
    		for (int i = 0; i < mac.length; i++) {
    			System.out.format("%02X%s", mac[i], (i < mac.length - 1) ? "-" : "");
    		}
    	}
    }


+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Comment obtenir l'adresse MAC d'une carte réseau déconnectée ?
    Par ZZZEvelyne dans le forum Web & réseau
    Réponses: 6
    Dernier message: 11/01/2014, 00h28
  2. Obtenir l'adresse mac suivant une IP donnée
    Par arnaudperfect dans le forum Shell et commandes GNU
    Réponses: 2
    Dernier message: 22/05/2008, 15h55
  3. [SCRIPT WMI]Obtenir l'adresse MAC d'une machine
    Par zell45 dans le forum Windows
    Réponses: 7
    Dernier message: 05/04/2006, 09h32
  4. [Info] obtenir l'adresse MAC d'une machine
    Par bigboomshakala dans le forum C++
    Réponses: 3
    Dernier message: 27/02/2005, 18h07

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo