以windows举例。
运行命令" cmd ipconfig /all"就会出现以下结果
Physical Address. . . . . . . . . : 20-CF-30-9A-60-EE
。
java就能过这样的命令来获取。以下是示例。
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class TestMac
{
public static void main(String[] args) {
System.out.println("Operation System=" + getOsName());
System.out.println("Mac Address=" + getMACAddress());
System.out.println("通过ip获取mac"+getMACAddress("192.168.1.101"));
}
public static String getOsName() {
String os = "";
os = System.getProperty("os.name");
return os;
}
public static String getMACAddress() {
String address = "";
String os = getOsName();
if (os.startsWith("Windows")) {
try {
String command = "cmd.exe /c ipconfig /all";
Process p = Runtime.getRuntime().exec(command);
BufferedReader br = new BufferedReader(new InputStreamReader(p.getInputStream()));
String line;
while ((line = br.readLine()) != null) {
if (line.indexOf("Physical Address") > 0) {
int index = line.indexOf(":");
index += 2;
address = line.substring(index);
break;
}
}
br.close();
return address.trim();
} catch (IOException e) {
}
} else if (os.startsWith("Linux")) {
String command = "/bin/sh -c ifconfig -a";
Process p;
try {
p = Runtime.getRuntime().exec(command);
BufferedReader br = new BufferedReader(new InputStreamReader(p.getInputStream()));
String line;
while ((line = br.readLine()) != null) {
if (line.indexOf("HWaddr") > 0) {
int index = line.indexOf("HWaddr") + "HWaddr".length();
address = line.substring(index);
break;
}
}
br.close();
} catch (IOException e) {
}
}
address = address.trim();
return address;
}
public static String getMACAddress(String ipAddress) {
String str = "", strMAC = "", macAddress = "";
try {
Process pp = Runtime.getRuntime().exec("nbtstat -a " + ipAddress);
InputStreamReader ir = new InputStreamReader(pp.getInputStream());
LineNumberReader input = new LineNumberReader(ir);
for (int i = 1; i < 100; i++) {
str = input.readLine();
if (str != null) {
if (str.indexOf("MAC Address") > 1) {
strMAC = str.substring(str.indexOf("MAC Address") + 14,
str.length());
break;
}
}
}
} catch (IOException ex) {
return "Can't Get MAC Address!";
}
//
if (strMAC.length() < 17) {
return "Error!";
}
macAddress = strMAC.substring(0, 2) + ":" + strMAC.substring(3, 5)
+ ":" + strMAC.substring(6, 8) + ":" + strMAC.substring(9, 11)
+ ":" + strMAC.substring(12, 14) + ":"
+ strMAC.substring(15, 17);
//
return macAddress;
}
}
ip地址
import java.util.*;
import java.net.*
;public class getMyIP {
public static void main(String[] args) {
String IP = null; String host = null;
try {
InetAddress ia = InetAddress.getLocalHost();
host = ia.getHostName();//获取计算机名字
IP= ia.getHostAddress();//获取IP
} catch(UnknownHostException e) {
e.printStackTrace();
}
System.out.println(host);
System.out.println(IP);
}
}
相关推荐
"根据MAC地址生成服务器唯一机器码"这一技术就是基于这个需求而诞生的。MAC地址(Media Access Control Address)是网络硬件设备的物理地址,如网卡、交换机等,它是全球唯一的。利用MAC地址生成的机器码可以作为...
得到机器的MAC,硬盘序列序列号和IP地址 public static void main(String[] args) ...{ String osName = System.getProperty("os.name"); StringBuffer systemPathBuff = new StringBuffer(""); if (osName.index...
- **数据中心ID和工作节点ID**:这两个参数可以通过多种方式动态获取,如通过获取机器的MAC地址、IP地址等方式,这使得系统能够轻松地扩展到更多的数据中心或工作节点。 - **序列号设计**:序列号采用12位,意味着每...
为了解决这个问题,我们需要从多方面考虑,包括时间戳、随机数、线程ID、进程ID、MAC 地址、IP 地址、CPU 序列号等。下面我们将详细介绍四种解决方案。 方案一:使用时间戳和随机数 在没有并发的情况下,我们可以...
IP地址 用于处理IPv4和IPv6的IP地址和子网的库 ,打包为OSGI软件包,... 需要Java 8或更高版本,具有MAC地址支持,与IPv6的EUI-48和EUI-64 MAC集成,新地址框架,新的IP字符串格式已解析和生成以及其他附加功能 需要
本文将详细介绍如何在Android应用中获取IMSI(国际移动用户识别码)、IMEI(国际移动设备识别码)、MAC地址、IP地址、当前时间、经纬度以及网络类型。 首先,让我们了解这些概念: 1. **IMSI**:IMSI是手机用户在...
15. **其他编程题目**:包括 C 语言编程题,如循环计数、字符串大小写转换、判断回文数、素数生成、进程同步等问题,以及链表、二叉树操作,网络协议及硬件相关知识,如物理层设备、MAC 地址、传输层协议、VLAN、...
- **首次登录**:用户在首次登录时,服务器记录该设备的标识(例如,浏览器的User-Agent字符串、IP地址、操作系统信息等),并生成一个与该设备关联的密钥。 - **后续登录**:当同一账号尝试在另一台设备上登录时...
这可以是IP地址、MAC地址或者是自定义的工作节点ID,确保在多节点系统中不会冲突。 3. **序列号**:每个节点在给定时间内的连续请求会被分配一个序列号,这个序列号通常是循环利用的,以保证在高并发情况下仍能生成...
4. IP地址与MAC地址:通过识别用户的IP地址和MAC地址,可以追踪用户设备,但考虑到代理服务器、动态IP分配等因素,这种方法准确性有限。 二、计数策略 1. 实时计数:实时统计在线用户,通常适用于高并发、对实时性...
- **员工信息管理**:管理员有权查看所有员工的基本信息,如IP地址、MAC地址、员工ID等,并具有相应的修改权限。 - **考勤情况查询**:管理员能够查询每个员工的考勤情况,包括当月到勤次数、迟到时间以及根据这些...
1. **GOOSE报文的创建**:生成符合IEC61850规范的GOOSE报文,包括设置源MAC地址、VLAN ID、GOOSE ID、数据集(MMS变量)等参数。 2. **GOOSE报文的解析**:接收GOOSE报文并解析其内容,提取所需信息,如源站、目标...
首先,我们需要三台虚拟机,分别命名为master、slaves01和slaves02,分配不同的IP地址和MAC地址。 1. **主机配置**: - **IP地址**:通过`ip addr`命令查看IP地址,然后编辑`/etc/sysconfig/network-scripts/ifcfg...
系统主机名与IP地址分配如下: - hadoop1 (namenode): eth0 - 192.168.211.100/24, gw - 192.168.211.1 - hadoop2 (datanode): eth0 - 192.168.211.101/24, gw - 192.168.211.1 接下来,Hadoop环境的搭建需要安装...
- **ARP**(Address Resolution Protocol):ARP命令用于查看和修改IP地址与物理地址(MAC地址)之间的转换表。`ARP -s`用于添加静态映射,`ARP -d`用于删除映射,`ARP -a`用于显示全部映射。 - **Ipconfig**:这...
- 为每个从节点设置不同的静态IP地址,确保它们在同一网段且不冲突,使用桥接模式连接网络。 6. **建立互信关系**: - 在主节点上生成SSH密钥对:`ssh-keygen`。 - 将主节点的公钥复制到所有从节点:`cat ~/.ssh...
2. **MAC地址获取**:通过socket和ioctl调用来获取设备的MAC地址,真机通常会显示`wlan0`的IP和MAC地址,而模拟器则显示`eth0`的信息。 3. **系统属性检查**:使用`__system_property_get()`函数获取`ro.boot....
常用工具类 Snowflake算法生成的分布式高效ID 把时间戳,工作机器id,序列号组合在...机器级的话你可以使用MAC地址来唯一标示工作机器,工作进程级可以使用IP+Path来区分工作进程。如果工作机器比较少,可以使用配置
Device ID之争是指Android和iOS设备的标识符,包括IMEI、IMSI、UDID、Mac地址、OpenUDID、SecureUDID等。 六、自定义ID 自定义ID可以根据设备参数自己生成,可以本地缓存(多处存储),防止形成信息孤岛。 七、...
为了方便访问集群中的各节点,需要在每个节点上配置`/etc/hosts`文件,添加各节点的IP地址和主机名映射。例如: ``` 192.168.145.128 hadoop-node-01 hadoop01 192.168.145.129 hadoop-node-02 hadoop02 192.168....