在线等待 =>> 在ASP.NET怎样获取客户端的Mac网卡地址

在线等待 =>> 在ASP.NET怎样获取客户端的Mac网卡地址,第1张

分类: 电脑/网络 >> 互联网

问题描述:

在线等待 =>> 在ASPNET怎样获取客户端的Mac网卡地址????

解析:

C# public static string GetMACAddressString()

{

ManagementClass class1 = new ManagementClass("Win32_NeorkAdapterConfiguration");

ManagementObjectCollection collection1 = class1GetInstances();

int num1 = 0;

StringBuilder builder1 = new StringBuilder();

using (ManagementObjectCollectionManagementObjectEnumerator enumerator1 = collection1GetEnumerator())

{

while (enumerator1MoveNext())

{

ManagementObject obj1 = enumerator1get_Current();

if ((bool) obj1get_Item("IPEnabled"))

{

if (num1 > 0)

{

builder1Append(''|'');

}

builder1Append(obj1get_Item("MacAddress")ToString());

num1++;

}

obj1Dispose();

}

}

return builder1ToString();

}

public String getMAC() { String mac = null; try { Process pro = RuntimegetRuntime()exec("cmdexe /c ipconfig/all"); InputStream is = progetInputStream(); BufferedReader br = new BufferedReader(new InputStreamReader(is)); String message = brreadLine(); int index = -1; while (message != null) { if ((index = messageindexOf("Physical Address")) > 0) { mac = messagesubstring(index + 36)trim(); break; } message = brreadLine(); } Systemoutprintln(mac); brclose(); prodestroy(); } catch (IOException e) { Systemoutprintln("Can't get mac address!"); return null; } return mac; }

MAC地址是不可以的,浏览器就拦击了,那个只是局域网内使用的。也就是许多通过路由器的广域网用户,根本就不把MAC地址传给WEB服务器,PHP程序是不可能获得的。

你要限制用户,只有使用证书,登录账户等方法实现。

以下代码实现浏览器中获取mac地址放入一个输入框或隐藏域,随登录信息一起提交到服务器。因为安全级别的关系可能会出现警告,可选择允许执行。长期使用的话建议用户将改站点加入信任站点或把安全级别调低。

<HTML><HEAD><TITLE>WMI Scripting HTML</TITLE>

<META >

java如何不使用>

import javanetInetAddress;

import javanetNetworkInterface;

/

@author:

@version:

@description:

/

public class Ipconfig {

public static void main(String[] args) throws Exception {

try {

InetAddress ia=InetAddressgetLocalHost();

String localname=iagetHostName();

String localip=iagetHostAddress();

Systemoutprintln("本机名称是:"+ localname);

Systemoutprintln("本机的ip是 :"+localip);

Systemoutprintln("MAC "+getMACAddress(ia));

} catch (Exception e) {

eprintStackTrace();

}

}

//获取MAC地址的方法

private static String getMACAddress(InetAddress ia)throws Exception{

//获得网络接口对象(即网卡),并得到mac地址,mac地址存在于一个byte数组中。

byte[] mac = NetworkInterfacegetByInetAddress(ia)getHardwareAddress();

//下面代码是把mac地址拼装成String

StringBuffer sb = new StringBuffer();

for(int i=0;i<maclength;i++){

if(i!=0){

sbappend("-");

}

//mac[i] & 0xFF 是为了把byte转化为正整数

String s = IntegertoHexString(mac[i] & 0xFF);

sbappend(slength()==10+s:s);

}

//把字符串所有小写字母改为大写成为正规的mac地址并返回

return sbtoString()toUpperCase();

}

}

以上就是关于在线等待 =>> 在ASP.NET怎样获取客户端的Mac网卡地址全部的内容,包括:在线等待 =>> 在ASP.NET怎样获取客户端的Mac网卡地址、Java代码如何获取客户端的MAC地址、php怎么获取客户端的mac地址等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9554535.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-29
下一篇 2023-04-29

发表评论

登录后才能评论

评论列表(0条)

保存