Trouver l'Adresse mac à l'aide de l'adresse IP en java
public static void main(String[] args) {
try {
InetAddress address = InetAddress.getLocalHost();
//InetAddress address = InetAddress.getByName("192.168.46.53");
/*
* Get NetworkInterface for the current host and then read the
* hardware address.
*/
NetworkInterface ni = NetworkInterface.getByInetAddress(address);
if (ni != null) {
byte[] mac = ni.getHardwareAddress();
if (mac != null) {
/*
* Extract each array of mac address and convert it to hexa with the
* following format 08-00-27-DC-4A-9E.
*/
for (int i = 0; i < mac.length; i++) {
System.out.format("%02X%s", mac[i], (i < mac.length - 1) ? "-" : "");
}
} else {
System.out.println("Address doesn't exist or is not accessible.");
}
} else {
System.out.println("Network Interface for the specified address is not found.");
}
Je vais avoir un problème pour trouver l'adresse MAC d'un ordinateur hôte distant, mais je suis capable de trouver l'adresse MAC de mon hôte local. Si j'ai l'adresse IP de l'autre système puis-je récupérer l'adresse MAC de ce système?
InetAddress address = InetAddress.getByName("192.168.46.53");
si je spécifie l'adresse ip d'un système dans mon groupe de travail... ni de valeurs devient nulle.... et de ne pas pouvoir aller la chercher.... mais si donner mon adresse ip de mon système...il extrait???
Merci,
Sunny
- Pourquoi pensez-vous que vous devriez être en mesure d'obtenir l'adresse Mac d'un ordinateur hôte distant (qui n'est pas sur votre réseau local, de toute façon). Ce n'est pas quelque chose qui est nécessaire (ou communiqués) par le protocole IP. Le meilleur que vous pouvez obtenir est l'adresse Mac de votre passerelle.
- netAddress adresse = InetAddress.getByName("192.168.46.53"); si je spécifie l'adresse ip d'un système dans mon groupe de travail... ni de valeurs devient nulle.... et de ne pas pouvoir aller la chercher.... mais si donner mon adresse ip de mon système...il extrait???
Vous devez vous connecter pour publier un commentaire.
Vous ne serez en mesure de récupérer l'adresse MAC de l'hôte distant sur votre réseau local, qui est, les hôtes sont dans le même sous-réseau que votre ordinateur. Les adresses MAC de l'hôte de plus de sauts de distance (IP hop, pas d'Ethernet hop) ne peut pas être déterminé.
Et note que l'extraction de l'adresse MAC correspondante pour les hôtes de votre réseau local nécessite les autorisations nécessaires pour récupérer la table ARP, ou de celles qui sont nécessaires pour envoyer et recevoir les paquets. La plupart des Systèmes d'exploitation permettent la lecture de la table ARP sans autorisations spéciales, mais le mécanisme que vous utilisez pour le faire va changer en fonction de l'OS. Si vous avez besoin d'une technique pour un système particulier, vous devrez mettre à jour votre question d'inclure cette info.