一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

java在linux獲得ip地址和mac

 真愛(ài)圖書(shū) 2014-11-28
以前在linux下獲取ip和mac一般使用jni,調(diào)用linux的ioctl。當(dāng)然也有使用shell獲取的。
發(fā)現(xiàn)在jdk 6下已經(jīng)實(shí)現(xiàn)了,java.net.NetworkInterface上面有靜態(tài)方法可以獲取到所有本地網(wǎng)卡信息。注意的是用Java的InetAddress.getLocalHost()方法在Linux下只能得到127.0.0.1,只能在Windows下獲取正確的ip地址.
代碼如下
package test;

import java.io.*;
import java.net.*;
import java.util.*;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

import static java.lang.System.out;

public class ListNIFs
{
    public static void main(String args[]) throws SocketException {
        Enumeration<NetworkInterface> nets = NetworkInterface.getNetworkInterfaces();
        
        for (NetworkInterface netIf : Collections.list(nets)) {
            String name =  netIf.getDisplayName();
            if(name.equals("eth0"))
            {
            out.printf("Display name: %s\n", netIf.getDisplayName());
            out.printf("Name: %s\n", netIf.getName());
            byte [] mac = netIf.getHardwareAddress();
            String macs =Hex.encodeHexStr(mac);
            out.printf("Name: %s\n", macs);
            //displaySubInterfaces(netIf);
            out.printf("\n");
            }
            
        }
        printHardwareAddresses();
    }
static void printHardwareAddresses() throws SocketException {
    if (System.getProperty("os.name").equals("Linux")) {

        // Read all available device names
        List<String> devices = new ArrayList<>();
        Pattern pattern = Pattern.compile("^ *(.*):");
        try (FileReader reader = new FileReader("/proc/net/dev")) {
            BufferedReader in = new BufferedReader(reader);
            String line = null;
            while( (line = in.readLine()) != null) {
                Matcher m = pattern.matcher(line);
                if (m.find()) {
                    devices.add(m.group(1));
                }
            }
        } catch (IOException e) {
            e.printStackTrace();
        }

        // read the hardware address for each device
        for (String device : devices) {
            try (FileReader reader = new FileReader("/sys/class/net/" + device + "/address")) {
                BufferedReader in = new BufferedReader(reader);
                String addr = in.readLine();

                System.out.println(String.format("%5s: %s", device, addr));
            } catch (IOException e) {
                e.printStackTrace();
            }
        }

    } else {
        // use standard API for Windows & Others (need to test on each platform, though!!)
      
    }
}

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類(lèi)似文章 更多

    亚洲精品偷拍视频免费观看| 国产精品一区二区三区日韩av| 最近最新中文字幕免费| 亚洲一区二区精品免费| 日韩高清中文字幕亚洲| 午夜成年人黄片免费观看| 97人妻人人揉人人躁人人| 搡老妇女老熟女一区二区| 亚洲中文字幕高清乱码毛片| 久久精品国产99精品最新| 日韩精品视频高清在线观看| 欧美午夜不卡在线观看| 国产高清三级视频在线观看| 欧美日韩综合在线第一页| 日本欧美一区二区三区在线播| 好吊妞视频这里有精品| 日韩视频在线观看成人| 制服丝袜美腿美女一区二区| 极品少妇一区二区三区精品视频 | 中文字幕亚洲精品在线播放| 国产女同精品一区二区| 国产偷拍精品在线视频| 免费国产成人性生活生活片| 亚洲最大的中文字幕在线视频| 国产一区二区三区免费福利| 久久精视频免费视频观看| 国产高清一区二区白浆| 性欧美唯美尤物另类视频| 五月激情综合在线视频| 中文字幕日韩精品人一妻| 久热青青草视频在线观看| 91精品视频免费播放| 国产国产精品精品在线| 沐浴偷拍一区二区视频| 亚洲专区一区中文字幕| 99久久精品国产麻豆| 国产精品久久精品毛片| 国产亚洲欧美日韩精品一区| 日本午夜精品视频在线观看| 国产精品免费精品一区二区| 亚洲黄香蕉视频免费看|