java 获取计算机名称, ip, mac地址
写在前面
通常所说查询本机mac地址是以以太网为准的, 也就是网线那个口..这种描述略捞.
但是通过java的getHostAddress获取ip以及getHardwareAddress()方法获取mac时, 需要将网络适配器中多余的连接禁用.
像我笔记本上这种, 打开网络连接发现有好多连接(安装了虚拟机的原因), 此时若不禁用虚拟机的连接即使插上了网线, 执行程序查询出来的还是虚拟机的ip和mac地址.
通过测试有以下结果:
1.连接无线网, 插上网线, 同时启用虚拟机网络连接时, 查询出来的是无线网的ip和mac
2.断开无线网, 启用虚拟机网络连接, 插上网线, 查询出来的是虚拟机的ip和mac
3.断开无线网, 禁用虚拟机网络连接, 插上网线,, 查询出来的才是以太网 本地连接3的ip和mac
下图是本机的网络连接和通过ipconfig/all命令查询出来的结果(虚拟机连接尚未禁用时的截图)

测试代码:
package com.ppms.utils; import java.net.InetAddress;
import java.net.NetworkInterface; /**
* Created by liangyadong on 2018/7/26 0026.
*/
public class SystemInfo {
public static void main(String[] args) {
System.out.println("Host Name : "+getSystemName());
System.out.println("Host IP : "+getIPAddress());
System.out.println("Host Address : "+getMAC());
} /**
* Method for get System Name
* @return Host name
*/
private static String getSystemName(){
try{
InetAddress inetaddress=InetAddress.getLocalHost(); //Get LocalHost refrence
String name = inetaddress.getHostName(); //Get Host Name
return name; //return Host Name
}
catch(Exception E){
E.printStackTrace(); //print Exception StackTrace
return null;
}
} /**
* method to get Host IP
* @return Host IP Address
*/
private static String getIPAddress(){
try{
InetAddress inetaddress=InetAddress.getLocalHost(); //Get LocalHost refrence
String ip = inetaddress.getHostAddress(); // Get Host IP Address
return ip; // return IP Address
}
catch(Exception E){
E.printStackTrace(); //print Exception StackTrace
return null;
} } /**
* method to get Host Mac Address
* @return Mac Address
*/
private static String getMAC(){
try{
InetAddress inetaddress=InetAddress.getLocalHost(); //Get LocalHost refrence //get Network interface Refrence by InetAddress Refrence
NetworkInterface network = NetworkInterface.getByInetAddress(inetaddress);
byte[] macArray = network.getHardwareAddress(); //get Harware address Array
StringBuilder str = new StringBuilder(); // Convert Array to String
for (int i = 0; i < macArray.length; i++) {
str.append(String.format("%02X%s", macArray[i], (i < macArray.length - 1) ? "-" : ""));
}
String macAddress=str.toString(); return macAddress; //return MAc Address
}
catch(Exception E){
E.printStackTrace(); //print Exception StackTrace
return null;
}
}
}
执行结果:
Host Name : personal
Host IP : 192.168.1.115
Host Address : F0-1E-34-11-DD-66
可以测试一下~
java 获取计算机名称, ip, mac地址的更多相关文章
- Java获取主板序列号、MAC地址、CPU序列号工具类
import java.io.File; import java.io.FileWriter; import java.io.BufferedReader; import java.io.IOExce ...
- JAVA获取本机的MAC地址
/** * 获取本机的Mac地址 * @return */ public String getMac() { InetAddress ia; byte[] mac = null; try { // 获 ...
- IP地址、计算机名称、MAC地址如何获取
以下的操作都在“命令提示窗口”中操作. 已知IP,如何获得计算机名称 方法(1): 使用ping -i ip地址 例如已知地址为192.168.1.168. 那么使用ping -i 192.168.1 ...
- JAVA获取计算机的IP、名称、操作系统等信息
[java] view plaincopyprint? import java.io.BufferedReader; import java.io.InputStream; import java.i ...
- java获取硬盘ID以及MAC地址
http://blog.csdn.net/coolwzjcool/article/details/6698327 版权声明:本文为博主原创文章,未经博主允许不得转载. 为了达到软件注册,或者说软件和电 ...
- java获取服务器的ip和地址
HttpServletRequest httpRequest=(HttpServletRequest)request; String strBackUrl = "http://" ...
- 通过js获取计算机内网ip,计算机名,mac地址
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xht ...
- JAVA获取本机IP和Mac地址
在项目中,时常需要获取本机的Ip或是Mac地址,进行身份和权限验证,本文就是通过java代码获取ip和Mac. package com.svse.query;import java.net.In ...
- java获取本机IP地址
转载自:http://blog.csdn.net/thunder09/article/details/5360251 在网上找了几个用java获取本机IP地址的代码,发现都少都有些不完美,自己整理了一 ...
随机推荐
- Isilon上数据是如何存放的?
OneFS的文件系统的block size是8KB.这是OneFS上最小的数据存储单位了,比8KB小的文件都要占掉8KB大小的空间.连续的8KB的block会被用来存储文件的数据,但最多不会超过16个 ...
- NLP系列(4)_朴素贝叶斯实战与进阶(转)
http://blog.csdn.net/han_xiaoyang/article/details/50629608 作者: 寒小阳 && 龙心尘 时间:2016年2月. 出处:htt ...
- 转:git设置过滤忽略的文件或文件夹
from: https://www.cnblogs.com/foohack/p/4629255.html git设置过滤忽略的文件或文件夹 我们一般向代码仓库提交项目的时候,一般需要忽略编译生成的 ...
- Shader开发工具: PVRShaman
1. A PVRShaman (.POD) workspace is provided as an example in the Chapter_10/PVR_LinearFog folder tha ...
- XE6入门(二)项目中的文件
XE6中项目文件为DPR,查看方法请参考一下以前写过的博文: "Delphi项目构成之项目文件DPR" 项目文件DPR 通过主菜单[Project | View Source],就 ...
- FireDAC中的SQLite(二)
我们接下来将要使用FDDemo.sdb数据库进行访问,开始我们的第一个SQLite访问例子. 我们的FDDemo.sdb存放目录在:C:\Program Files (x86)\Embarcadero ...
- 解决webstorm本地IP访问页面出错的问题,webstorm支持IP访问
想在手机端访问webstorm做出的页面,遇到了根据IP地址访问页面错误的问题,试了网上的方法:“设置webstorm可以被外部连接访问”,依旧不能解决 解决方法: 在webstorm下:ctrl+a ...
- GPUImage API文档之GPUImageFramebufferCache类
GPUImageFramebufferCache类负责管理GPUImageFramebuffer对象,是一个GPUImageFramebuffer对象的缓存. 方法 - (GPUImageFrameb ...
- Android 八款开源 Android 游戏引擎
原文地址 本文内容 Angle Rokon LGame AndEngine libgdx jPCT Alien3d Catcake 最近无意间看到一篇关于 Android 搜索引擎的文章,于是搜索了, ...
- JAVA的Spring注入机制事例详解
一.前言 最近使用Spring里面的依赖注入,比如StudentServiceImple2.java代码: package di.service.imple; import com.mengya.sp ...