亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > Java > 正文

如何利用NetworkInterface獲取服務器MAC地址

2019-11-26 15:59:46
字體:
來源:轉載
供稿:網友

在很多時候,我們需要獲得服務器硬件信息(比如MAC地址),常用的有幾種的方式:
•使用命令行程序獲得硬盤信息,然后通過Runtime.getRuntime().exec獲得輸出流,然后通過字符串分析獲得MAC地址
•編譯本地程序,然后通過JNI調用

以上兩種方式都需要區分不同的操作系統平臺,分別編碼,比較麻煩,比如
• windows平臺需要使用iptables /all命令
•linux平臺需要使用ifconfig命令

今天介紹一種通用的跨平臺的操作方式,那就是JDK自帶的NetworkInterface接口,該接口在JDK1.4已經出現,但是功能比較少,JDK1.6之后新增了不少新功能,比較不錯。

具體功能大家可以參考API文檔,這里主要介紹一下如何獲得服務器MAC地址,代碼如下,有注釋,不多講。

復制代碼 代碼如下:

//獲取所有網卡的MAC地址       
public static List<String> getAllMac() {
                List<String> list = new ArrayList<String>();
                try {
                        Enumeration<NetworkInterface> e = NetworkInterface.getNetworkInterfaces();// 返回所有網絡接口的一個枚舉實例
                        while (e.hasMoreElements()) {
                                NetworkInterface network = e.nextElement();// 獲得當前網絡接口
                                if (network != null) {
                                        if (network.getHardwareAddress() != null) {
                                                // 獲得MAC地址
                                                //結果是一個byte數組,每項是一個byte,我們需要通過parseByte方法轉換成常見的十六進制表示
                                                byte[] addres = network.getHardwareAddress();
                                                StringBuffer sb = new StringBuffer();
                                                if (addres != null && addres.length > 1) {
                                                        sb.append(parseByte(addres[0])).append(":").append(
                                                                        parseByte(addres[1])).append(":").append(
                                                                        parseByte(addres[2])).append(":").append(
                                                                        parseByte(addres[3])).append(":").append(
                                                                        parseByte(addres[4])).append(":").append(
                                                                        parseByte(addres[5]));
                                                        list.add(sb.toString());
                                                }
                                        }
                                } else {
                                        System.out.println("獲取MAC地址發生異常");
                                }
                        }
                } catch (SocketException e) {
                        e.printStackTrace();
                }
                return list;
        }
           //格式化二進制
        private static String parseByte(byte b) {
                int intValue = 0;
                if (b >= 0) {
                        intValue = b;
                } else {
                        intValue = 256 + b;
                }
                return Integer.toHexString(intValue);
        }

然后,我們用如下測試代碼,看一下測試結果
復制代碼 代碼如下:

                List<String> list = getAllMac();
                for (String mac : list) {
                        System.out.println(mac);
                }

輸出結果如下:
復制代碼 代碼如下:

0:18:8b:cc:xx:e3
0:0:0:0:0:0:0:e0
0:50:xx:c0:0:1
0:50:xx:c0:0:8

大家發現,"0:18:8b:cc:xx:e3",只有一個0,看起來很是別扭啊,我們不妨修訂一下parseByte方法,如下:
復制代碼 代碼如下:

        private static String parseByte(byte b) {
                 String s = "00"+Integer.toHexString(byte0);
                 return s.substring(s.length() - 2);
        }

輸出結果就變了:
復制代碼 代碼如下:

00:18:8b:cc:xx:e3
00:00:00:00:00:e0
00:50:xx:c0:00:01
00:50:xx:c0:00:08

這樣就看起來舒服多了嘛,是吧?
另外,NetworkInterface接口還提供了如下方法,大家可以參考一下。

