获取所有IP

 /*** 获取该主机上所有网卡的ip*/public static ArrayList<String> getAllHostIp(){ArrayList<String> hostAddress = new ArrayList<>();try{Enumeration<NetworkInterface> allNetInterfaces = NetworkInterface.getNetworkInterfaces();while (allNetInterfaces.hasMoreElements()){NetworkInterface netInterface = (NetworkInterface) allNetInterfaces.nextElement();Enumeration<InetAddress> addresses = netInterface.getInetAddresses();while (addresses.hasMoreElements()){InetAddress ip = (InetAddress) addresses.nextElement();if (ip instanceof Inet4Address&& !ip.isLoopbackAddress() //loopback地址即本机地址,IPv4的loopback范围是127.0.0.0 ~ 127.255.255.255&& !ip.getHostAddress().contains(":")){hostAddress.add(ip.getHostAddress());}}}}catch(Exception e){e.printStackTrace();}return hostAddress;}

结果:

[192.168.239.1, 192.168.41.1, 192.168.2.169, 192.168.7.200, 192.168.6.200]

获取本机名、IP、MAC地址

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地址拼装成StringStringBuffer 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

获取网卡名和IP

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.168.1.100

网卡接口名称:eth1
网卡接口地址:172.168.1.200

Java获取本机名称、网卡名称、IP、MAC相关推荐

  1. Java 获取本机的外网 IP

    原理 通过 HTTP 访问第三方获取 IP 的服务接口获取本机的外网 IP,例如: http://checkip.amazonaws.com/ https://ipv4.icanhazip.com/ ...

  2. Java获取本机的ip地址和Mac地址

    Java获取本机的ip地址 //得到IP,InetAddress ia = InetAddress.getLocalHost();String ip=ia.toString().split(" ...

  3. 用java获取本机IP地址

    在网上找了几个用java获取本机IP地址的代码,发现都少都有些不完美,自己整理了一下.突然之间很想把自己的IP地址给获取了,虽然用系统自带命令可以得到,但自己想写一个程序获取一下,到网上搜索了一下ja ...

  4. Java获取(外网)网络IP和本机真实IP Java获取真实IP Java获取真实ip Java获取本机ip Java获取 本机真实ip

    /*** IP地址相关工具类*/ public class IpUtil {private static final Logger logger = LoggerFactory.getLogger(I ...

  5. 常识-java获取本机ipv6地址以及关闭临时ipv6地址

    关闭临时ipv6地址 临时ipv6有助于本机安全,然而有时用不到,比如用其进行长久的ftp链接,随时待命是不合适的 右键管理员cmd,输入命令关闭临时ipv6 netsh interface ipv6 ...

  6. java 获取已有字体,java获取本机全部可用字体

    java获取本机所有可用字体 //just for fun,那个28个字母的函数满满都是恶心 import java.awt.GraphicsEnvironment ; class Tester { ...

  7. 多个ip对应的是同一个mac_Python3+Scapy安装使用 + 查询本机对应网卡,IP,MAC代码...

    安装 直接使用pip安装 pip install -i https://pypi.tuna.tsinghua.edu.cn/simple scapy 一些扩展功能,可选: pip install -i ...

  8. java获取本机IP

    如果是在windows环境: 使用InetAddress.getLocalHost()方法即可. import java.net.InetAddress;public class Main {publ ...

  9. 获取本机所有网卡的网卡名、网卡描述、网卡MAC地址、网卡IP、网卡类型等信息及网线是否插入状态

    使用windows sdk提供的API函数GetAdaptersInfo()可以获得本机所有网卡的网卡名.网卡描述.网卡MAC地址.网卡IP.网卡类型等信息,并用IP_ADAPTER_INFO结构体存 ...

最新文章

  1. wxWidgets:wxScrollEvent类用法
  2. 合并果子_tyvj1066_vijos1097_codevs1063_贪心+堆
  3. 英语发音规则---S字母
  4. [原] Android 自定义View 密码框 例子
  5. 十分钟上手 React+MirrorX,从此前端大神代码不再难懂 | 原力计划
  6. C++入门复习指南,C++Primer读书笔记
  7. Android判断是否使用MediaCodec硬解码(十二)
  8. Git 分支及bug分支合并
  9. 数值计算方法matlab课后答案,《现代的数值计算方法matlab版》习题解答.pdf
  10. java简历项目经验描述,分分钟搞定!
  11. 软件测试的基本理论与方法
  12. Python_pandas读取数据
  13. 教你用 Python 快速批量转换 HEIC 文件
  14. 数三退一问题||拉手成圈出圈问题
  15. 机器学习40讲-12正则化处理:收缩方法与边际化
  16. 照亮无尽前沿之路:华为正成为科技灯塔的守护者
  17. oracle ebs用什么开发,ORACLEERP开发基础之EBS开发基础
  18. HTTP之原理,长短连接,响应码,三握四挥,八种方法
  19. 利用计算机网线传东西,两个电脑用网线传东西_两台电脑用网线传文件
  20. SpringBoot-FastDFS

热门文章

  1. HIbernate中的事务
  2. [斜率优化DP] codeforces 673E. Levels and Regions
  3. 简述promise原理
  4. wordpress页面_查看#1 WordPress页面构建器
  5. php笔试攻略,常见的php笔试题(附答案)搜集整理
  6. 如何把sql查询出来的结果当做另一个sql的条件查询
  7. 蜻蜓FM如何诈骗投资人和广告主源代码剖析
  8. 为什么eclipse运行显示没有在main方法
  9. 中标麒麟mips64le架构安装minio
  10. 泛在电力物联网建设大纲解读及落地建议