java获取本机名称、IP、MAC地址和网卡名称
java获取本机名称、IP、MAC地址和网卡名称
摘自:https://blog.csdn.net/Dai_Haijiao/article/details/80364370
-
import java.net.InetAddress;
-
import java.net.NetworkInterface;
-
-
public class IpConfig {
-
@SuppressWarnings("static-access")
-
public static void main(String[] args) throws Exception {
-
InetAddress ia = null;
-
try {
-
ia = ia.getLocalHost();
-
String localname = ia.getHostName();
-
String localip = ia.getHostAddress();
-
System.out.println("本机名称是:" + localname);
-
System.out.println("本机的ip是 :" + localip);
-
} catch (Exception e) {
-
e.printStackTrace();
-
}
-
InetAddress ia1 = InetAddress.getLocalHost();// 获取本地IP对象
-
System.out.println("本机的MAC是 :" + getMACAddress(ia1));
-
}
-
-
// 获取MAC地址的方法
-
private static String getMACAddress(InetAddress ia) throws Exception {
-
// 获得网络接口对象(即网卡),并得到mac地址,mac地址存在于一个byte数组中。
-
byte[] mac = NetworkInterface.getByInetAddress(ia).getHardwareAddress();
-
// 下面代码是把mac地址拼装成String
-
StringBuffer sb = new StringBuffer();
-
for (int i = 0; i < mac.length; i++) {
-
if (i != 0) {
-
sb.append("-");
-
}
-
// mac[i] & 0xFF 是为了把byte转化为正整数
-
String s = Integer.toHexString(mac[i] & 0xFF);
-
// System.out.println("--------------");
-
// System.err.println(s);
-
sb.append(s.length() == 1 ? 0 + s : s);
-
}
-
// 把字符串所有小写字母改为大写成为正规的mac地址并返回
-
return sb.toString().toUpperCase();
-
}
-
}
输出结果如下:
本机名称是:PC-DaiHaijiao
本机的ip是 :172.16.0.31
本机的MAC是 :00-FF-0D-99-5E-1E
-
import java.net.Inet4Address;
-
import java.net.InetAddress;
-
import java.net.NetworkInterface;
-
import java.util.Enumeration;
-
-
public class NetworkInterfaceTest {
-
-
public static void main(String[] args) throws Exception {
-
// 获得本机的所有网络接口
-
Enumeration<NetworkInterface> nifs = NetworkInterface.getNetworkInterfaces();
-
while (nifs.hasMoreElements()) {
-
NetworkInterface nif = nifs.nextElement();
-
// 获得与该网络接口绑定的 IP 地址,一般只有一个
-
Enumeration<InetAddress> addresses = nif.getInetAddresses();
-
while (addresses.hasMoreElements()) {
-
InetAddress addr = addresses.nextElement();
-
if (addr instanceof Inet4Address) { // 只关心 IPv4 地址
-
System.out.println("网卡接口名称:" + nif.getName());
-
System.out.println("网卡接口地址:" + addr.getHostAddress());
-
System.out.println();
-
}
-
}
-
}
-
}
-
}
输出结果如下:
网卡接口名称:lo
网卡接口地址:127.0.0.1
网卡接口名称:eth0
网卡接口地址:172.16.0.31
网卡接口名称:eth2
网卡接口地址:192.168.220.1
网卡接口名称:wlan2
网卡接口地址:192.168.0.108
网卡接口名称:eth8
网卡接口地址:192.168.138.1
java获取本机名称、IP、MAC地址和网卡名称的更多相关文章
- c#中如何获取本机用户名、MAC地址、IP地址、硬盘ID、CPU序列号、系统名称、物理内存
我们在利用C#开发桌面程序(Winform)程序的时候, 经常需要获取一些跟系统相关的信息, 以下这些代码获取能有些用处. c#中如何获取本机用户名.MAC地址.IP地址.硬盘ID.CPU序列号.系统 ...
- java 获取计算机名称, ip, mac地址
写在前面 通常所说查询本机mac地址是以以太网为准的, 也就是网线那个口..这种描述略捞. 但是通过java的getHostAddress获取ip以及getHardwareAddress()方法获取m ...
- Java获取本机的IP与MAC地址
有些机器有许多虚拟的网卡,获取IP地址时会出现一些意外,所以需要一些验证: // 获取mac地址 public static String getMacAddress() { try { Enumer ...
- win32 获取本机网卡信息(MAC地址,IP地址等)
由于一个需求需要获取网卡的MAC地址,就搜了一下,大部分都是COPY来COPY去的一些代码,有很多甚至不能直接运行或有还有内存泄漏.自己查了一下MSDN然后封装了一下: 需要注意,一个机器可能有多个网 ...
- java 获取本机的IP地址
方法一:这种方式有一定的局限性,在Linux下的执行结果是:本机的IP = xxx/127.0.1.1 (其中xxx是你的计算机名) public void getLocalIPAddress() { ...
- java 获取本机所有IP地址
import java.net.Inet6Address; import java.net.InetAddress; import java.net.NetworkInterface; import ...
- JAVA获取本机IP和Mac地址
在项目中,时常需要获取本机的Ip或是Mac地址,进行身份和权限验证,本文就是通过java代码获取ip和Mac. package com.svse.query;import java.net.In ...
- Java获取本机MAC地址[转]
原文地址:https://www.cnblogs.com/hxsyl/p/3422191.html Java获取本机MAC地址 为什么写这个呢?因为前几天看见网上有采用windows命令获取局域网 ...
- java获取本机IP地址
转载自:http://blog.csdn.net/thunder09/article/details/5360251 在网上找了几个用java获取本机IP地址的代码,发现都少都有些不完美,自己整理了一 ...
随机推荐
- Ajax做无刷新三级联动
1.引入JS and Jquery包 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " ...
- PhotoShop使用指南(2)——下雨动画效果
第一步: 第二步: 第三步: 第四步:
- 加密算法之BLOWFISH算法
加密信息 BlowFish算法用来加密64Bit长度的字符串. BlowFish算法使用两个"盒"--ungignedlongpbox[18]和unsignedlongsbox[4 ...
- 搭建了一个Apache+Php+MySQL的服务器。要如何通过Apache发布网站使得其他的电脑可以通过局域网访问?
源址: 1.网站的代码放在文件夹“www”下: 2.配置apache允许他人访问网站:在wamp/apache/apache版本/conf的httpd.conf文件修改代码如下: Optio ...
- 浅谈FFT(快速傅里叶变换)
本文主要简单写写自己在算法竞赛中学习FFT的经历以及一些自己的理解和想法. FFT的介绍以及入门就不赘述了,网上有许多相关的资料,入门的话推荐这篇博客:FFT(最详细最通俗的入门手册),里面介绍得很详 ...
- HAWQ 官方文档创建filespace,tablespace,database,table
1.创建Filespace 创建Filespace必须是数据库超级用户( You must be a database superuser to create a filespace.)首先创建一个f ...
- LeetCode 315. Count of Smaller Numbers After Self
原题链接在这里:https://leetcode.com/problems/count-of-smaller-numbers-after-self/ 题目: You are given an inte ...
- CAS单点登录系统简介
一.cas简介 全名:Central Authentication Service特点: 1.开源的.多协议的 SSO 解决方案: Protocols : Custom Protocol . CAS ...
- JavaScript实现继承的几种重要范式
一 原型链 1. 代码示例 function SuperType() { this.superProperty = true; } SuperType.prototype.getSuperValue ...
- Hibernate检索方式(转载)
我们在项目应用中对数据进行最多的操作就是查询,数据的查询在所有ORM框架中也占有极其重要的地位. 那么,如何利用Hibernate查询数据呢?Hibernate为我们提供了多种数据查询的方式,又称为H ...