【问题标题】:Get my own Local DHCP (or static) IP address that is connected to my LAN/Internet获取连接到我的 LAN/Internet 的我自己的本地 DHCP(或静态)IP 地址
【发布时间】:2015-08-01 09:14:34
【问题描述】:

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

我使用这个代码:

string host = Dns.GetHostName();
IPHostEntry ip = Dns.GetHostEntry(host);
Console.WriteLine(ip.AddressList[0].ToString());

我得到了这些结果:

我怎么知道该使用哪一个?我在这台电脑上也安装了虚拟电脑。

【问题讨论】:

    标签: c# dns


    【解决方案1】:

    您可以使用 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() 获取更多信息,例如名称和 NetworkInterfaceType(以太网、Wireless80211 等)并按这些属性进行过滤

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

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

    【讨论】:

    • 您好,感谢您的回答,但我只想找到连接到我的网络的 PC 的 IP 地址,无论它是静态的、dhcp 还是/和无线协议。这必须在我无法控制和了解的不同电脑上工作,所以我看不到该代码将如何帮助我,恐怕
    • 我更新了答案并添加了访问 IsDhcpEnabled 属性的位。同样在 WMI 版本中,您可以看到有一个值为“名称:DHCP 启用值:True”的属性,因此它可用于识别 DHCP 是否启用
    • 您好,对于中间的理解很抱歉,但无论是 dhcp 还是静态都无关紧要。我只是说它可能是
    • 您的更新仍然没有给我任何原始发布的代码。我仍然得到一组 IP 地址。我只需要连接到我的 LAN/互联网的 IP 地址 :)
    【解决方案2】:

    我在这里找到了答案:

    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);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-23
      • 2012-01-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多