小编Squ*_*rel的帖子

检查IP是否在LAN中(防火墙和路由器后面)

我现在已经在网上爬了大约5个小时,但找不到我的问题的解决方案:

我的公司正在开发一款教育游戏,我正在使用Monotorrent为它编写一个autoupdater.该游戏将在学校中使用,但由于大多数学校只有非常弱的互联网连接,因此网络中只应有一台从httpseeder下载的计算机,其他计算机应该从一台从httpseed下载的计算机中获取.

因此,我从跟踪器获取大量IP地址,并且只需要过滤掉LAN中的IP地址.

当然,学校有时对防火墙非常严格,学校的某些计算机之间会有大量的路由器和交换机.

我已经尝试过大多数解决方案,例如

 NetworkInterface[] interfaces = NetworkInterface.GetAllNetworkInterfaces();

    foreach (NetworkInterface iface in interfaces)
    {
        IPInterfaceProperties properties = iface.GetIPProperties();

        foreach (UnicastIPAddressInformation address in properties.UnicastAddresses)
        {
            Console.WriteLine(
                "{0} (Mask: {1})",
                address.Address,
                address.IPv4Mask
                );
        }
    }
Run Code Online (Sandbox Code Playgroud)

或者类似的技术只提供路由器/交换机/其他信息.

简而言之,我想要做的是检查是否可以通过LAN访问给定的IP.

我真的很感激任何帮助,因为这个功能是剩下的最后一个:)

c# ip networking lan network-programming

11
推荐指数
1
解决办法
8359
查看次数

标签 统计

c# ×1

ip ×1

lan ×1

network-programming ×1

networking ×1