•String displayName() 獲取網絡接口的顯示名稱
•int getMTU()返回此接口的最大傳輸單元(Maximum Transmission Unit,MTU)
•String getName()獲取此網絡接口的名稱
•boolean isLoopback()返回此網絡接口是否是回送接口
•boolean isPointToPoint()返回此網絡接口是否是點對點接口
•boolean isUp()返回此網絡接口是否已經開啟并運行
•boolean isVirtual()返回此接口是否是虛擬接口

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品pans私拍| 久久久久久香蕉网| 最好看的2019的中文字幕视频| 久久久免费高清电视剧观看| 亚洲国产成人精品一区二区| www.99久久热国产日韩欧美.com| 精品久久久久久国产91| 亚洲一区av在线播放| 亚洲精品www久久久| 深夜福利一区二区| 欧美特黄级在线| 久久视频精品在线| 欧美国产日产韩国视频| 久久精品久久精品亚洲人| 国产精品久久久久久久久久新婚| 日韩av综合中文字幕| 欧美日韩国产精品| 欧美第一黄色网| 欧美一区二区三区……| 欧美丰满少妇xxxxx| 国产精品一区二区三区在线播放| 欧美性猛交xxxx乱大交蜜桃| 亚洲人成自拍网站| 亚洲视频视频在线| 久久久之久亚州精品露出| 97婷婷大伊香蕉精品视频| 韩国v欧美v日本v亚洲| 欧美日韩国内自拍| 亚洲欧美一区二区三区久久| 国产精品网站视频| 精品亚洲国产成av人片传媒| 欧美另类老女人| 97av在线播放| 欧美性猛交xxxx免费看漫画| 成人精品一区二区三区| 欧美一乱一性一交一视频| xvideos亚洲人网站| 国产精品丝袜白浆摸在线| 久久影视三级福利片| 亚洲欧洲成视频免费观看| 久久手机免费视频| 亚洲精品456在线播放狼人| 欧美裸体xxxx极品少妇软件| 久久亚洲电影天堂| 亚洲奶大毛多的老太婆| 亚洲在线第一页| 欧美精品久久一区二区| 亚洲一区二区三区四区视频| 日产日韩在线亚洲欧美| 欧美第一页在线| 伊人久久五月天| 亚洲精品美女在线观看播放| 精品在线欧美视频| 伊人久久久久久久久久久久久| 日韩视频免费观看| 一区国产精品视频| 国产精品久久一区主播| 欧美一性一乱一交一视频| 日韩影视在线观看| 高清一区二区三区四区五区| 在线免费看av不卡| 欧美激情第三页| 亚洲free性xxxx护士白浆| 日韩在线免费观看视频| 国产中文欧美精品| 91精品久久久久久久久中文字幕| 久久视频免费在线播放| 国产美女精彩久久| 美女福利精品视频| 久久精品视频99| 亚洲va男人天堂| 中文字幕日韩av电影| 懂色av影视一区二区三区| 91国在线精品国内播放| 亚洲一区二区三区成人在线视频精品| 亚州国产精品久久久| 欧美专区国产专区| 亚洲成年人在线| 欧美精品中文字幕一区| 精品成人69xx.xyz| 欧美理论电影在线观看| 日本高清+成人网在线观看| y97精品国产97久久久久久| 欧美日韩午夜剧场| 成人黄色av网| 国产成人精品一区二区| xxxx性欧美| 丝袜一区二区三区| 一区二区欧美激情| 国产成人精品日本亚洲专区61| 亚洲香蕉av在线一区二区三区| 欧美电影在线免费观看网站| 欧美中文字幕在线播放| 精品中文字幕在线观看| 欧美日韩亚洲一区二| 久久久久久91香蕉国产| 亚洲乱码一区av黑人高潮| 久久精品99久久香蕉国产色戒| 国产一区二区三区视频免费| 欧美丝袜一区二区三区| 两个人的视频www国产精品| 久久精彩免费视频| 亚洲精品视频中文字幕| 中文字幕久久亚洲| 国产精品一区二区三区在线播放| 欧美日韩在线另类| 欧美另类老肥妇| 国产视频999| 欧美性生交xxxxxdddd| 亚洲国产精品字幕| 欧美午夜宅男影院在线观看| 欧美高清无遮挡| 6080yy精品一区二区三区| 久久亚洲精品小早川怜子66| 国产91精品久久久| 亚洲欧美另类人妖| 欧美夜福利tv在线| 国产精品一区电影| 亚洲欧洲成视频免费观看| 欧美日韩一二三四五区| 成人免费看黄网站| 国产精品中文久久久久久久| 亚洲人成在线免费观看| 26uuu另类亚洲欧美日本一| 国产精品亚洲一区二区三区| 欧美成人精品影院| 亚洲成人a**站| 欧美一级淫片丝袜脚交| 亚洲电影免费观看高清完整版在线观看| 久久久久久久电影一区| 在线精品视频视频中文字幕| 亚洲免费小视频| 久久成人人人人精品欧| 亚洲石原莉奈一区二区在线观看| 69**夜色精品国产69乱| 粉嫩av一区二区三区免费野| 亚洲一区二区国产| 97精品国产97久久久久久免费| 久久久国产精彩视频美女艺术照福利| 欧美日韩一区免费| 亚洲乱码av中文一区二区| 亚洲国产精品电影在线观看| 成人福利在线观看| 欧美激情videos| 亚洲人成在线观看网站高清| 91亚洲午夜在线| 国产亚洲精品美女久久久| 欧美午夜视频在线观看| 亚洲a成v人在线观看| www.亚洲人.com| 日韩精品中文字幕视频在线| 久久精品国产免费观看| 国产欧美日韩丝袜精品一区| 日韩一区二区欧美| 国产精品电影网站| 久久99久久亚洲国产| 7m精品福利视频导航| 亚洲美女www午夜| 成人精品一区二区三区| 欧美一区二区大胆人体摄影专业网站| 国产精品久久久久久久美男| 国产自摸综合网| 日韩经典中文字幕在线观看| 国产999精品久久久影片官网|