你好,欢迎来到电脑编程技巧与维护杂志社! 杂志社简介广告服务读者反馈编程社区  
合订本订阅
 
 
您的位置:杂志经典 / 网络与通信
Java实现跨平台的MAC地址读取(一)
 

摘 要  为满足Java开发跨平台的网络唤醒、版权保护等的类型应用需要,在分析目前常用的MAC地址查询方法的原理与不足的基础上,提出了一种应用NetworkInterface Java工具类,实现跨平台的MAC地址查询功能的新方法。使用这种方法可以实现真正跨平台的纯Java MAC地址查询功能并进一步实现与之相关的各类应用系统。

关键词 JavaMac地址查询

 

1  引言

在目前很多的网络应用系统中,为实现远程唤醒、版权保护等方面功能,经常需要查询系统所在主机网卡的硬件(MAC)地址。在基于C++VB的系统中,通常要调用一些操作系统特定的网络API来查询网卡的硬件地址,尽管实现方法也比较方便,但通常不具备跨平台特性。

常用的程序设计语言中,Java语言的网络功能非常强大,在网络应用系统的开发实践中应用十分广泛,但以前Java技术在访问系统硬件信息方面存在不足,因此通常在用Java实现的系统中如果要查询本机的网卡硬件地址,通常采用先借助运行时(Runtime)对象运行与网络参数配置相关的操作系统命令(Windows——ipconfig /allUnix/Linux——ifconfig)然后从其运行结果中检索地址信息的方法。

这种方法有明显的不足:(1)跨平台通用性不好  由于不同操作系统下用于查询与配置地址信息的命令不同,需要针对不同操作系统提供不同的方案;(2)在Unix/Linux下通常只有root用户才有执行ifconfig命令的权限,用调用ifconfig命令的方法获取硬件地址可靠性不好,普通用户无法正确获取硬件地址。

2  设计思路

2.1 Java中访问网卡的API

JDK 1.4开始,java.net包中提供了一个NetworkInterface类,该类中封装了与网络接口相关的信息。其中与查询MAC地址相关的API主要包括:

NetworkInterface getByName(String name)     //根据网卡设备名获得NetworkInterface对象

  推荐精品文章

·2024年12月目录 
·2024年11月目录 
·2024年10月目录 
·2024年9月目录 
·2024年8月目录 
·2024年7月目录 
·2024年6月目录 
·2024年5月目录 
·2024年4月目录 
·2024年3月目录 
·2024年2月目录 
·2024年1月目录
·2023年12月目录
·2023年11月目录

  联系方式
TEL:010-82561037
Fax: 010-82561614
QQ: 100164630
Mail:gaojian@comprg.com.cn

  友情链接
 
Copyright 2001-2010, www.comprg.com.cn, All Rights Reserved
京ICP备14022230号-1,电话/传真:010-82561037 82561614 ,Mail:gaojian@comprg.com.cn
地址:北京市海淀区远大路20号宝蓝大厦E座704,邮编:100089