ASP.NET技术获取IP与MAC地址的方法

获取服务器的IP地址方法以DNS法较为简单实用,如下:

private void ButtonIP_Click(object sender, System.EventArgs e) 

    System.Net.IPAddress[] addressList 
= Dns.GetHostByName(Dns.GetHostName()).AddressList; 
  
if ( addressList.Length>1
  { 
       TextLIP.Text 
= addressList[0].ToString(); 
      TextSIP.Text 
= addressList[1].ToString(); 
  } 
  
else 
  { 
      TextLIP.Text 
= addressList[0].ToString(); 
      TextSIP.Text 
= "没有可用的连接"
  } 
  }

 

  获取服务器的IP地址与MAC地址另一方法如下:

using System.Management; 
string stringMAC = ""
string stringIP = ""
ManagementClass MC 
= new ManagementClass "Win32_NetworkAdapterConfiguration"); 
ManagementObjectCollection MOC
= MC.GetInstances(); 
foreach(ManagementObject MO in MOC) 

  
if ((bool)MO["IPEnabled"== true
  { 
      stringMAC 
+= MO["MACAddress"].ToString(); 
      TextMAC.Text 
= stringMAC.ToString(); 
      
string[] IPAddresses = (string[]) MO["IPAddress"]; 
      
if(IPAddresses.Length > 0
      stringIP 
= IPAddresses[0]; 
      TextIP.Text 
= stringIP.ToString(); 
  } 
}

 

  获取客户端本机的IP地址相当简易,方法如下:

using System.Net; 
TextIP.Text
=Page.Request.UserHostAddress;

 

  如要获取客户端本机的MAC地址就相对复杂些,得导入调用两个API,用ARP协议获取,但这样只能获取到同网段机器的MAC,对于跨网段的得利用IP扫描或cmd中nbtstat命令获取MAC地址。也可通过读取系统注册表值或WMI的数据库来获取。

微信公众号:不止dotNET
作者: oec2003
出处: http://oec2003.cnblogs.com/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接,否则 保留追究法律责任的权利。
posted @ 2007-06-03 16:03  oec2003  阅读(1391)  评论(1编辑  收藏  举报