1.
• 目的:验证IP是否确实位于韩国本地(native KR IP),用于流量路由、内容本地化与合规性检测。
• 场景:CDN回源、广告投放地域限制、SLA与延迟监测、对抗IP代理与托管机房欺骗。
• 挑战:云厂商或代理商标注为KR但实际属于异地ASN(例如CN/US ASN),或使用Anycast/隧道虚拟化地理位置。
• 指标:常用判断指标包括WHOIS国家、GeoIP库(MaxMind/GeoLite2)结果、ASN归属、反向DNS、延迟与路由路径。
• 输出需求:批量输出每个IP的验证结论(真/伪)、证据(whois/geoip/AS/RTT/traceroute)。
2.
常用韩国原生IP查询网址与API(带速率与回应说明)
• ip-api.com:免费速率约45 req/min,返回countryCode、isp、as、reverse等字段。
• ipinfo.io:免费额度有限,付费可达高并发;返回asn、country、org、loc等。
• ipgeolocation.io / ipgeolocate.io:企业级服务支持批量CSV,通常延迟 <200ms。
• whois.cymru.com(Team Cymru):可批量查询ASN归属,推荐用于AS判定,响应稳定但需批量格式化。
• GeoIP(MaxMind / GeoLite2):本地数据库查询,查大量IP速度最快,常见更新周期每月一次。
3.
批量查验方法总体流程与判断规则
• 步骤一:先通过本地GeoIP库(MaxMind GeoLite2)做初筛,快速判定疑似韩国IP。
• 步骤二:对疑似IP调用ip-api或ipinfo补充ASN与isp信息,检查ASN是否为KR注册或为跨国CDN。
• 步骤三:whois与Team Cymru查询ASN注册国家与所有者,判定是否为韩国注册ASN。
• 步骤四:进行ICMP/TCP RTT测量与traceroute,判断网络路径是否经过非韩境内节点。
• 步骤五:最终合并规则(例如:GeoIP为KR且ASN登记国家为KR且rtt < 80ms => 判定为“韩国原生”)。
4.
Shell脚本批量查验示例(适合VPS/云主机运行)
• 环境:Ubuntu 22.04, bash, curl, whois, geoiplookup, parallel。建议VPS配置:2vCPU/4GB/100Mbps。
• 脚本概览:读取ip_list.txt,调用本地geoiplookup,再并发调用ip-api,最后whois核验并输出CSV。
• 关键命令示例(脚本片段):
while read IP; do
GEO=$(geoiplookup $IP | awk -F: '{print $2}' )
API=$(curl -s "http://ip-api.com/json/$IP?fields=status,countryCode,as,isp,query")
WHOIS=$(whois $IP | grep -E 'country|origin|NetName' | head -n3)
echo "$IP|$GEO|$API|$WHOIS"
done > results.raw
• 并发优化:使用GNU parallel或xargs -P 50来并发请求,注意API速率限制(ip-api free 每分钟约45次)。
• 输出整理:将results.raw解析为CSV,使用规则合并判定(示例:Geo包含 KR 且 API countryCode 为 KR 则标记为YES)。
5.
Python并发脚本示例与性能数据
• 推荐库:aiohttp、asyncio、python-whois、geoip2(MaxMind本地库)。
• 并发范例(逻辑说明):使用aiohttp连接池并发度50,超时设置3s,重试2次,写入结果到异步队列。
• 性能示例(实测数据):在一台2vCPU/4GB VPS上并发50,处理1000个IP平均耗时约120秒(含whois与geoip本地查询),平均每IP约120ms。
• Python伪代码片段:
async def check_ip(ip):
async with session.get(f"http://ip-api.com/json/{ip}?fields=status,countryCode,as") as r:
data = await r.json()
# geoip2 本地库查询
# whois 异步执行或线程池
return (ip, data, geoip, whois_info)
• 注意事项:付费API可提高速率与准确率;本地MaxMind库可显著降低API调用次数与成本。
6.
真实案例与服务器/网络配置举例(含表格证明)
• 背景:某广告平台采购一批“韩国原生IP”用于地域定向,结果发现转化率异常低,经排查疑似并非真KR IP。
• 操作:对样本100个IP批量检测,使用MaxMind、ip-api与Team Cymru交叉验证,并做ping/traceroute。
• 结果(部分示例):
| IP | GeoIP | ASN | RTT(ms) | 结论 |
| 203.252.12.34 | KR | AS9370 (KT) | 32 | 原生KR |
| 121.78.95.10 | CN | AS4837 (CHINAUNICOM) | 210 | 非KR |
| 39.115.66.77 | KR | AS17776 (GOOGLE) | 85 | 疑似Anycast/CDN |
• 服务器配置示例(用于检测与数据处理):
• 检测主机:VPS(Provider X,东京节点)2vCPU/4GB/50GB SSD/1Gbps;用于并发API调用、保存日志。
• 数据库与存储:使用PostgreSQL + 本地MaxMind GeoLite2(每月更新一次),结果存储与去重。
• 网络与防护:若需对外暴露接口建议启用Cloudflare CDN + WAF,配置速率限制并开启TCP/UDP层DDoS防护(例如按分钟限制API请求,基本阈值:每IP 60 RPM)。
7.
总结与合规/运维注意事项
• 合规性:批量查询WHOIS与IP信息应遵守目标服务的使用条款与当地法规,避免大规模扫网引发封禁或法律风险。
• 缓存与节流:本地缓存GeoIP结果并设置TTL(建议7天),对第三方API做全局节流,避免超额计费。
• 精度提升:结合多源(GeoIP+whois+ASN+traceroute)判断,提高误判率低于1%。
• DDoS防护:如果检测系统对外提供查询接口,务必启用CDN/WAF、速率限制与来源白名单;对暴力探测设置自动封禁。
• 运维建议:在VPS上部署时预留监控(prometheus/alertmanager),记录API速率、失败率与网络异常,定期审计检测规则。
来源:实用技巧 韩国原生ip查询网址批量查验的方法与脚本