之前闲着没事发了个 gist,附带了国内的 IPv4 地址列表和获取代码。
https://gist.github.com/abersheeran/02c1c316269ebb9ba3ed35e5fb0acfba
IPv4 地址已经分配完了,所以这个列表估计很难再变了。IPv6 同理,也是可以用类似的脚本获取的。不过暂时没需求,IPv6 的脚本就没弄。
另外,这个代码只要改一下地区代码和网址,理论上是可以获取任意国家分配的 IPv4 地址列表。有这个需求的也可以用。
最后,我不太会用 shell,更擅长 Python,所以这个 shell 是我抄的。别问,问就是我能看懂,但是原创不出来。让我自己写我肯定会选 Python 。
1
billccn 2020-07-12 05:25:29 +08:00 3
你这样有些用途是可以的,但是不完美,因为很多 IP 是分配给了外国公司,但是却在国内广播使用,反之亦然。
更稳妥的是利用中国国际出口只有少数几家运营的特点,直接用他们国际出口的 ASN 在诸多 BGP LG 上查就好。所有国际出口的列表在工信部网站有,ASN 搜索可得。 |
2
missdeer 2020-07-12 08:33:08 +08:00
APNIC 很不准,不如用 https://cdn.jsdelivr.net/gh/17mon/china_ip_list@master/china_ip_list.txt 或者某 ray 用的 maxmind
|
3
ohao 2020-07-12 09:23:36 +08:00
之前我们项目有这个需求
准备买 IPIP.net 的数据库,结果企业邮箱发的询价 根本没回复过 个人邮箱发的回复就一句, 请使用企业邮箱 。。。。。。 IP 地址分配的归属权和使用权是分开的,类似于房产的产权和使用者,可能租给别人也可能还是 8 手房东 所以从 BGP 层面采集的信息,在根据上下游的 PATH 来计算会正确很多 使用 maxmind 的数据库,然后自己采集生成的数据, 添加到 mmdb 数据库, 实现的准确度就好多了 |
4
metowolf 2020-07-12 09:33:36 +08:00 via iPhone
|
5
yingfengi 2020-07-12 12:54:34 +08:00
你这个,并不准吧。
举个栗子,阿里云这种有自己 AS 号的,就把美国的 IP 直接在香港广播出来用的 |
6
ugvfpdcuwfnh 2020-07-12 13:26:54 +08:00
|
7
ericFork 2020-07-12 19:29:20 +08:00
|
8
realpg 2020-07-12 20:09:56 +08:00
直接从 BGP 路由表采集数据是最合适的
|
9
abersheeran OP 这些道道不太清楚,感谢各位的回复,学到了。
|
10
alamak76 2020-07-13 08:04:13 +08:00
IPv4 地址分配完了但是还是常常需要更新。
建议使用 IP2Location LITE 免费又精准。 |
11
imaning 2020-07-13 09:44:01 +08:00
也只是中国这方便资源比较匮乏,国外随便找个十人小公司都有自己的 AS 号,几乎是可以把任意地区的 IP 段广播到其他地方使用。
|
13
Soar360 2020-07-13 14:25:05 +08:00
|