Skip to content

为什么电脑的IP归属地总在变?一篇说清楚

有个朋友特别逗,他前脚在杭州查自己IP显示"杭州",后脚再查变成了"绍兴",吓得以为电脑中病毒了,还问我是不是被人"操控"了。

其实不是。IP归属地会变,绝大部分时候是正常现象。今天聊聊这事儿。

你家的IP是"租"的,不是"买"的

大多数家庭宽带用的是动态IP。你拨号上网,运营商会从它的地址池里随机分一个给你;你重启路由器,或者一段时间没联网,这个IP可能就被收回,下次再分给你一个别的。

所以同一个家庭,今天可能是杭州的某段,明天换一段,位置就可能看着"漂"了。

移动网络漂得更厉害

手机流量更夸张。运营商在城市里建了一堆基站,你走到哪儿,流量就从就近的基站出网。问题是,这些基站出口的IP往往集中在省、市的核心节点上,不会真按你所在的小区给你分IP。

于是就会出现:你人在余杭,但IP归属地显示在杭州城区;你出了趟市,IP又跳到了别的城市。这不是查错了,是移动网络的天然属性。

那怎么办?有个小技巧,我之前也写过——手机流量用户,优先用IPv6查询,准确率会高不少。因为运营商的IPv6地址分配相对更贴近实际接入点。

是不是所有IP都这样?

不是。有两类IP特别"稳":

  • 企业专线/固定IP:花钱办的固定公网IP,常年不变,归属地也稳定。
  • 云服务器、IDC机房IP:数据中心里的IP段是固定的,在哪家机房就是哪个城市,几乎不飘。

这也是为什么有些场景里,判断"用户IP类型"很有用——能区分出这是家庭宽带用户,还是机房里的机器。IP9 返回里有个 ip_type 字段,ISP 表示家庭宽带,IDC 表示机房,BUS 是企业专线。一看就明白这人大概是什么网络环境。

遇到"IP变了"该怎么处理?

如果你做的是查询自己IP显示归属地的小功能,别慌,也别去"修复"它,这是正常的。如果要给用户做"异地登录提醒"这种,记得留点容错:

  • 城市级对比,别死抠到区县;
  • 同一用户允许有一个"常用IP池",不要换一个IP就告警一次;
  • 移动网络用户判断要更宽松,否则天天给你弹提醒,用户会烦死。

我自己做过一个登录提醒,一开始按"城市不同就提醒"来做,结果移动用户天天收到"异地登录"通知,差点被当垃圾功能下线。后来改成"常用IP池+城市级+时间窗口"三件套,清净多了。

总结一句

IP归属地变动是网络世界的日常,尤其是家庭宽带和手机流量用户。理解了这一点,你在做任何跟位置判断相关的功能时,心里就有数了:别把IP归属地当GPS,它只是个大概的"网络位置"

想看看自己IP现在显示在哪,可以直接访问 https://ip9.com.cn/get 试试。