啦啦啦

package com.xindatai.common.util;

import java.io.InputStream;
import java.util.regex.Matcher;
import java.util.regex.Pattern; public class Lime { public static void main(String[] args) throws Exception {
String mac = getMacAdderss("192.168.10.10");
System.out.println(mac);
} /**
* 获取mac地址
*
* @author Liang
*
* 2017年4月26日
*/
private static String getMacAdderss(String ip) throws Exception {
if(ping(ip)){
String result = command("arp -a " + ip);
String regExp = "([0-9A-Fa-f]{2})([-:][0-9A-Fa-f]{2}){5}";
Pattern pattern = Pattern.compile(regExp);
Matcher matcher = pattern.matcher(result);
StringBuilder mac = new StringBuilder();
// 对字符串进行匹配,匹配到的字符串可以在任何位置
while(matcher.find()){
// 返回匹配到的子字符串
String temp = matcher.group();
mac.append(temp);
}
return mac.toString();
}
return null;
} /**
* ping ip
*
* @param ip
*
* @return
*
* @author Liang
*
* 2017年4月26日
*/
private static boolean ping(String ip) throws Exception {
String os = getOsName();
String ping = "";
if(os.startsWith("Windows")){
ping = "ping " + ip + " -n 2";
}else if(os.startsWith("Linux")){
ping = "ping " + ip + " -c 2";
}
String result = command(ping);
if(result.contains("TTL") || result.contains("ttl")){
return true;
}
return false;
} /**
* 执行单条指令
*
* @param cmd 命令
*
* @return 执行结果
*
* @author Liang
*
* 2017年4月26日
*/
private static String command(String cmd) throws Exception {
Process process = Runtime.getRuntime().exec(cmd);
process.waitFor();
InputStream in = process.getInputStream();
StringBuilder result = new StringBuilder();
byte[] data = new byte[256];
while(in.read(data) != -1){
// 操作系统中的编码方式
String encoding = System.getProperty("sun.jnu.encoding");
result.append(new String(data,encoding));
}
return result.toString();
} private static String getOsName() {
return System.getProperty("os.name");
}
}

啦啦啦

Java -- 获取MAC地址的更多相关文章

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

    Java根据ip地址获取Mac地址,Java获取Mac地址 >>>>>>>>>>>>>>>>>&g ...

  2. 在Web中获取MAC地址

    很多时候都很难琢磨客户在想什么,也许是自己业务经验不足,也许是客户要显示出他在软件方面也非常的专业.记得以前听过一个故事,说一个富人想娶个媳妇,然后他比较钟意的有三个女人,然后就想从三个女人中选一个, ...

  3. (转)【Android】获取Mac地址【2】

    [Android]获取Mac地址[2] 之前写了[Android]获取Mac地址[1]有些不够详细,现在贴上一些其他代码,仅供参考. (1) 调用android 的API: NetworkInterf ...

  4. php怎么获取mac地址?

    如何用php获取mac地址呢?大家知道mac地址是电脑在全球范围的唯一标识,所以这个就非常实用,比如说要做一个投票功能,那mac地址是必不可少 的,如果单纯的靠ip地址来判断这个肯定是不准确的,水分太 ...

  5. C# 获取MAC地址

    /********************************************************************** * C# 获取MAC地址 * 说明: * 在C#中获取本 ...

  6. c++ windows 获取mac地址

    c++ windows 获取mac地址 GetAdaptersInfo 用windows api获取mac地址和硬盘id编号 aa

  7. python 获取 mac 地址 的代码

    python 获取 mac 地址 的例子,有需要的朋友可以参考下. #!/bin/python import os import re def GetMac():     if os.name ==  ...

  8. android获取Mac地址和IP地址

    获取Mac地址实际项目中测试了如下几种方法:(1)设备开通Wifi连接,获取到网卡的MAC地址(但是不开通wifi,这种方法获取不到Mac地址,这种方法也是网络上使用的最多的方法) //根据Wifi信 ...

  9. Java获取ip地址的几种方法

    以下内容介绍下java获取ip地址的几种思路. 1.直接利用java.net.InetAddress类获取,不过这种方法只在windows环境下有效,在linux环境下只能获取localhost地址( ...

随机推荐

  1. Redis源码研究—基础知识

    1. Redis 是什么 Redis是一个开源的使用ANSI C语言编写的基于内存的key/value存储系统,与memcache类似,但它支持的value类型更多,包括:字符串(string).链表 ...

  2. Python - 连接msql数据库

    可能出现的异常:python中出现SyntaxError: Non-UTF-8 code 解决方法 刚开始一直有用idle写代码,今天用了一下PyDev结果发现中文不支持,在网上搜了一下,结果发现解决 ...

  3. 微信小程序——picker通过value返回你想获取的值

    关于微信小程序中的picker使用方法可以访问:picker-小程序 从它的官方文档中,可以看出它返回的value值是它range的下标: 在项目中,我们大多数时候传的值并不是需要这个下标,而是其他的 ...

  4. 升级R语言

    Linux (RedHat, CentOS)上升级R语言: sudo yum install R Windows上升级R语言: install.packages("installr" ...

  5. Unity-------------------------关于GUI绘制的编程

    转载:在这篇文章中我将给读者介绍Unity中的图形用户界面(GUI)编程.Unity有一个非常强大的GUI脚本API.它允许你使用脚本快速创建简单的菜单和GUI. 简介 Unity提供了使用脚本创建G ...

  6. (实用)Linux下Eclipse安装配置PyDev

    记录备忘. PyDev是Eclipse下支持Python开发的IDE插件,本文介绍安装和配置PyDev插件的过程. 一.安装PyDev插件两种安装方法: 1.在eclipse的Help->Ins ...

  7. Radix-64编码简介

    本文介绍Radix-64编码,PGP和S/MIME均使用了Radix-64编码技术,rfc4880的Chap 6有关于Radix-64的详细描述. Radix-64编码基于Base64编码技术,由两部 ...

  8. Xianfeng轻量级Java中间件平台:流水号管理、组织机构管理

    流水号管理:现实中,经常都会和流水号打交道,至于什么是流水号,简而言之,就是按照特定格式要求产生的一个号码,并且总是按照递增的规则生成的,对于要求比较高的业务,需要流水号是连续的,比如移动营业厅排号小 ...

  9. nginx搭建(centos7)

    1.安装前准备: 系统: CentOS 7.5 x64 下载包:wget yum -y install wget 安装: 2.安装一下这些依赖条件: yum install gcc pcre pcre ...

  10. iOS: 控制UIView的外形

    #import <UIKit/UIKit.h> #import <QuartzCore/QuartzCore.h> @interface UIView (Shape) - (v ...