using System.Management;

//获取IP,子网掩码(subnet mask)和默认网关
ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration");
ManagementObjectCollection nics = mc.GetInstances();
foreach(ManagementObject nic in nics)
{
  if(Convert.ToBoolean(nic["ipEnabled"]) == true)
  {   
   Console.WriteLine(Convert.ToString(nic["MACAddress"]));
    Console.WriteLine((nic["IPAddress"] as String[])[0]);
    Console.WriteLine((nic["IPSubnet"] as String[])[0]);
    Console.WriteLine((nic["DefaultIPGateway"] as String[])[0]);
  }
}