在.NET Compact Framework中,设备可以有多个IP地址,我想要找到一个不是来自蜂窝连接的IP地址。目标是用于WiFi或以太网连接。确定IP地址是否为蜂窝IP地址
有没有办法做到这一点?
像州和通知经纪人似乎有办法做到这一点,但没有看到办法。
在.NET Compact Framework中,设备可以有多个IP地址,我想要找到一个不是来自蜂窝连接的IP地址。目标是用于WiFi或以太网连接。确定IP地址是否为蜂窝IP地址
有没有办法做到这一点?
像州和通知经纪人似乎有办法做到这一点,但没有看到办法。
不,你必须手动完成。
很显然,你不知道哪些IP属于小区或者不是。最简单的方法是从maxmind.com获取“ISP”IP数据库 - http://www.maxmind.com/app/isp - 这将为您提供任何IP地址(以及大多数IP地址)的ISP名称。然后,您只需设置一个匹配“sprint”,“verizon wireless”,“cellular”等关键字的正则表达式来确定它是否是手机IP。
不是最聪明的解决方案,但我不知道有更好的方法。
每个运营商都有一组IP地址。如果您知道运营商的网络地址,则可以将访问者的IP与运营商的地址进行比较。
因此,举例来说,如果你知道移动运营商拥有开始与212.235.*.*
你比较访问者的地址的第16位有了它,例如如果访问者的地址是212.235.190.215,你知道一组IP地址它来自移动网络。
你可以用简单的字符串操作来检查这个条件 - 比较访客的IP地址的前x个字符和操作员ip地址开头的x个已知字符。