方法一:
调用Windows的DOS命令,从输出结果中读取MAC地址:
public static String getMACAddress() {
String address = "";
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()));
String line;
while ((line = br.readLine()) != null) {
if (line.indexOf("Physical Address") > 0) {
int index = line.indexOf(":");
index += 2;
address = line.substring(index);
break;
}
}
br.close();
return address.trim();
}
catch (IOException e) { }
}
return address;
}
We can replace the "ipconfig" to "ping x.x.x.x" and "arp -a"...We can get the mac list...haha!!
缺点:只能取得服务器端MAC地址.如果要取得客户端的MAC地址,需用Applet.只针对MS-WIN系统.
方法二:
可以用JS或vbscript来调用WMI接口来获取Client端的MAC地址.
<html>
<head>
<title>WMI Scripting HTML</title>
<script FOR="foo" EVENT="OnCompleted(hResult,pErrorObject, pAsyncContext)" LANGUAGE="JScript">
document.forms[0].txtMACAddr.value=unescape(MACAddr);
document.forms[0].txtIPAddr.value=unescape(IPAddr);
document.forms[0].txtDNSName.value=unescape(sDNSName);
//document.formbar.submit();
</script>
<script FOR="foo" EVENT="OnObjectReady(objObject,objAsyncContext)" LANGUAGE="JScript">
if(objObject.IPEnabled != null && objObject.IPEnabled != "undefined" && objObject.IPEnabled == true)
{
if(objObject.MACAddress != null && objObject.MACAddress != "undefined")
MACAddr = objObject.MACAddress;
if(objObject.IPEnabled && objObject.IPAddress(0) != null && objObject.IPAddress(0) != "undefined")
IPAddr = objObject.IPAddress(0);
if(objObject.DNSHostName != null && objObject.DNSHostName != "undefined")
sDNSName = objObject.DNSHostName;
}
</script>
</head>
<body>
<object classid="CLSID:76A64158-CB41-11D1-8B02-00600806D9B6" id="locator" VIEWASTEXT>
</object>
<object classid="CLSID:75718C9A-F029-11d1-A1AC-00C04FB6C223" id="foo">
</object>
<script LANGUAGE="JScript">
var service = locator.ConnectServer();
var MACAddr ;
var IPAddr ;
var DomainAddr;
var sDNSName;
service.Security_.ImpersonationLevel=3;
service.InstancesOfAsync(foo, 'Win32_NetworkAdapterConfiguration');
</script>
<form method="POST" action="NICPost.asp" id="formfoo" name="formbar">
<input type=text name="txtMACAddr">
<input type=text name="txtIPAddr">
<input type=text name="txtDNSName">
</form>
</body>
</html>
关于WMI的详细信息可以参看MSDN:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wmisdk/wmi/wmi_tasks_for_scripts_and_applications.asp
平心而论,WMI的很强大的。原先需要动用重量级编程工具才能做到的事,现在用js/vbscript就可以做了。
获取多块网卡的MAC地址:
if(objObject.MACAddress != null && objObject.MACAddress != "undefined"){
MACAddr = objObject.MACAddress;
alert( MACAddr );
}
缺点:需要ActiveX支持.对MS-WIN系统有效.
方法三:
想137口发送UDP查询:
WINDOWS平台的客户端(当获取时它转换为服务端角色),NETBIOS协议在137口上,我们只要向它的137口发送UDP查询,获取它的返回值就可以获取到它所有的网卡地址
分享到:
相关推荐
得到客户端mac地址
获取客户端ip地址( 这个必须从客户端传到后台): jsp页面下,很简单,request....因为系统的VIew层是用JSF来实现的,因此页面上没法直接获得类似request,在bean里做了个强制转换java 获取客户端ip mac地址
开发平台VS2010。通过浏览器获得浏览客户端的MAC地址,不是服务器MAC地址。亲测可用。需要将程序挂载在服务器的IIS上,然后通过客户端浏览aa.aspx。
本代码可以获得客户端的mac值 亲测可用
JS获取客户端IP地址、MAC和主机名的7个方法汇总
Java/JSP获得客户端网卡MAC地址的三种方法解析
使用JAVA获取客户端MAC地址 //Java获得CPU序列号和网卡Mac地址 /* 利用Runtime call操作系统的命令,具体的命令取决于不同的操作系统,注意不要调用Runtime.getRuntime().exec(String)接口,要用Runtime.getRuntime...
Flash获得客户端的mac和ip的Demo
mac版的锐捷认证客户端,64位,适合10.15之后的mac系统使用,本版本属于认证前获取IP的版本,从正规渠道获得,绝无病毒,希望大家支持
获取用户请求IP地址 根据IP地址获取mac地址
下载资源后请注意输入cnpm i 获取依赖 ,然后在项目根目录下执行cnpm run electron:serve即可。注意:需要环境vuecli3+,cnpm , npm , node
.net内置方法 获得MAC地址 .Net提供获得MAC地址的方法。 首先添加引用 : 在.net组件中找到 System.Management 添加引用。 在类中引用:using System.Management 然后方法中调用: ................ 参考页面:...
GitHub for Mac 客户端 也可以直接充GitHub得官网下载获得,这是目前最新版174版本
mac版的锐捷认证客户端,64位,适合10.15之后的mac系统使用,本版本属于认证后获取IP的版本,从正规渠道获得,绝无病毒,希望大家支持
本文给大家汇总介绍了下使用java实现获取客户端用户的MAC地址的方法,当然最后一种更全面一些,有需要的小伙伴们可以根据需求自由选择。
php 取MAC地址,CPU序列号,硬盘序列号!!
两种获取MAC地址的方法,一种是可以获得本机的MAC地址,另一个是通过ip地址获取远程客户端的MAC地址。
软件介绍: 网上找到的github 客户端GitHub for Mac 191,这个不怎么容易下载得到,这里共享一下,需要的朋友可以收下。
applet获取客户端
所以会导致用于局域网或防火墙后面,产生诸多限制,我们的proxifier mac 破解版就是为了解决这些问题存在的,他可以让你可以不受限制的通过防火墙/代理网络使用你喜爱的软件,此外proxifier for mac还能让你获得了...