package com.cn;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.InetAddress;
import java.net.NetworkInterface;
import java.net.SocketException;
import java.net.UnknownHostException;
import java.util.ArrayList;
import java.util.Enumeration;
import java.util.List;
public class Test001 {
/**
* 获取本机所有IP
*/
private static String[] getAllLocalHostIP() {
List<String> res = new ArrayList<String>();
Enumeration netInterfaces;
try {
netInterfaces = NetworkInterface.getNetworkInterfaces();
InetAddress ip = null;
while (netInterfaces.hasMoreElements()) {
NetworkInterface ni = (NetworkInterface) netInterfaces
.nextElement();
Enumeration nii = ni.getInetAddresses();
while (nii.hasMoreElements()) {
ip = (InetAddress) nii.nextElement();
if (ip.getHostAddress().indexOf(":") == -1) {
res.add(ip.getHostAddress());
System.out.println("本机的ip=" + ip.getHostAddress());
}
}
}
} catch (SocketException e) {
e.printStackTrace();
}
return (String[]) res.toArray(new String[0]);
}
/**
* 获取本机所有物理地址
*
* @return
*/
public static String getMacAddress() {
String mac = "";
String line = "";
String os = System.getProperty("os.name");
if (os != null && 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()));
while ((line = br.readLine()) != null) {
if (line.indexOf("Physical Address") > 0) {
int index = line.indexOf(":") + 2;
mac = line.substring(index);
break;
}
}
br.close();
} catch (IOException e) {
}
}
return mac;
}
public String getMacAddress(String host) {
String mac = "";
StringBuffer sb = new StringBuffer();
try {
NetworkInterface ni = NetworkInterface.getByInetAddress(InetAddress
.getByName(host));
byte[] macs = ni.getHardwareAddress();
for (int i = 0; i < macs.length; i++) {
mac = Integer.toHexString(macs[i] & 0xFF);
if (mac.length() == 1) {
mac = '0' + mac;
}
sb.append(mac + "-");
}
} catch (SocketException e) {
e.printStackTrace();
} catch (UnknownHostException e) {
e.printStackTrace();
}
mac = sb.toString();
mac = mac.substring(0, mac.length() - 1);
return mac;
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Test001.getAllLocalHostIP();
System.out.println(Test001.getMacAddress());
}
}
运行结果:
本机的ip=127.0.0.1
本机的ip=10.15.3.143
00-13-72-78-A3-8C
分享到:
相关推荐
获取计算机的mac地址和ip地址,mac地址返回的是一个list,ip地址是string
主要介绍了java编程实现获取机器IP地址及MAC地址的方法,实例分析了Java分别针对单网卡及多网卡的情况下获取服务器IP地址与MAC地址的相关技巧,需要的朋友可以参考下
java 获取计算机名与IP地址 java 获取计算机名与IP地址 java 获取计算机名与IP地址
获取客户端ip地址( 这个必须从客户端传到后台): jsp页面下,很简单,request....因为系统的VIew层是用JSF来实现的,因此页面上没法直接获得类似request,在bean里做了个强制转换java 获取客户端ip mac地址
获取用户请求IP地址 根据IP地址获取mac地址
java获取ipjava获取ipjava获取ipjava获取ipjava获取ipjava获取ipjava获取ipjava获取ip
java获取访问者的IP地址,适用于web开发。注意:如果是本地测试的话,通过localhost访问的时候ip显示为0:0:0:0:0:0:0:1,这代表的是本地,可以将localhost换成127.0.0.1时,显示的是当前访问的ip地址
使用java获取所在局域网的所有在用ip,可以检测目前有哪些ip在使用
此java类获取的是公网的IP地址,如想获取本机IP但不是公网IP查看我其他资源。
Java获取客户端真实IP地址
得到机器的MAC,硬盘序列序列号和IP地址 public static void main(String[] args) ...{ String osName = System.getProperty("os.name"); StringBuffer systemPathBuff = new StringBuffer(""); if (osName.index...
纯JAVA实现修改本地IP地址(swing界面版),支持存储多个预设IP,可以切换使用(IO流实现),支持删除。
NULL 博文链接:https://fanshuyao.iteye.com/blog/2436489
在对网内主机进行监控时需要通过java获取远程机器的mac地址
java中通过ip获取远程客户端的mac地址,支持跨平台
Java,运用了多线程内部执行,不影响其他登录验证操作。在Controller类获取客户端的IP地址的方法是:request....所以我们这里添加了条件验证,将客户端IP及Mac地址(同网段)与本地本地IP及Mac地址方法分开。
首先寻找并打开适合的网络适配器,然后根据输入的局域网 IP 地址构造 ARP 的数据包,然后通过 Java 对网卡数据捕获需要用到 jpcap,jpcap 调用 wincap 实现数据包的发送,并监听返回的...IP 地址和物理地址并打印。
JAVA发送邮件和获取ip地址,测试时请先去SimpleMailSender类send方法设置自己发送邮件的邮箱和发送给哪个邮箱。
Java ip 地址排序Java ip 地址排序Java ip 地址排序Java ip 地址排序
Java中通过NetworkInterface获取主机地址和物理地址等;Java中通过NetworkInterface获取主机地址和物理地址等;Java中通过NetworkInterface获取主机地址和物理地址等