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.");
}
リモートホストのMACアドレスを見つけるのに問題がありますが、自分のローカルホストのMACアドレスを見つけることができます。私が他のシステムのIPアドレスを持っていれば、そのシステムのMACアドレスを取得できますか?JavaでIPアドレスを使用してMacアドレスを検索する
InetAddressアドレス= InetAddress.getByName( "192.168.46.53");
私のワークグループ内のシステムのIPアドレスを指定すると... niの値はnullになります....そしてそれを取得することはできません....しかし、私のシステムの私のIPアドレスを与える...それは...フェッチする???
おかげで、
サニー
なぜあなたは、リモートホストのMacアドレス(ローカルのサブネットにはありません)を取得できる必要があると思いますか?これは、IPプロトコルによって要求される(または伝達される)ものではありません。あなたが得ることができる最高のものはあなたのゲートウェイのMacアドレスです。 –
netAddressアドレス= InetAddress.getByName( "192.168.46.53"); 私のワークグループ内のシステムのIPアドレスを指定すると... niの値はヌルになります....それを取得することはできません....しかし、私のシステムの私のIPアドレスを与える...それはフェッチする? ?? – sunny