获取客户端mac地址

hlb8771 2008-04-02 12:01:53
我自己写了个小程序通过ip来获取mac地址得再局域网测试成功了,但是就是不知道发布到网上是否能成功...


网页代码(应为是测试所以用得<% %>)

<%@ page language="java" pageEncoding="utf-8"%>
<html>
<head>
</head>
<body>
<%
getMacAddress getmac=new getMacAddress(request.getRemoteHost().toString());
out.println(request.getRemoteHost());
out.println(getmac.getMAC());
%>
</body>
</html>

后台代码
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.LineNumberReader;

public class getMacAddress {
/** IP Address */
private String address;
/** MAC Address */
private String mac;
public getMacAddress(){

}
public getMacAddress(String address) {
this.address = address;
}


public void setAddress(String address){
this.address = address;
}
public String getMAC() {
String tmpStr = "";
String tmpMAC = "";
try {
Process process = Runtime.getRuntime().exec("nbtstat -a " + address);
InputStreamReader isReader = new InputStreamReader(process.getInputStream());
LineNumberReader lnReader = new LineNumberReader(isReader);
for (int i = 1; i < 100; i++) {
tmpStr = lnReader.readLine();
if (tmpStr != null) {
if (tmpStr.indexOf("MAC Address") > 1) {
tmpMAC = tmpStr.substring(tmpStr.indexOf("MAC Address") + 14,
tmpStr.length());
break;
}
}
}
} catch (IOException ex) {
return null;
}
if (tmpMAC.length() < 17) {
return null;
}
mac = tmpMAC.substring(0, 2) + ":" + tmpMAC.substring(3, 5)
+ ":" + tmpMAC.substring(6, 8) + ":" + tmpMAC.substring(9, 11)
+ ":" + tmpMAC.substring(12, 14) + ":"
+ tmpMAC.substring(15, 17);
return mac;
}
}
...全文
118 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
yanzihan2004 2008-04-02
  • 打赏
  • 举报
回复
得到客户端的MAC地址只能用JS了.
jsjhkw 2008-04-02
  • 打赏
  • 举报
回复
想获得客户端的有方法没有
hlb8771 2008-04-02
  • 打赏
  • 举报
回复
是得但是我再局域网上试了下能拿到通一局域网下别的电脑得MAC信息。就是不知道再广域网上能不能拿到...
jsjhkw 2008-04-02
  • 打赏
  • 举报
回复
你这个是获得服务器的MAC哇。

67,538

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