本文作者由专业 IP 数据库的创始人高春辉亲自撰写,向大家披露移动互联网时代的 IP 数据库与手机基站的那些事。

本文转载自https://linux.cn/article-8277-1.html
如果我们的工作有侵犯到您的权益,请及时联系我们。

我们在当 IPIP 的客服的时候,除了地理位置这个事情外,一般都会有公司的人追问,你有没有这种数据,有没有那种数据,其中一个问题就是基站数据,当时我们也没有精力做,所以一概反馈以后再说吧。

还有一个场景就是在用户刚购买完用户刚投入使用的时候,会拿着统计数据来问,你们不是说国内到城市吗?为什么有这么多 IP 只标注到了省呢?我们看到数据反馈(现在不需要看,也能猜到大概情况了),都得一遍一遍的去解释这大部分都是用户在使用基站的情况,虽然也有其它情况,但是远少于基站的出现频率,毕竟手机用户越来越多了。

后来 2015 年第三季度的某一天,发现我们基于已有的数据可以做基站数据的识别了,其实之前也有,只是没想到可以这么用。于是就有了这个基站 IP 数据库。

这里说的基站 IP 数据,和基站 ID 对应的地理位置数据是两码事,后面这个以后再安利吧。

先说一下概念,大家在不使用 WIFI 网络的时候,使用手机通过运营商提供的网络进行上网的时候,目前都是在用户端使用私有IP,然后对外做 NAT 转换,这样的情况就导致大家统一使用一些 IP 段进行访问网站或者 APP。一般我们称这些相对固定的 IP 段为基站 IP ,这个不一定是运营商的说法,无论是 GGSN 还是什么,但是我们这些关注这块的人都这么叫,算是约定俗成吧。

这种方式对于运营商的好处坏处我们就不谈了,我们从互联网公司这边的影响来看:

想通过 IP 定位到城市,难。

由于国内大部分的省都是以省级为单位划分基站对外访问 IP ,也就是说,同样一个出口 IP,后面的对应用户可能是跨多个城市的。

也有一部分省是按照市一级为单位划分的,但是位置偏远,你估计也不会关心。

还有一部分地区是一段 IP 给两三个城市同时使用,在我们的数据库依然没法准确到城市。

对于反作弊或者反爬虫,麻烦。

由于是 NAT 方式,一个IP 后面必然是一大堆用户,那么从互联网公司的运维角度来看,明显会看出一个IP的访问过于频繁,那是否要进行特殊处理,比如封禁,就要基于 IP 本身的用途进行参考。

比如基站 IP, 所封禁的阈值,就要比家庭宽带的要高的多,而 IDC 的 IP ,在不考虑第三方出口的情况下,阈值可能就要相对低很多。不然你的封禁处理会可能导致影响到正常用户使用。

漫游,巨麻烦。

往往大家在有些时候需要判断用户所在地理位置,那么在基站下,则是另外一个情况。

不但像第一点说的定位不到城市,而且还有可以连当时用户所在的省都是错的。

经过兜里揣三部手机出差到处看 IP 的 职业病习惯的历练 ,目前我们所知道的三家运营商的漫游情况是这样的,请大家务必牢记:

移动:漫游到当地网络。如果你的卡是北京的,如果去到上海,那么你会看到上海的 IP。
联通和电信:漫游回属地网络。如果你的卡是北京的,如果去到上海,你依然会看到北京的 IP。

提醒一点,这只是国内的情况,当你漫游到港澳台(我只去过台湾,但我相信港澳也是一样的)和国外(我只去过美国,但可以以此类推了)的时候,都是属地漫游方式。你经常看到有人抱怨说拿着移动联通或者电信的手机,在国外访问 GOOGLE 依然会被墙,因为你等于走了隧道回到国内再出去,当然会被墙啊,没什么可奇怪的了。这也是为啥有人要买国外的运营商手机卡拿到国内来用的原因吧。

不过能够明确知晓三家运营商的漫游情况,也能帮助你判断一些事情,比如用户是移动的 IP 就不用太担心了,一定是用户目前所在地,虽然不能到城市,但是也可以相信。联通和电信才麻烦。

不过我们有时也在想,毕竟长期漫游不是一般用户能干的事情,这种相对小概率事件其实可以忽略掉的。而且如果有其他数据来源, IP 库还是作为兜底方案为好。

我们的基站数据就是提供这样一个 IP 列表,告诉你哪些 IP 段是运营商用于基站的。目前大约有 36000 多个 C 段,含台湾的部分数据,包含一部分运营商 WIFI 数据 。

以上三个是比较都容易想到的情况,还有一个情况,是我和朋友聊天的时候,对于基站数据所发现的新用途。

典型场景是这样的,目前无论是何种手机系统,基本上都支持手机当热点,好坏不用说了。但是会有一个问题。

很多系统或者应用的场景,会基于 WIFI 环境下做背景下载或者图片的尺寸的优化,没错吧?比如很多应用商店的策略都是说 WIFI 下会自动更新。苹果手机也不例外。

问题来了,如果我的手机是连接的朋友手机的热点上的 WIFI,那么以上的 WIFI 场景判断都很有可能会导致流量大增,最后伤害到用户体验。

怎么破?貌似没听说哪个系统支持,即使有人说苹果可以检测,但是那应该是两个苹果设备之间的检测,如果我链接了一个安卓手机的热点呢?

嘿嘿,头大了吧?:-)

呵呵,我们做的基站 IP 数据能帮你忙。。。

只要在判断 WIFI 的场景下,再增加一个用户出口 IP 的判断,只要不在我们的数据库里,才能认为是真实可用的 WIFI 环境,就可以了,么么哒。

而且也可以用于用户当前上网方式的判断,如果你只能拿到 IP 的话 ,这个库就可以帮助你判断,用户目前的上网方式,拿来出数据报告也是有价值的。

如果你想数据进行测试,请用手机访问这个网页, https://www.ipip.net/ip.html

我们会在符合基站数据条件的的数据下面标注“ 该 IP 段由运营商应用在基站(含 WIFI)用途,此类用途 IP 一般为省级或者市级区域使用。”。

欢迎测试准确性,有错误,请反馈给我。