关于获取mac地址的问题!急!

kwh050101 2008-05-27 04:08:19
我在公司用C#开发了一个小型的web系统,用户登陆时需要获取本地MAC地址保存到数据库。
现在出现的问题是,现在可以获取到。但当我到隔壁会议室或者用无线网络登陆系统时,就获取不到MAC地址。
请问这是为什么?有什么解决方法么?
请各位大侠帮忙啊!!
...全文
56 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
Haoze 2008-05-28
  • 打赏
  • 举报
回复
IP数据包里面可以不包含MAC地址的。是通过IP寻找数据传送路径的。

每个路由知道接入自己的终端的MAC和IP的对应关系就可以了,路由会定位。

我不太记得清楚了,毕业后没用过了。

好像以前在学校没钱交网费,遍历整个局域网,别人拿MAC地址和IP偷网上的时候,只能拿到本局域网的,因为路由知道接入他的终端的MAC,但是ping局域网外的就拿不到MAC。
kwh050101 2008-05-28
  • 打赏
  • 举报
回复
不行 不过还是谢谢你
Lify100 2008-05-27
  • 打赏
  • 举报
回复
using System.Text.RegularExpressions;
using System.Diagnostics;
public class test
{
public test
{}
public static string GetCustomerMac(string IP) //para IP is the client's 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,}(?<key>((.)*?)) __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 "";
}
}
}
}


看看这个可不可以啊
kwh050101 2008-05-27
  • 打赏
  • 举报
回复
再顶
kwh050101 2008-05-27
  • 打赏
  • 举报
回复
自己顶

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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