1.
准备工作与工具
说明:先准备好命令行环境与账号。推荐工具:curl、whois、traceroute/mtr、geoiplookup(或GeoIP2库)、wget、Python(pandas、geoip2)、以及ipinfo.io或db-ip API。安装示例:Ubuntu 下 sudo apt-get install whois mtr geoip-bin python3-pip,再 pip3 install geoip2 pandas.
2.
获取日本分配前缀列表(APNIC)
步骤:下载 APNIC 分配表并过滤 jp 条目。
命令示例:
wget -q -O delegated-apnic-latest https://ftp.apnic.net/stats/apnic/delegated-apnic-latest
cat delegated-apnic-latest | awk -F'|' '$2=="JP" && $4=="ipv4" {print $5"/"$7}' | sort -u > jp_prefixes.txt
结果:jp_prefixes.txt 为日本所有分配的 IPv4 前缀(/8-/32)。
3.
用 whois/路由确认原生归属与 ASN
步骤:对某个前缀或 IP 查询 whois 获取 origin ASN 与组织。
示例:
whois -h whois.apnic.net 203.0.113.1
或者:
whois -h whois.radb.net -- '-i origin ASxxxx'
目的是确认该前缀是否确为日本 ISP 原生段及其 ASN,便于按运营商分类。
4.
使用 GeoIP 数据库做区域映射
步骤:下载 MaxMind GeoLite2-City 或付费 GeoIP2 数据库。
示例(Python 批量):
from geoip2.database import Reader
r=Reader('GeoLite2-City.mmdb')
for ip in ip_list: rec=r.city(ip); print(ip, rec.country.iso_code, rec.subdivisions.most_specific.name)
说明:subdivisions 返回日本的都道府县(如 Tokyo、Osaka、Hokkaido),可据此做地区分布统计。
5.
批量查询与可视化流程
步骤:把 jp_prefixes.txt 展开为代表IP(例如每个 /24 取第一个地址)并批量查询 GeoIP,然后统计到 prefecture 层级。
示例命令思路:
python3 gen_sample_ips.py jp_prefixes.txt > sample_ips.txt
然后用 geoip2 或 ipinfo 批量查询,结果写入 CSV,再用 pandas 汇总并输出前十地域与对应前缀数,最后用 matplotlib 绘制柱状图。
6.
在线工具与实时验证
说明:小规模验证可直接用在线服务:
- https://ipinfo.io/{ip}/json
- https://db-ip.com/{ip}
操作:curl ipinfo.io/203.0.113.1/json 可查看 city、region、country、org。结合 traceroute (mtr -r 203.0.113.1) 检查路由跳数与 ISP 归属,帮助判断是否真在某地区出口。
7.
常见日本原生 IP 开头示例
说明:常见首段(仅示例,不等于全部)包括:27., 43., 49., 58., 59., 60., 61., 106., 110., 111., 113., 114., 115., 116., 118., 121., 126., 153., 175., 180., 182., 183., 202., 210., 211., 218., 219., 220., 221., 223. 建议用上文 APNIC + GeoIP 方法批量验证各首段在都道府县的分布。
8.
按地区细分的实操建议
步骤:将 GeoIP 返回的 prefecture 做透视表(Pivot),示例:
df.groupby(['prefecture','first_octet']).size().unstack(fill_value=0)
这样可以看到例如 223.x 在东京占比、180.x 在九州/福冈等,便于识别区域性集中前缀。
9.
注意事项与误差来源
说明:GeoIP 数据并非 100% 精确,CDN/Anycast、代理、VPN、移动运营商基站会导致误判。建议用 whois+ASN+traceroute 结合判定,并定期更新 GeoIP 数据库以保持精度。
10.
问:如何快速判断某个 IP 是否为日本本地(并确定省/都道府县)?
答:先用 whois 查询 ASN 与 org(whois -h whois.apnic.net IP),再用 ipinfo 或 GeoIP2 查询 city/subdivision。若需更高置信度,执行 traceroute/mtr 检查路由跳与 ISP 信息,三者一致即可确认。
11.
问:我有一个前缀列表,怎么批量统计每个都道府县的分布?
答:将每个前缀转换为代表 IP(如每个 /24 取 .1),用 geoip2 批量查询获得 subdivision(都道府县),用 pandas 的 groupby 或 Excel 透视表统计汇总并导出可视化图表。
12.
问:有哪些在线或开源资源能实时获取日本 IP 分配最新数据?
答:推荐 APNIC 的 delegated-apnic-latest(包含国家分配),MaxMind GeoLite2(地理位置),以及 ipinfo.io、db-ip 提供的 API。定期从 APNIC 拉取并结合 GeoIP 更新,可保持较高准确率。
来源:快速查询手册告诉你日本原生ip什么开头在不同地区的分布情况