asp.net获取客户端的MAC地址

简介:

. 具体功能

该命令用于显示本地计算机和远程计算机的基于 TCP/IP(NetBT) 协议的 NetBIOS 统计资料、 NetBIOS 名称表和 NetBIOS 名称缓存。 NBTSTAT 可以刷新 NetBIOS 名称缓存和注册的 Windows Internet 名称服务 (WINS) 名称。使用不带参数的 NBTSTAT 显示帮助。

2. 语法详解

nbtstat [-a remotename] [-A IPaddress] [-c] [-n] [-r] [-R] [-RR] [-s] [-S] [Interval]
3. 参数说明

-a remotename 显示远程计算机的 NetBIOS 名称表, 其中, remote name 是远程计算机的 NetBIOS 计算机名称。 NetBIOS 名称表是运行在该计算机上的应用程序使用的 NetBIOS 名称列表。
-A IPaddress 显示远程计算机的 NetBIOS 名称表, 其名称由远程计算机的 IP 地址指定 ( 以小数点分隔 ) 。
-c 显示 NetBIOS 名称缓存内容、 NetBIOS 名称表及其解析的各个地址。
-n 显示本地计算机的 NetBIOS 名称表。 Registered 中的状态表明该名称是通过广播或 WINS 服务器注册的。
-r 显示 NetBIOS 名称解析统计资料。 在配置为使用 WINS 的 Windows 计算机上,该参数将返回已通过广播和 WINS 解析和注册的名称号码。
-R 清除 NetBIOS 名称缓存的内容并从 Lmhosts 文件中重新加载带有 #PRE 标记的项目。
-RR 重新释放并刷新通过 WINS 注册的本地计算机的 NetBIOS 名称。
-s 显示 NetBIOS 客户和服务器会话,并试图将目标 IP 地址转化为名称。
-S 显示 NetBIOS 客户和服务器会话,只通过 IP 地址列出远程计算机。
Interval 重新显示选择的统计资料,可以中断每个显示之间的 Interval 中指定的秒数。 按Ctrl+C 停止重新显示统计信息。如果省略该参数, NBTSTAT 将只显示一次当前的配置信息。

我们试下它的功能:在DOS窗口下,输入:

nbtstat -a 192.168.168.242
这里的192.168.168.242是我的本机IP,测试中发现呆会的程序并不能取得非本地的mac地址,也就是说只能取得服务器的网卡mac地址,而不能取得客户端的网卡mac地址,记得以前用一些黑客软件的时候可以办到获取对方的网卡mac地址的,有空研究下。结果如下图:



看到网卡的MAC地址了吧!也就是:

MAC Address = 00-18-F3-A7-E1-56
所以在asp.net中我们也是根据这个原理,先取得指定Ip的所有信息后,再用正则取得我们要的mac地址。

详细代码请参考下面,代码多有参考网络,为我所用,非我所想。

using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

//引入相应的空间信息
using System.Text.RegularExpressions;
using System.Diagnostics;

public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
//此处输入Ip地址,你可以做成接受文本框的值进行查询
Response.Write(GetCustomerMac("192.168.168.242"));
}


//这里是关键函数了
public string GetCustomerMac(string IP)
{
string dirResults="";
ProcessStartInfo psi = new ProcessStartInfo();
Process proc = new Process();
psi.FileName = "nbtstat";
psi.RedirectStandardInput = false;
psi.RedirectStandardOutput = true;
psi.Arguments = "-a " + IP;
psi.UseShellExecute = false;
proc = Process.Start(psi);
dirResults = proc.StandardOutput.ReadToEnd();
proc.WaitForExit();

//匹配mac地址
Match m = Regex.Match(dirResults, "\\w+\\-\\w+\\-\\w+\\-\\w+\\-\\w+\\-\\w\\w");

//若匹配成功则返回mac,否则返回找不到主机信息
if (m.ToString() != "")
{
return m.ToString();
}
else
{
return "找不到主机信息";
}

}
}



本文转自94cool博客园博客,原文链接:http://www.cnblogs.com/94cool/archive/2010/04/15/1712949.html,如需转载请自行联系原作者
相关文章
|
6月前
|
网络安全 开发工具 git
mac下用git客户端生成ssh秘钥并配置到souretree进行使用
mac下用git客户端生成ssh秘钥并配置到souretree进行使用
150 0
|
9月前
|
开发框架 前端开发 JavaScript
ASP.NET Core MVC 从入门到精通之wwwroot和客户端库
ASP.NET Core MVC 从入门到精通之wwwroot和客户端库
158 0
|
缓存 网络协议 网络架构
以太网数据链路层、Ethernet_II帧格式、IEEE802.3帧格式,以太网的MAC地址的组成,ARP地址解析协议的工作原理,单播帧、组播帧、广播帧的区别
数据链路层,Ethernet_II帧格式、IEEE802.3帧格式,帧格式的区分以及链路层每种帧格式有什么作用,怎么区别分辨帧格式,以太网MAC地址的组成,ARP地址解析协议原理、什么是单播帧?什么是组播数据帧?什么是广播帧?...............
以太网数据链路层、Ethernet_II帧格式、IEEE802.3帧格式,以太网的MAC地址的组成,ARP地址解析协议的工作原理,单播帧、组播帧、广播帧的区别
|
Web App开发 弹性计算 Android开发
阿里云无影云桌面客户端下载Win/Mac/iOS/安卓/Web端均支持
阿里云无影客户端下载系统Win/Mac/iOS/安卓/Web端均支持
3590 0
阿里云无影云桌面客户端下载Win/Mac/iOS/安卓/Web端均支持
Office 2021 for Mac 简体中文 官网下载地址
Office 2021 for Mac 它包括 Word、Excel、PowerPoint 和 Outlook。一次性购买该产品可安装在一台 Mac 上,供家用或办公之用。
563 0
计算机网络学习13:MAC地址
如果信道上的主机只有两台(点对点信道)不需要地址
计算机网络学习13:MAC地址
|
存储 安全 iOS开发
iOS开发 - 继udid,Mac地址等一系列唯一标识无效后,如何用KeyChain来实现设备唯一性
iOS开发 - 继udid,Mac地址等一系列唯一标识无效后,如何用KeyChain来实现设备唯一性
398 0
iOS开发 - 继udid,Mac地址等一系列唯一标识无效后,如何用KeyChain来实现设备唯一性
|
域名解析 网络协议 测试技术
CCNA-思科网络基础(IP地址 MAC地址 DNS DHCP PING )
CCNA-思科网络基础(IP地址 MAC地址 DNS DHCP PING )
240 0
CCNA-思科网络基础(IP地址 MAC地址 DNS DHCP PING )
|
Web App开发 弹性计算 Android开发
阿里云无影客户端下载Windows/Mac/iOS/安卓/Web端操作系统均支持
阿里云无影云桌面客户端下载,无影客户端支持操作系统包括Windows、Mac、Web网页端、iOS客户端和安卓客户端
阿里云无影客户端下载Windows/Mac/iOS/安卓/Web端操作系统均支持