博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Asp.net 根据IP地址获取跨网段mac地址函数【搜藏】
阅读量:6819 次
发布时间:2019-06-26

本文共 1517 字,大约阅读时间需要 5 分钟。

根据ip地址获取mac地址的方法网上有很多,但是由于路由器的关系,只能局限于获取同网段的ip的mac地址,后来知道了一个dos命令"nbtstat",这个命令就可以跨网段获取mac,不过测试过有一些地址还是获取不了,好像开了防火墙就不行,后来找到一段代码,原理就是根据这个命令获取返回的数据然后用正则表达式进行mac信息段的截取,如下:

//通过IP地址获取MAC地址的方法(可跨网段获取)           string GetMac(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();        dirResults = dirResults.Replace("\r", "").Replace("\n", "").Replace("\t", "");        Regex reg = new Regex("Mac[ ]{0,}Address[ ]{0,}=[ ]{0,}(?
((.)*?))__MAC", RegexOptions.IgnoreCase | RegexOptions.Compiled); Match mc = reg.Match(dirResults + "__MAC"); if (mc.Success) { return mc.Groups["key"].Value; } else { reg = new Regex("Host not found", RegexOptions.IgnoreCase | RegexOptions.Compiled); mc = reg.Match(dirResults); if (mc.Success) { return "Host not found!"; } else { return ""; } } }

asp.net中调用如下:

//获取客户端ip地址string ipAddress = Request.UserHostAddress.ToString().Trim();//调用函数得到mac地址string macAddress = GetMac(ipAddress);

转载于:https://www.cnblogs.com/linyc/archive/2011/04/02/2002849.html

你可能感兴趣的文章
专访阿里巴巴研究员赵海平:从Facebook到阿里巴巴
查看>>
处理团队中的消极情绪
查看>>
深入浅出Tensorflow(三):训练神经网络模型的常用方法
查看>>
区块链编程完全指南
查看>>
构建一个运行在Azure虚拟机上的MySQL Spring Boot应用程序
查看>>
英特尔披露新的预测执行漏洞L1终端故障
查看>>
Vue.js表单控件绑定
查看>>
如何撰写好文档?精益文档的六个实践
查看>>
魔鬼存在于细节中:从Redshift迁移到ClickHouse后再无数据丢失
查看>>
上学还是坐牢?百年老校“监控”学生惹争议
查看>>
作者访谈录——关于战略、领导力以及灵魂
查看>>
Linux 下 docker 安装 MySQL
查看>>
在生产环境中安全地运行Docker容器
查看>>
.NET Core 2.1预览版首次引入Global Tools
查看>>
基于英特尔® 架构的 GigaSpaces InsightEdge Platform*
查看>>
Confluent平台5.0支持LDAP授权及用于IoT集成的MQTT代理
查看>>
微服务接口限流的设计与思考(附GitHub框架源码)
查看>>
网络故障排查常用命令集
查看>>
Spring RESTful + Redis全注解实现恶意登录保护机制
查看>>
MySQL 中 整数类型的存储和范围计算过程详解
查看>>