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