java获取本机mac物理地址
package com.simonjia.util.other; import java.net.InetAddress;import java.net.InterfaceAddress;import java.net.NetworkInterface;import java.util.ArrayList;import java.util.List;import java.util.stream.Collectors; public class MacTools { /***因为一台机器不一定只有一个网卡呀,所以返回的是数组是很合理的***/ public static List<String> getMacList() throws Exception { java.util.Enumeration<NetworkInterface> en = NetworkInterface.getNetworkInterfaces(); StringBuilder sb = new StringBuilder(); ArrayList<String> tmpMacList = new ArrayList<>(); while (en.hasMoreElements()) { NetworkInterface iface = en.nextElement(); List<InterfaceAddress> addrs = iface.getInterfaceAddresses(); for (InterfaceAddress addr : addrs) { InetAddress ip = addr.getAddress(); NetworkInterface network = NetworkInterface.getByInetAddress(ip); if (network == null) { continue; } byte[] mac = network.getHardwareAddress(); if (mac == null) { continue; } sb.delete(0, sb.length()); for (int i = 0; i < mac.length; i++) { sb.append(String.format("%02X%s", mac[i], (i < mac.length - 1) ? "-" : "")); } tmpMacList.add(sb.toString()); } } if (tmpMacList.size() <= 0) { return tmpMacList; } /***去重,别忘了同一个网卡的ipv4,ipv6得到的mac都是一样的,肯定有重复,下面这段代码是。。流式处理***/ List<String> unique = tmpMacList.stream().distinct().collect(Collectors.toList()); return unique; } public static void main(String[] args) throws Exception { long a = System.currentTimeMillis(); System.out.println("进行 multi net address 测试===》"); List<String> macs = getMacList(); long b = System.currentTimeMillis(); System.out.println("本机的mac网卡的地址有:" + macs); System.out.println("总耗时----" + (b - a) + "-----ms"); }}
这个只能拿到服务本机的mac地址,对于远程请求获取请求者的mac信息并不适用……
获取来访者ip信息----:https://www.cnblogs.com/SimonHu1993/p/11015069.html
博主原文太长,只取精华-0- 详细可见:https://blog.csdn.net/cdnight/article/details/86741265
转载于:https://www.cnblogs.com/SimonHu1993/p/11014786.html
java获取本机mac物理地址相关推荐
- 使用java获取本机mac
不开心,辛苦写的第一篇文章不小心删除了还恢复不了 想用java 获得本机地址,搜了下,觉得这个看起来不错,简洁 import java.net.InetAddress; import java.net ...
- java 获取本机mac地址并转为字符串
2019独角兽企业重金招聘Python工程师标准>>> public String getMacAddress() throws Exception{ InetAd ...
- Java获取本机的ip地址和Mac地址
Java获取本机的ip地址 //得到IP,InetAddress ia = InetAddress.getLocalHost();String ip=ia.toString().split(" ...
- Unity——获取本机MAC地址
Unity中获取本机Mac地址,常用于类似绑定设备的加密情况中,限制程序只可以在固定的设备上使用.首先我们需要在脚本中引用System.Net.NetworkInformation程序集,然后使用Ne ...
- golang网络编程:获取本机MAC地址
对于IP地址可以表示一个网络连接,但是无法唯一标识一台主机,而MAC地址是主机网卡的物理地址,这个对于一台主机来说是不会改变的. func mac(){// 获取本机的MAC地址interfaces, ...
- java 获取用户的MAC地址多种方法实例详解
java 获取用户的MAC地址多种方法实例详解 这篇文章主要介绍了JAVA实现获取用户的MAC地址的多种方法实例,需要的朋友可以参考下 java实现获取用户的MAC地址方法: 方法一:将本机地址与局域 ...
- JAVA获取机器的MAC地址
JAVA获取机器的MAC地址 需求:获取机器的mac地址 问题:一些国产操作系统获取不到MAC地址,以下搜集了一些获取mac地址的方法 1.获取MAC地址 ps:该方法在银河麒麟中可用 public ...
- java 获取已有字体,java获取本机全部可用字体
java获取本机所有可用字体 //just for fun,那个28个字母的函数满满都是恶心 import java.awt.GraphicsEnvironment ; class Tester { ...
- android 获取网卡mac_Android获取本机Mac地址及IP地址方法
1.Android 获取本机Mac 地址方法: 需要在AndroidManifest.xml文件中添加权限: public String getLocalMacAddress() { WifiMan ...
最新文章
- 一个 TCP 连接可以发多少个 HTTP 请求?
- ubuntu配置java_Ubuntu 16.04下Java环境安装与配置
- Study Linux --- Shell Script
- c++基础(part1)--cpp简介
- thinkphp内置标签简单讲解
- 通过data目录恢复数据库数据(mysql5.7.22)
- Docker学习总结(58)——Dockerfile中,ADD和COPY的区别?
- 利用Mahout实现在Hadoop上运行K-Means算法
- 保护心灵窗口——防蓝光软件f.lux
- 21天通关python 磁力_利用python爬取天天看美剧磁力链接
- STM32的ADC多通道采集的实现
- 癌症/肿瘤免疫治疗最新进展(2022年3月)
- STM32精英板连接wifi,通过指令控制继电器
- 僵尸进程(Zombie process )
- 点线面的意义_聊聊「点线面」的概念
- 电子邮箱的格式怎么填?外贸电子邮件填写的正确格式
- 肝进ICU,万字真言点化八大排序——我奶奶都看得懂的算法详解
- c位边上还有什么位_λ(c位旁边二个位置叫什么)
- 给“四时有惑”播客招募几位志愿者
- 推荐免费的svn空间