获取我自己的本地DHCP(或静态)IP地址,该IP地址连接到我的LAN / Internet

时间:2015-08-01 09:14:35

标签: c# dns

在C#中,我希望获得自己的DHCP或静态IP地址。

我使用此代码:

<ul class="list-group  gray-bg">
   <li class="list-group-item link" ng-click="show=0;show=1;">something</li>
   <li class="list-group-item link" ng-click="show=0;show=1;">something</li>
</ul>

我得到了这些结果:

enter image description here

我如何知道使用哪一个?我也在这台PC上安装了虚拟PC。

2 个答案:

答案 0 :(得分:3)

您可以使用WMI访问网络接口属性,并找出启用了DHCP的功能:

ManagementObjectSearcher searcherNetwork = new ManagementObjectSearcher("root\\CIMV2", "SELECT * FROM Win32_NetworkAdapterConfiguration");
foreach (ManagementObject queryObj in searcherNetwork.Get())
{
    foreach (var prop in queryObj.Properties)
    {
        Console.WriteLine(string.Format("Name: {0} Value: {1}", prop.Name, prop.Value));
    }
}

或者您可以使用NetworkInterface.GetAllNetworkInterfaces()来获取更多信息,例如Name和NetworkInterfaceType(以太网,Wireless80211等)并按这些属性进行过滤

您还可以访问IPv4InterfaceProperties.IsDhcpEnabled属性,例如:

foreach (NetworkInterface ni in NetworkInterface.GetAllNetworkInterfaces())
{
    Console.WriteLine(ni.GetIPProperties().GetIPv4Properties().IsDhcpEnabled);
}

答案 1 :(得分:0)

我在这里找到了答案:

Get IP Address using C#

这是代码(如果链接断开。我只是不想像你看到的那样传递这个代码)

string hostName = Dns.GetHostName(); // Retrive the Name of HOST
Console.WriteLine(hostName);
// Get the IP
string myIP = Dns.GetHostByName(hostName).AddressList[0].ToString();
Console.WriteLine("My IP Address is :"+myIP);