Java根据ip地址获取Mac地址,Java获取Mac地址

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>.

蕃薯耀 2016年8月15日 11:07:55 星期一

http://fanshuyao.iteye.com/

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; public class MacUtils { /**
* 根据IP地址获取mac地址
* @param ipAddress 如:127.0.0.1
* @return
* @throws SocketException
* @throws UnknownHostException
*/
public static String getMac(String ipAddress) throws SocketException,
UnknownHostException {
String str = "";
String macAddress = "";
final String LOOPBACK_ADDRESS = "127.0.0.1";
// 如果为127.0.0.1,则获取本地MAC地址。
if (LOOPBACK_ADDRESS.equals(ipAddress)) {
InetAddress inetAddress = InetAddress.getLocalHost();
// 貌似此方法需要JDK1.6。
byte[] mac = NetworkInterface.getByInetAddress(inetAddress).getHardwareAddress();
// 下面代码是把mac地址拼装成String
StringBuilder sb = new StringBuilder();
for (int i = 0; i < mac.length; i++) {
if (i != 0) {
sb.append("-");
}
// mac[i] & 0xFF 是为了把byte转化为正整数
String s = Integer.toHexString(mac[i] & 0xFF);
sb.append(s.length() == 1 ? 0 + s : s);
}
// 把字符串所有小写字母改为大写成为正规的mac地址并返回
macAddress = sb.toString().trim().toUpperCase();
return macAddress;
} else {
// 获取非本地IP的MAC地址
try {
//System.out.println(ipAddress);
Process p = Runtime.getRuntime().exec("nbtstat -A " + ipAddress);
//System.out.println("===process=="+p);
InputStreamReader ir = new InputStreamReader(p.getInputStream());
BufferedReader br = new BufferedReader(ir); while ((str = br.readLine()) != null) {
if(str.indexOf("MAC") > 1 ){
macAddress = str.substring(str.indexOf("MAC") + 9, str.length());
macAddress = macAddress.trim();
//System.out.println("macAddress:" + macAddress);
break;
}
}
p.destroy();
br.close();
ir.close();
} catch (IOException ex) {
}
return macAddress;
}
} public static void main(String[] args) {
System.out.println(System.currentTimeMillis());
try {
System.out.println(getMac("10.10.16.170"));
} catch (Exception e) {
e.printStackTrace();
}
System.out.println(System.currentTimeMillis());
} }

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>.

蕃薯耀 2016年8月15日 11:07:55 星期一

http://fanshuyao.iteye.com/

Java根据ip地址获取Mac地址,Java获取Mac地址的更多相关文章

  1. java 通过ip获取客户端mac地址

    java 通过ip获取客户端mac地址 package com.asppro.util; import java.io.BufferedReader; import java.io.IOExcepti ...

  2. java通过IP地址获取物理位置

    import java.io.*; import java.util.*; import java.util.regex.Matcher; import java.util.regex.Pattern ...

  3. Java 根据IP获取地址

    用淘宝接口:(源码:java 根据IP地址获取地理位置) pom.xml: <!-- https://mvnrepository.com/artifact/net.sourceforge.jre ...

  4. java版gRPC实战之六:客户端动态获取服务端地址

    欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...

  5. Java获取项目当前请求的全部URL,Java获取Referer,Java获取完整链接地址URL

    Java获取项目当前请求的全部URL,Java获取Referer,Java获取完整链接地址URL >>>>>>>>>>>>> ...

  6. c#中如何获取本机用户名、MAC地址、IP地址、硬盘ID、CPU序列号、系统名称、物理内存

    我们在利用C#开发桌面程序(Winform)程序的时候, 经常需要获取一些跟系统相关的信息, 以下这些代码获取能有些用处. c#中如何获取本机用户名.MAC地址.IP地址.硬盘ID.CPU序列号.系统 ...

  7. 获取Android设备WIFI的MAC地址 “MAC地址”

    需要指出的是:wifi状态和wifi AP状态是互斥的状态:也就是一旦发现WIFI AP打开,WIFI是不能被打开的. 获取Android设备的WIFI MAC地址,首先需要将设备中的WIFI个人热点 ...

  8. 【转】URL短地址压缩算法 微博短地址原理解析 (Java实现)

    转自: URL短地址压缩算法 微博短地址原理解析 (Java实现) 最近,项目中需要用到短网址(ShortUrl)的算法,于是在网上搜索一番,发现有C#的算法,有.Net的算法,有PHP的算法,就是没 ...

  9. 【java】 获取计算机信息及Java信息

    获取计算机名称,操作系统信息,java信息 package com.agen.test1; import java.io.BufferedReader; import java.io.InputStr ...

随机推荐

  1. CycleScrollView实现轮播图

    // //  CycleScrollView.h //  PagedScrollView // //  Created by 李洪强 on 16-1-23. //  Copyright (c) 201 ...

  2. 编译Firebird的源码

    编译步骤:一.下载所需的软件  1.下载FB2.0 RC4       http://optusnet.dl.sourceforge.net/sourceforge/firebird/Firebird ...

  3. dom4j中 selectSingleNode 或selectNodes获取不到节点的原因总结 (转)

    没想到搞个dom4j会出这么多怪错.. 最近在研究XBRL GL的有关内容,在项目中要求吧XBRL GL导入到11179注册库中,根据11179建立数据库,然后从XBRL GL分类标准中导入数据到数据 ...

  4. 三种asp.net 抓取网页源代码

    /// <summary>方法一:比较推荐 /// 用HttpWebRequest取得网页源码 /// 对于带BOM的网页很有效,不管是什么编码都能正确识别 /// </summar ...

  5. access 导数据到sql server 2008

    使用sp_configure启用'Ad Hoc Distributed Queries'解决 1.启用Ad Hoc Distributed Queries:exec sp_configure 'sho ...

  6. [C# 网络编程系列]专题十:实现简单的邮件收发器

    转自:http://www.cnblogs.com/zhili/archive/2012/09/24/2689892.html 引言: 在我们的平常工作中,邮件的发送和接收应该是我们经常要使用到的功能 ...

  7. [C# 网络编程系列]专题四:自定义Web浏览器

    转自:http://www.cnblogs.com/zhili/archive/2012/08/24/WebBrowser.html 前言: 前一个专题介绍了自定义的Web服务器,然而向Web服务器发 ...

  8. EF多表查询方式

    5, 连接 可以的连接有Join 和 GroupJoin 方法.GroupJoin组联接等效于左外部联接,它返回第一个(左侧)数据源的每个元素(即使其他数据源中没有关联元素). using (var ...

  9. ARM学习笔记5——程序状态寄存器

    当前程序状态寄存器CPSR可以在任何位处理器模式下被访问,它包含条件码标志.中断控制.当前处理器模式以及其他状态和控制信息.CPSR的结构图如下: 一.条件标志位 CPSR最高4位:N(Negativ ...

  10. jQuery 参考手册 - 文档操作

    上传图片时页面崩溃..全部付之东流 addClass() after() append() appendTo() attr() before() clone() detach() empty() ha ...