java获取Linux和window系统多网卡mac地址和IP-编程思维

   public static List<Map<String, String>> getMacAndIp() throws SocketException {
        List<Map<String, String>> listMap = new ArrayList<>();
        // 获取当前主机的所有网络接口,至少包含一个回环ip地址 127.0.0.1
        Enumeration<NetworkInterface> interfaces = NetworkInterface.getNetworkInterfaces();
        while (interfaces.hasMoreElements()) {
            // 当前节点
            NetworkInterface anInterface = interfaces.nextElement();
            Enumeration<InetAddress> addresses = anInterface.getInetAddresses();
            // 该网卡接口下的ip会有多个,也需要一个个的遍历,找到自己所需要的
            while (addresses.hasMoreElements()) {
                InetAddress inetAddress = addresses.nextElement();
                Map<String, String> map = new HashMap<>(3);
                // 排除回环地址,不是回环的地址
                if (!inetAddress.isLoopbackAddress() && inetAddress.isSiteLocalAddress()) { // 是否本地回环地址 是 返回 true
                    // 获取 MAC地址
                    NetworkInterface network = NetworkInterface.getByInetAddress(inetAddress);
                    byte[] mac = network.getHardwareAddress();
                    StringBuilder macs = new StringBuilder();
                    for (int i = 0; i < mac.length; i++) {
                        // 格式化十六进制
                        macs.append(String.format("%02X%s", mac[i], (i < mac.length - 1) ? "-" : ""));
                    }
                    map.put("mac", macs.toString());
                    map.put("ip", inetAddress.getHostAddress());
                    map.put("name", inetAddress.getHostName());
                    listMap.add(map);
                }
            }
        }
        return listMap;
    }

 

 

版权声明:本文版权归作者所有,遵循 CC 4.0 BY-SA 许可协议, 转载请注明原文链接
https://www.cnblogs.com/bxmm/p/16283257.html

yum安装Nginx-编程思维

  官方安装教程:http://nginx.org/en/linux_packages.html#RHEL-CentOS 一、环境准备   步骤一sudo yum install yum-utils步骤二vi /etc/yum.repos.d/nginx.repo   将一下文本粘贴进文档里面,保存并退出 [ng

Linux:可执行程序的Shell传参格式规范-编程思维

1. Linux下可执行程序的Shell传参格式规范 Linux下的可执行程序在运行时经常需要传一些参数,而这些参数是有规范的。包括我们自己写的在Linux系统下运行的Shell脚本、Python脚本等可执行程序,最好也遵循相关规范。我们下面以Linux命令为例来讲解参数规范: Linux命令行的格式规范如下: ori

mac更新本地时间-编程思维

前言 选取苹果菜单 >“系统偏好设置”,然后点按“日期与时间”。 点按窗口角落处的锁形图标 ,然后输入您的管理员密码以解锁设置。 在“日期与时间”面板中,确保已选择“自动设置日期与时间”,并确保Mac 已连接到互联网。 切换时间同步服务器以及先取消自动同步,然后手动修改时间,再启用自动同步两种方法经测试无效。

mac 配置终端走vnp代理-编程思维

前言 买了一个 VNP,在浏览器使用时,可以实现代理,但在命令行终端不走代理。 临时配置 在终端中直接运行命令 export http_proxy=http://proxyAddress:port 这个办法的好处是简单直接,并且影响面很小(只对当前终端有效)。 写入 shell 配置文件 把代理服务器地址写入 she

Mac关闭ciscovpn客户端的开机启动-编程思维

我的启动项里已经没有这货了,每次开启,还是会弹出来,烦死了 找了半天在目录 /Library/LaunchAgents 中发下存在以下配置 1 ➜ LaunchAgents pwd 2 /Library/LaunchAgents 3 ➜ LaunchAgents ls | grep cisco 4 com.cis

mac 电脑外接键盘的 win 键坏了, 按了没反应, win 键失效了问题排查和修复 all in one_xgqfrms-编程思维

Mac 电脑外接键盘的 Win 键坏了, 按了没反应, Win 键失效了问题排查和修复 All In One Win 键 故障问题排查和修复 原因: 同时按下 Win + Fn 组合键会导致 Win 键失灵,即锁定 Win 键! 外接机械键盘 Win键失效 之前机械键盘的 Win键的灯亮的是蓝光; 现在Win