JAVA获取指定的类型的本机MAC地址
前面我们运维小伙在部署的时候,发现在真实服务器获取不到mac地址或者获取不到指定类型的mac地址,写程序记录如下
import com.google.common.base.Strings; import java.net.NetworkInterface;
import java.util.Enumeration; public class MacHelper { private static MacHelper instance; public static MacHelper getInstance() { if (instance == null) {
synchronized (MacHelper.class) {
instance = new MacHelper();
}
} return instance;
} /**
* 获取本地IP
*
* @return String
*/
public String getFirstLocalMac() {
String startName = "eth", symbol = "";
return getFirstLocalMac(startName, symbol);
} /**
* 获取本地IP
*
* @return String
*/
public String getFirstLocalMac(String startName, String symbol) { try { Enumeration<NetworkInterface> enumeration = NetworkInterface.getNetworkInterfaces(); while (enumeration.hasMoreElements()) { NetworkInterface networkInterface = enumeration.nextElement(); if (networkInterface == null) {
continue;
} if (!(networkInterface.getName().equals(startName) ||
networkInterface.getName().startsWith(startName))) {
continue;
} //获取网卡,获取地址
byte[] mac = networkInterface.getHardwareAddress(); if (mac == null || mac.length <= 0) {
continue;
} StringBuilder sb = new StringBuilder(); int i = 0; for (byte b : mac) {
//字节转换为整数
int temp = b & 0xff;
String str = Integer.toHexString(temp); if (!Strings.isNullOrEmpty(symbol) && i == 0) {
sb.append(symbol);
} if (str.length() == 1) {
sb.append("0").append(str);
} else {
sb.append(str);
} i++;
} return sb.toString().toLowerCase(); } } catch (Exception e) {
e.printStackTrace();
} return "";
}
}
JAVA获取指定的类型的本机MAC地址的更多相关文章
- C#获取外网IP、本机MAC地址及Ping的实现
原文 获取外网IP, C#获取本机的MAC地址,C#通过编程方式实现Ping 获取外网IP地址 思路是通过WebRequest连接一些网上提供IP查询服务的网站,下载到含有你的IP的网页,然后用正则表 ...
- java获取获得Timestamp类型的当前系统时间。以及java.util.date 、java.sql.Date之间的转换
java获取取得Timestamp类型的当前系统时间java获取取得Timestamp类型的当前系统时间 格式:2010-11-04 16:19:42 方法1: Timestamp d = new T ...
- java获取获得Timestamp类型的当前系统时间
java获取取得Timestamp类型的当前系统时间java获取取得Timestamp类型的当前系统时间 格式:2010-11-04 16:19:42 方法1: Timestamp d = new T ...
- java获取获得Timestamp类型的当前系统时间。
java获取获得Timestamp类型的当前系统时间. java获取取得Timestamp类型的当前系统时间 格式:2010-11-04 16:19:42 方法1: Timestamp d = n ...
- Java获取本机MAC地址
为什么写这个呢?因为前几天看见网上有采用windows命令获取局域网和广域网MAC,查了查可以直接用JDK的方法. MAC可用于局域网验证,提高安全性. import java.net.InetAdd ...
- 【java】java获取对象属性类型、属性名称、属性值
java获取对象属性类型.属性名称.属性值 获取属性 修饰符:[在Field[]循环中使用] String modifier = Modifier.toString(fields[i].getModi ...
- Java获取本机MAC地址[转]
原文地址:https://www.cnblogs.com/hxsyl/p/3422191.html Java获取本机MAC地址 为什么写这个呢?因为前几天看见网上有采用windows命令获取局域网 ...
- c#中如何获取本机MAC地址、IP地址、硬盘ID、CPU序列号等系统信息
我们在利用C#开发桌面程序(Winform)程序的时候,经常需要获取一些跟系统相关的信息,例如用户名.MAC地址.IP地址.硬盘ID.CPU序列号.系统名称.物理内存等. 首先需要引入命名空间: us ...
- js获取本机mac地址,IP地址,计算机名
<!DOCTYPE HTML> <html> <head> <title>js获取本机mac地址,IP地址,计算机名</title> < ...
随机推荐
- python之 栈与队列
忍不住想报一句粗口"卧槽"这尼玛python的数据结构也太特么方便了吧 想到当初学c语言的数据结构的时候,真的是一笔一划都要自己写出来,这python尼玛直接一个模块就ok 真的是 ...
- 寻找cmd的管理员运行
(快捷键----打开"cmd"----"win+R") 在进行环境配置测试中,有些是需要将cmd用管理员方式来运行才可以,但是,当你在"开始" ...
- DWVA-命令注入漏洞闯关(Command Injection)
前言 Vulnerability: Command Injection LOW级别 代码: <?php if( isset( $_POST[ 'Submit' ] ) ) { // 几首一个变量 ...
- Win10 安装MySQL 5.7.32(解压版)
Win10 安装MySQL 5.7.32(解压版) MySQL 5.7.32 下载 官网下载(速度慢,不推荐使用):https://dev.mysql.com/downloads/mysql/ 清华镜 ...
- 常见web漏洞修复方法
方法如下: 漏洞修复.(输入过滤,输出转义) 1.在连接数据库时,在接收参数后进行转义,$id = mysql_real_escape_string($id); 2.在网页源码中在接收参数后可用htm ...
- Elements-of-Python01_Input/Output
(内容包括输入input,输出print,注释comment,预测类型转换eval,命名与赋值Name & Bestow) 输入Input 和 输出Print Python中利用input() ...
- 如何使用ABBYY FineReader 用户词典识别专业术语?
ABBYY FineReader 15可以说是比较新的版本,在这个版本中能运用强大的光学字符识别技术对PDF文档扫描件.图像等文件进行OCR识别.在识别的过程中,会使用其内置的词典检查识别文字,以获得 ...
- 「LOJ #6500」「雅礼集训 2018 Day2」操作
description LOJ 6500 solution 根据常有套路,容易想到将区间差分转化为异或数组上的单点修改,即令\(b_i=a_i \ xor\ a_{i-1}\), 那么将\([l,l+ ...
- python应用(1):安装与使用
程序员的基本工作是写程序,而写程序要用到编程语言,编程语言可以分为编译型语言跟解释型语言. 编译型语言,就是在执行代码之前,先把源代码编译(加链接)成另一种形式的代码,比如目标代码,或字节码,这种代码 ...
- Invalid operation updata 错误解决方法
错误: huny@DESKTOP-N1EBKQP:/mnt/c/Users/Administrator$ sudo apt-get updata E: Invalid operation updata ...