首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何查找给定本地IP地址的网络接口

问如何查找给定本地IP地址的网络接口
EN

Stack Overflow用户
提问于 2020-04-30 18:42:19
回答 1查看 36关注 0票数 0

关于如何查找本地IP地址、如何查找给定网络接口的IP地址有许多问题,但我需要查找IP地址所属的网络接口,例如,获取此接口的状态更改。

那么,如何获取分配了给定IP地址的网络接口呢?

EN

回答 1

Stack Overflow用户

发布于 2020-04-30 18:42:19

使用System.Net.NetworkInformation命名空间,我得到了以下解决方案:

代码语言:javascript
复制
public static NetworkInterface GetInterfaceForIP(IPAddress address)
{
    foreach (NetworkInterface ni in NetworkInterface.GetAllNetworkInterfaces())
    {
        foreach (UnicastIPAddressInformation ip in ni.GetIPProperties().UnicastAddresses)
        {
            if (ip.Address.AddressFamily == AddressFamily.InterNetwork)
            {
                if (address.Equals(ip.Address))
                    return ni;
            }
        }
    }

    return null;
}

这里没有太多的错误检查,这个函数返回IP的网络接口。

如果需要检查状态更改事件(电缆拔出等),可以使用System.Net.NetworkInformation名称空间中的NetworkChange事件。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61521558

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档