zoukankan      html  css  js  c++  java
  • 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的数据库来获取。

  • 相关阅读:
    C# 文件绝对路径与相对路径的转换
    DevExpress TreeList 禁止节点拖动到其他节点上
    C# 通过KD树进行距离最近点的查找.
    C# 利用键值对取代Switch...Case语句
    C# 利用位运算传递多个参数方法
    Deepin安装node与npm
    python-demo:计算合格率
    SpringDataJpa在一对多、多对多关系映射时出现StackOverflowError
    npm install 问题汇总
    CentOS7 使用firewalld打开关闭防火墙与端口
  • 原文地址:https://www.cnblogs.com/oec2003/p/769441.html
Copyright © 2011-2022 走看看