你的位置:首页 > 软件开发 > ASP.net > csharp:获取 DNS、网关、子网掩码、IP

csharp:获取 DNS、网关、子网掩码、IP

发布时间:2015-06-25 00:01:51
/// <summary> /// DNS、网关、子网掩码、IP /// 涂聚文 2015 /// </summary> public class IPAddressString { /// <summary> /// I ...
/// <summary>  /// DNS、网关、子网掩码、IP  /// 涂聚文 2015  /// </summary>  public class IPAddressString  {    /// <summary>    /// IP地址    /// </summary>    private get='_blank'>string _localAddress;    /// <summary>    /// 子网掩码     /// </summary>    private string _ipSubnet;    /// <summary>    /// 默认网关    /// </summary>    private string _defaultIPGateway;    /// <summary>    /// DNS    /// </summary>    private string _firstDNS;    /// <summary>    /// 备用DNS    /// </summary>    private string _secondDNS;    /// <summary>    ///     /// </summary>    private string _hostName;    /// <summary>    ///     /// </summary>    private string _macname;    /// <summary>    /// IP地址    /// </summary>    public string LocalAddress    {      get { return _localAddress; }      set { _localAddress = value; }    }    /// <summary>    /// 子网掩码     /// </summary>    public string IpSubnet    {      get { return _ipSubnet; }      set { _ipSubnet = value; }    }    /// <summary>    /// 默认网关    /// </summary>    public string DefaultIPGateway    {      get { return _defaultIPGateway; }      set { _defaultIPGateway = value; }    }    /// <summary>    /// DNS    /// </summary>    public string FirstDNS    {      get { return _firstDNS; }      set { _firstDNS = value; }    }    /// <summary>    /// 备用DNS    /// </summary>    public string SecondDNS    {      get { return _secondDNS; }      set { _secondDNS = value; }    }    /// <summary>    ///     /// </summary>    public string HostName    {      get { return _hostName; }      set { _hostName = value; }    }    /// <summary>    ///     /// </summary>    public string Macname    {      get { return _macname; }      set { _macname = value; }    }  }/// <summary>    ///获取 DNS、网关、子网掩码、IP    ///GEOVIN DU    /// </summary>    /// <returns></returns>    public IPAddressString getIp()    {      IPAddressString ip = new IPAddressString();      ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration");      ManagementObjectCollection nics = mc.GetInstances();      foreach (ManagementObject nic in nics)      {        if (Convert.ToBoolean(nic["ipEnabled"]) == true)        {          // Get IP,SubNetMask,Gateway          ip.LocalAddress = (nic["IPAddress"] as string[])[0];          ip.IpSubnet = (nic["IPSubnet"] as string[])[0];          ip.DefaultIPGateway = (nic["DefaultIPGateway"] as string[])[0];          ip.Macname = nic["MacAddress"].ToString();          ip.HostName = Dns.GetHostName();//计算机名        }      }      // Get DNS      NetworkInterface[] ifs = NetworkInterface.GetAllNetworkInterfaces();      foreach (NetworkInterface netif in ifs)      {        IPInterfaceProperties properties = netif.GetIPProperties();        IPAddressCollection dnses = properties.DnsAddresses;        if (dnses.Count > 0)        {          int i = 0;          foreach (IPAddress ipAddr in dnses)          {            // Set DNS To DNS TextBox            if (i == 0)              ip.FirstDNS = ipAddr.ToString();            else              ip.SecondDNS = ipAddr.ToString();            i++;          }          break;        }      }      return ip;    }

原标题:csharp:获取 DNS、网关、子网掩码、IP

关键词:网关

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。