Appearance
手机号归属地和IP归属地有什么区别?一个跟着卡走,一个跟着网走
直接给答案:手机号归属地是办卡时确定的,一辈子跟着这张卡走,人走到哪都显示办卡城市;IP 归属地是上网时网络出口的位置,人走到哪、用哪里的网络,IP 归属地就显示哪里。 两者完全不是一回事,但日常聊天里经常被混着说,这篇把区别一次讲清楚。
一、手机号归属地和IP归属地有什么区别?
手机号归属地由运营商在开卡时登记,绑定的是号码本身,跟你在哪用手机没关系。你在北京办了一张上海号段的卡,哪怕人去了广州,别人给你打电话显示的依然是上海。
IP 归属地则是网络出口的物理位置。你连着北京的宽带,出口 IP 的归属地就是北京;你连上广州的 WiFi,就显示广州。IP 归属地查的是"你这台设备当前从哪个城市上网",不是"你的号码是哪里办的"。
一句话记忆:手机号归属地 = 卡的户籍,IP 归属地 = 你现在的落脚点。
二、为什么人在外地,IP 属地显示的却是老家?
这是被问最多的一个。两种常见情况:
- 用的手机流量:手机走的是运营商移动网络,基站接入点可能在你老家省份的核心网出口(尤其是漫游时流量回源),所以人到了外地,IP 归属地仍显示号码归属省。这是网络架构决定的,不是查询接口错了。
- 挂了代理/VPN:流量从代理服务器出去,IP 归属地自然显示代理服务器的位置。
想知道自己当前真实出口 IP 归属地,最直接的办法是让服务器端帮你查:https://ip9.com.cn/get 不传参直接返回当前请求方 IP 的归属地,支持 IPv4 和 IPv6。比如在命令行里 curl https://ip9.com.cn/get,返回的 prov、city 就是你此刻上网的位置。
三、IP 属地是手机号归属地决定的吗?
不是。平台显示 IP 属地用的是你上网时的 IP 地址去查归属地,跟手机号归属地数据库没有任何关系。手机号归属地查询和 IP 归属地查询是两个完全独立的数据库:前者管 11 位手机号段,后者管 IP 地址段。
顺带说个边界:市面上能查手机号归属地的服务很多,但 IP 归属地接口只查 IP,比如 IP9 的免费接口 https://ip9.com.cn/get?ip=1.2.3.4 只接受 IP 参数,传手机号会返回非法参数错误。选接口前先看清它到底查什么,别拿 IP 接口去查手机号。
四、手机号归属地和IP归属地哪个更准?
两者"准"的含义不同:
- 手机号归属地:100% 确定,因为号段是运营商分配死的,但它只代表办卡地,不代表人在哪。
- IP 归属地:定位到城市级,中国城市准确率可以做到 99% 以上(比如 IP9 官方给出的中国城市 99.2%),但它描述的是"网络出口在哪",不是"人坐在哪"。
所以做业务时要分清需求:想确认"这个手机号是哪里的",查手机号归属地;想判断"这个用户现在从哪个城市访问",查 IP 归属地——后者在异地登录提醒、同城匹配、地区限流这些场景里更常用。
五、常见误区
- 误区一:IP 属地 = 精确位置。 不是,通常是城市级,精确到街道是做不到的(IP9 返回的经纬度是城市中心点,不是用户所在楼宇)。
- 误区二:IP 属地 = 手机号归属地。 这篇讲的就是它俩的区别,一个跟卡走,一个跟网走。
- 误区三:IP 属地不准就是接口垃圾。 很多"不准"是代理、运营商出口、CDN 造成的,先确认查的是不是真实出口 IP。
总结
手机号归属地和 IP 归属地的区别,一句话:前者是号码的户籍,后者是你上网的位置。做开发时按场景选:验证号段用手机号库,判断访问来源用 IP 归属地接口。查 IP 归属地可以试试 IP9 的免费接口(https://ip9.com.cn/get ,支持 IPv4/IPv6,免注册免鉴权,返回国家/省市/运营商/经纬度),需要区县或判断机房 IP 的话 VIP 版会额外返回 area、ip_type、ip_asn 字段,详见官网 https://www.ip9.com.cn 。