java mac在本地网络中发现地址

时间:2014-08-04 19:51:02

标签: java network-programming ip mac-address discovery

我正在尝试发现本地网络中所有计算机的mac地址。

到目前为止我所拥有的是

import java.net.InetAddress;
import java.net.NetworkInterface;
import java.net.SocketException;
import java.net.UnknownHostException;


public class Network_discovery {

    public static void main()throws Exception{
        for (int i=1;i<254;i++){
            int timeout=1000;
            try{
                String host="192.168.2" + "." + i;
                InetAddress address = InetAddress.getByName(host);
                NetworkInterface ni = NetworkInterface.getByInetAddress(address);
                byte[] mac = ni.getHardwareAddress();
                if (mac != null) {
                    for (int y = 0; y < mac.length; y++) {
                        System.out.format("%02X%s", mac[y], (y < mac.length - 1) ? "-" : "");
                    }
                } 
            }
            catch (UnknownHostException|SocketException  e) {
                e.printStackTrace();
            }
        }
    }

}

但我收到错误“线程中的异常”主“java.lang.NullPointerException     在network_discovery.Network_discovery.main(Network_discovery.java:30) Java结果:1“

我做错了什么?

0 个答案:

没有答案
相关问题