IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> IP 属地功能会泄露你的隐私吗? -> 正文阅读

[网络协议]IP 属地功能会泄露你的隐私吗?

近期,微信、抖音、微博、公众号等平台,统统上线用户 IP 属地功能,简单的说,就是在互联网发文、发言时,都会带上自己的地址信息。举个栗子,在公众号发文、在公众号留言,都会带上地址。

正所谓,外行看热闹,内行看门道。那么这个功能到底是如何实现的?背后的技术原理是啥?怎么查别人的地址信息呢?

IP 属地原理

众所周知,接入互联网,需要有公网 IP 地址。公网 IP 地址由 ISP 提供。然而 ISP 只是二道贩子,全球 IP 地址一级一级分配下来的。IANA 管理所有的 IP 地址,它大手一挥,把所有可用的 8 位网段的地址分配给了五个 RIR 。这五个 RIR 分别是 ARIN 、RIPE NCC 、APNIC 、LACNIC 、AfriNIC 。

RIR:区域互联网地址注册机构

ARIN:负责北美地区业务

RIPE NCC:负责欧洲地区业务

APNIC:负责亚太地区业务

LACNIC:负责拉丁美洲地区业务

AfriNIC:负责非洲地区业务

IPv4 地址一共 256 个 8 位网段,还需要排除私有地址、Loopback 地址、保留地址等,可用的 8 位网段只有两百个左右。而一个 8 位网段有 1677 万多可用 IP 地址,供 RIR 再次分配。全球 IP 地址分配详情,可在下面链接找到:

https://www.iana.org/assignments/ipv4-address-space/ipv4-address-space.xhtml

从 IANA 地址分配表来看,我们可以通过 IP 地址的前八位,判断出 IP 地址属于哪个 RIR ,也就知道 IP 地址的位置范围。但是这个范围实在太大了,相当于全球范围的五分之一。想要更精确的位置,可以往下看 RIR 地址分配表,就能确定 IP 地址属于哪个国家或地区。以 APNIC 举例,通过下面链接查看 APNIC 地址分配详情:

http://ftp.apnic.net/apnic/stats/apnic/delegated-apnic-latest

表格里详细的记录了 APNIC 所有地址的分配情况,表格格式分为是注册机构、国家/地区代码、类型、起始地址、数量、分配日期、状态。通过这个表格,就能发现 IP 地址属于哪个国家或地区。但是 IP 属地功能,显示的可是省份或直辖市,那还要往下挖。

这五个 RIR 分别管理不同区域,它们也不直接给用户分配 IP 地址,而是分配给 NIR ,NIR 再分配给 LIR ,LIR 最后分配给 ISP 或最终用户。CNNIC 是中国唯一的 NIR ,也是 APNIC 下面的 NIR 。中国的 ISP / IDC / ICP / 企事业单位都是通过 CNNIC 申请 IP 地址。

NIR:国家级互联网注册机构

LIR:本地互联网注册机构

ISP:互联网服务提供商

CNNIC 官网可以查到 IP 地址的位置信息,但是位置信息不一定都能精确到省份或直辖市级。以我自己的 IP 地址(120.229.6.109)为例:

http://www.cnnic.net.cn/

查询结果是中国移动,位置范围是国家或地区级,而不是省份或直辖市级。因为查询发现 120.229.6.109 属于 120.190.0.0 - 120.255.255.255 范围中,也就是 120.192.0.0/10 网段,显示的就是这个网段的信息。

而 58.60.110.20 又可以查到具体的省份信息:广东省。根本原因是,申请 IP 网段时,有些已经确定了使用的省份/直辖市,还有些只确定了使用的国家/地区,后面根据需求,ISP 再对 IP 网段进行划分。这时,我们就可以使用另一个网络参数,对 IP 地址进行定位,那就是 ASN ,ASN 是网络上的实际值。

051403

互联网是一个巨大的网络,它由数十万个叫做 AS(自治系统)的网络组成。AS 是由 ISP 、区域网络等管理的大型网络,也是一个大型路由器池。每个 AS 都有自己的 ASN(自治系统编号),是一个 16 比特的 AS 编号,方便识别和区分。AS 包含若干子网,还包含位置信息。还是以我自己的 IP 地址(120.229.6.109)为例:

https://bgp.he.net/

查看到 120.229.6.109 有两个 ASN ,一个是 AS9808 ,包含 120.192.0.0/10 网段,属地为中国。另一个是 AS56040 ,包含 120.229.0.0/16 ,属地为中国广东。更精准的定位,需要按照最长匹配原则,选择最长匹配的网段,也就是选择 120.229.0.0/16 的位置信息,即中国广东。

位置定位

如果要具体的位置信息,精确到街道的那种,就要找 ISP 提供,ISP 有完整的 IP 地址位置信息的,通过 IP 地址可以定位到家庭住址、工作单位、行动轨迹等。当然,这些信息是属于个人隐私,ISP 不会对外公布,泄露隐私可是违法行为。不过,我们还可以通过网上公开的 IP 地址库,定位到市级或区级的位置信息。仍然是以自己的 IP 地址为例:

https://ip.taobao.com/ipSearch

结果显示为广东省,淘宝 IP 地址库还提供了 API 接口,可以直接程序调用,自动显示 IP 属地。但没有城市信息,更准确的位置信息,可以用下面的网站查询:

https://www.ip138.com/

查询结果为广东省深圳市福田区,深圳市是正确的,福田区是错误的。IP 地址库都有这类问题,市级位置信息准确率蛮高,而区级位置信息是不太准的。这里,我们可以发现,不借助 ISP 的信息,IP 地址只能准确的定位到城市位置。其实,除了 IP 地址外,还有许多其它定位的技术,比如 GPS 定位、WiFi 定位、蓝牙定位、大数据定位等,精度更准、准确率更高!所以,即使屏蔽了 IP 地址,也还是能找到精确位置~~~

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2022-05-16 11:29:04  更:2022-05-16 11:29:23 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 0:39:27-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码