2019-9-2-win10-uwp-判断本地ip

Posted lonelyxmas

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2019-9-2-win10-uwp-判断本地ip相关的知识,希望对你有一定的参考价值。

原文:2019-9-2-win10-uwp-判断本地ip

title author date CreateTime categories
win10 uwp 判断本地ip
lindexi
2019-09-02 12:57:38 +0800
2018-2-13 17:23:3 +0800
Win10 UWP

本文主要:如何判断一个IP是本地IP

对于本地 127.0.0.1 就是一个内部IP,之外,还有10.0.0.0/24172.16.0.0/16192.168.0.0/16169.254.0.0/16

判断是不是本地,首先判断是不是127.0.0.1

        private bool IsPrivateIP(IPAddress myIPAddress)
        {
            if (IPAddress.IsLoopback(myIPAddress))
            {
                return true;
            }
        }

判断是不是10.0.0.0/24

  1. byte[] ipBytes = myIPAddress.GetAddressBytes();
  2. // 10.0.0.0/24
  3. if (ipBytes[0] == 10)
  4. {
  5. return true;
  6. }

判断172.16.0.0/16

                if (ipBytes[0] == 172 && ipBytes[1] == 16)
                {
                    return true;
                }

判断192.168.0.0/16

                if (ipBytes[0] == 192 && ipBytes[1] == 168)
                {
                    return true;
                }

判断169.254.0.0/16

                if (ipBytes[0] == 169 && ipBytes[1] == 254)
                {
                    return true;
                }

源代码:

        /// <summary>
        /// 判断私有ip
        /// </summary>
        /// <param name="myIPAddress"></param>
        /// <returns></returns>
        private bool IsPrivateIP(IPAddress myIPAddress)
        {
            if (IPAddress.IsLoopback(myIPAddress))
            {
                return true;
            }
            if (myIPAddress.AddressFamily == System.Net.Sockets.AddressFamily.InterNetwork)
            {
                byte[] ipBytes = myIPAddress.GetAddressBytes();
                // 10.0.0.0/24 
                if (ipBytes[0] == 10)
                {
                    return true;
                }
                // 172.16.0.0/16
                else if (ipBytes[0] == 172 && ipBytes[1] == 16)
                {
                    return true;
                }
                // 192.168.0.0/16
                else if (ipBytes[0] == 192 && ipBytes[1] == 168)
                {
                    return true;
                }
                // 169.254.0.0/16
                else if (ipBytes[0] == 169 && ipBytes[1] == 254)
                {
                    return true;
                }
            }
            return false;
        }

以上是关于2019-9-2-win10-uwp-判断本地ip的主要内容,如果未能解决你的问题,请参考以下文章

如何从 Windows 10 UWP 应用程序连接到 SQL Server 数据库

Java,DatagramPacket接收,如何判断本地ip接口

win10 UWP Markdown 含源码

UWP Windows 与操作中心同步通知

如何判断是否公网ip

在 Windows 10 UWP .NET SDK 中创建旧版 Wifi Direct 软接入点时,我可以指定使用哪个适配器吗?