Java获取本地IP和mac地址

news/2025/2/14 6:10:05/

经常在项目中遇到获取本地IP和mac的需求,下面给一个以java编写的例子,代码如下:

import java.net.InetAddress;
import java.net.NetworkInterface;
import java.net.SocketException;
import java.net.UnknownHostException;public class NetworkInfo {public static void main(String[] args) {try {InetAddress ipAddress = InetAddress.getLocalHost();System.out.println("IP Address: " + ipAddress.getHostAddress());NetworkInterface networkInterface = NetworkInterface.getByInetAddress(ipAddress);byte[] macAddressBytes = networkInterface.getHardwareAddress();StringBuilder macAddress = new StringBuilder();for (int i = 0; i < macAddressBytes.length; i++) {macAddress.append(String.format("%02X%s", macAddressBytes[i], (i < macAddressBytes.length - 1) ? "-" : ""));}System.out.println("MAC Address: " + macAddress.toString());} catch (UnknownHostException | SocketException e) {e.printStackTrace();}}
}

这段代码将打印出请求端的IP地址和MAC地址。

请注意,获取MAC地址可能需要具有适当的权限,并且在某些情况下可能无法获取到准确的MAC地址。


http://www.ppmy.cn/news/1264290.html

相关文章

未用的引脚如何处理?--持续更新中

前言&#xff1a; 随着集成电路规模的越来越大&#xff0c;如今的大规模芯片都集成了很多功能模块&#xff0c;但是在实际的电路设计中我们又不可能把芯片所有的功能模块(或者说接口)全部用上&#xff0c;因此总会有或多或少的管脚会“用不上”&#xff0c;那这些未用的管脚一般…

安全扫描五项简介

目录 安扫五项 1.代码检测 2.主机基线 nginx合规检查 麒麟基线 3.WEB扫描 4.渗透测试 用户枚举漏洞 漏洞描述 修复建议 点击劫持漏洞 漏洞描述 修复建议 XSS漏洞 漏洞描述 修复建议 3.主机漏洞 超高危漏洞 高危漏洞 中危漏洞 低危漏洞 信息漏洞 参考信息…

Spring Boot学习随笔-SpringBoot的引言,回顾传统SSM开发

学习视频&#xff1a;【编程不良人】2021年SpringBoot最新最全教程 第一章、传统SSM开发回顾以及问题 Spring SpringMVC Mybatis SSM 实现一个简单功能 员工添加、查询… SSM项目简单实现 项目 需求分析 —>概要设计 —>&#xff08;库表设计&#xff09; —> 详细…

【FPGA】Verilog:计数器 | 异步计数器 | 同步计数器 | 2位二进制计数器的实现 | 4位十进制计数器的实现

目录 Ⅰ. 实践说明 0x00 计数器(Counter) 0x01 异步计数器(Asynchronous Counter)

Redis中持久化策略RDB与AOF优缺点对比

Redis持久化策略对比 RDBAOF持久化方式定时对整个内存做快照记录每一次执行的命令数据完整性不完整,两次备份之间存在丢失相对完整,取决于刷盘策略文件大小会有压缩,文件体积小记录命令,文件体积较大宕机恢复速度很快慢数据恢复优先级低,数据完整性不如AOF高,记录了执行命令数据…

python pyaudio显示音频波形图

python pyaudio显示音频波形图 代码如下&#xff1a; import numpy as np import matplotlib.pylab as plb import wave# 读取 wav wf wave.open("./output.wav", "rb")# 获取音频相关参数&#xff1a;声道数、量化位数、采样频率、采样帧数 nchannels,…

TCP对数据的拆分

应用程序的数据一般都比较大&#xff0c;因此TCP会按照网络包的大小对数据进行拆分。 当发送缓冲区中的数据超过MSS的长度&#xff0c;数据会被以MSS长度为单位进行拆分&#xff0c;拆分出来的数据块被放进单独的网路包中。 根据发送缓冲区中的数据拆分情况&#xff0c;当判断…

(C)一些题11

1. #include<stdio.h> #include<string.h> void main() { char *s1"ABCDEF"&#xff0c;*s2"aB"&#xff1b; s1; s2; puts(s1)&#xff1b; puts(s2)&#xff1b; printf("%d\n",strcmp(s1,s2))&#xff1b; } 答案&#xff1…