ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

12款IP地址查询工具实测:从公网IP到CIDR归属地全覆盖

12款IP地址查询工具实测:从公网IP到CIDR归属地全覆盖 IP 地址查询这件事看起来简单真到用的时候才发现坑不少。比如你在排查一台打印机为什么连不上手头只有 MAC 地址得先反查出它拿了哪个 IP又比如做安全策略需要确认某个访问来源到底属于哪个网段、是不是内网地址再比如写脚本做日志分析得把一堆 IP 快速归类成内网/公网/保留地址。这些场景下一个好用的 IP 查询工具能省掉大量手工比对的时间。我自己在运维和开发岗位上折腾了十来年浏览器书签里长期躺着一批 IP 查询站点也踩过不少坑——有的站点查内网地址会返回错误结果有的把 IPv6 直接忽略还有的查完就给你弹一堆广告。这篇就把我实际在用的 12 款工具网站梳理一遍按使用场景分类讲清楚每个工具适合干什么、有什么坑、怎么配合命令行一起用。不管你是刚接触网络排查的新手还是天天和 IP 打交道的老手应该都能从中挑到几款顺手的。1. 先搞清楚你到底要查什么类型的 IP 信息在推荐工具之前得先把查询 IP这件事拆开。很多人以为查 IP 就是输入一个地址看归属地实际上需求差别很大选错工具会白费功夫。1.1 五类常见的 IP 查询需求我把日常遇到的查询需求归成五类你可以对号入座查本机公网 IP最常见想知道自己当前出口 IP 是多少做远程白名单、接口调试时经常用。查 IP 归属地与运营商输入一个 IP看它属于哪个地区、哪家运营商、是不是机房 IP。查 IP 段与 CIDR 归属给一个网段如192.168.1.0/24确认它属于哪个组织、是不是保留地址。反查域名与 IP 的对应关系通过 IP 反查绑定了哪些域名或者通过域名查它解析到哪些 IP。批量查询与格式转换一次查几十上百个 IP或者做 IP 与整数之间的转换热词里提到的ip地址转换int就是这类。这五类需求对应的工具其实不太一样。查本机公网 IP 的站点通常很轻量打开就显示而查 IP 段归属的站点往往要对接 WHOIS 数据库界面更重。下面按这个分类来展开。1.2 内网地址和公网地址查询逻辑完全不同这是新手最容易踩的坑。像192.168.x.x、10.x.x.x、172.16.x.x到172.31.x.x这些是 RFC 1918 定义的私有地址它们在全球互联网上没有归属地任何声称能查出192.168.1.1 属于某省某市的站点都是在瞎编。私有地址段速查表地址段范围常见用途10.0.0.0/810.0.0.0 - 10.255.255.255大型企业内网172.16.0.0/12172.16.0.0 - 172.31.255.255中型网络、容器网络192.168.0.0/16192.168.0.0 - 192.168.255.255家庭、小型办公127.0.0.0/8127.0.0.0 - 127.255.255.255本机回环169.254.0.0/16169.254.0.0 - 169.254.255.255链路本地DHCP 失败时常见提示如果你查一个内网地址工具返回了具体城市直接关掉这个站点它的数据库不可信。内网地址的归属只能在你自己的网络拓扑里查比如登录交换机看 ARP 表。理解了这两点选工具就有方向了。下面进入正题。2. 查本机公网 IP打开就能用的轻量站点这类需求最简单但也是被广告污染最严重的。我筛选的标准是打开快、不弹窗、能同时显示 IPv4 和 IPv6。2.1 极简派打开即显示没有任何多余元素ip.sb是我用得最多的一个。打开页面直接一行大字显示你的公网 IP下面附带 ASN、地理位置、时区。它的 API 也极其干净命令行里curl ip.sb就能拿到纯文本 IP写脚本时特别方便。实测在国内访问速度尚可偶尔会慢一点但基本能用。ifconfig.me是另一个老牌站点界面朴素到像上个时代的产物但胜在稳定。它支持通过 URL 路径指定返回格式比如curl ifconfig.me/ip只返回 IPcurl ifconfig.me/all返回全部信息。做自动化脚本时这个特性很实用。ipinfo.io的网页版会显示 IP、城市、地区、国家、运营商、时区、坐标等一整套信息信息量比前两个大。免费额度对个人使用完全够但要注意它的 API 有速率限制批量调用会被限流。这三个站点的共同点是不要求登录、不强制看广告、响应快。日常查本机 IP我基本就在这三个里轮换。2.2 双栈派同时看 IPv4 和 IPv6现在很多网络环境是双栈的你可能同时有 IPv4 和 IPv6 出口。test-ipv6.com虽然名字叫 test-ipv6但它会同时检测你的 IPv4 和 IPv6 连通性并分别显示两个地址。做 IPv6 改造验证时这个站点能一眼看出你的 IPv6 到底通没通。ipv6-test.com类似界面更现代一些会给出一个综合评分。它的一个好处是会告诉你当前访问走的是 IPv4 还是 IPv6排查为什么我明明有 IPv6 却走了 IPv4这类问题时很有用。注意如果你的网络只有 IPv4访问这些双栈检测站点时 IPv6 那一栏会显示失败这是正常的不代表你的网络有问题。2.3 命令行配合比网页更快的方式说实话查本机公网 IP 这件事命令行往往比开网页快。我常用的几条# 最简直接返回 IP curl ip.sb # 返回 JSON 格式方便解析 curl ipinfo.io/json # 只取 IP 字段 curl -s ipinfo.io/ip # 查 IPv6 出口 curl -6 ip.sb把这几条做成 alias比如alias myipcurl -s ip.sb以后终端里敲myip就出来了。这比打开浏览器、等页面加载、关广告要快得多。网页工具的价值在于可视化信息更全命令行胜在快和可脚本化两者配合用最舒服。3. 查 IP 归属地数据库准确度才是核心查某个 IP 属于哪里、哪家运营商这类工具的核心竞争力就是数据库的准确度和更新频率。同一个 IP不同站点查出来结果不一样是常事因为各家用的数据库不同。3.1 综合型信息全但要注意数据来源ip138.com是国内老牌查询站输入 IP 或域名都能查会显示归属地、运营商还附带同 IP 的其他站点。它的数据对国内 IP 的覆盖比较好查国内地址时结果通常比较准。缺点是页面广告多移动端体验一般。ipip.net是我比较信任的一个它背后有自己的 IP 地理信息数据库更新比较勤。除了网页查询它还提供离线数据库下载部分收费做批量分析时很有用。查国外 IP 的准确度比很多免费站点高。whatismyipaddress.com是英文站点里比较全的除了归属地还会给出 IP 的类型判断住宅/机房/移动网络做风控分析时这个信息很有价值。它的数据库对欧美 IP 覆盖较好查国内 IP 有时会偏。3.2 为什么同一个 IP 查出来结果不同这个问题我被问过很多次。根本原因是 IP 地理定位本身就不是精确科学。运营商分配 IP 段时一个段可能跨多个城市机房 IP 可能注册在一个地方但实际部署在另一个地方移动网络的 IP 更是动态漂移。所以看到不同站点结果不一致时不要急着说哪个错了。判断方法看哪个数据库更新日期更近交叉验证多个来源取多数一致的结果对精度要求高的场景直接联系运营商或查 WHOIS 记录提示查 IP 归属地时如果结果精确到某街道某小区基本可以判定是过度推断真实精度通常只到城市级别。3.3 反查域名一个 IP 上绑了哪些站yougetsignal.com的 reverse IP domain check 功能可以查一个 IP 上绑定了多少个域名做资产梳理或安全排查时很有用。dnslytics.com也提供类似功能数据量更大但免费查询次数有限。这类反查的原理是查询被动 DNS 数据库所以结果只包含曾经被记录过的域名不是实时的。如果你刚给一个 IP 绑了新域名可能查不到需要等数据库更新。4. 查 IP 段与 CIDR网络规划必备做网络规划、配防火墙策略时经常需要确认一个网段属于谁、是不是保留地址。这类工具比单纯查单个 IP 要专业一些。4.1 CIDR 计算与归属查询ipaddressguide.com的 CIDR 计算器很好用输入192.168.1.0/24会告诉你网络地址、广播地址、可用主机范围、子网掩码。做子网划分时不用手算直接输入就行。cidr.xyz界面极简输入 CIDR 后可视化显示地址范围还会标注是不是私有地址。它的一个亮点是支持 IPv6 的 CIDR 计算做 IPv6 子网规划时很方便。whois.arin.net是北美地址注册机构的官方 WHOIS 查询查一个 IP 段到底分配给哪个组织时这是最权威的来源。虽然界面老旧但数据准确。查其他地区的段可以跳到对应区域的注册机构站点。4.2 判断地址类型的实用技巧写脚本或配策略时经常要判断一个 IP 是不是内网、是不是保留地址。除了上面那张私有地址表还有几个容易忽略的100.64.0.0/10运营商级 NAT 地址常见于部分宽带环境192.0.2.0/24、198.51.100.0/24、203.0.113.0/24文档专用地址出现在真实流量里说明配置有问题224.0.0.0/4组播地址240.0.0.0/4保留地址用 Python 判断的话标准库ipaddress模块直接搞定import ipaddress ip ipaddress.ip_address(192.168.1.1) print(ip.is_private) # True print(ip.is_global) # False print(ip.is_loopback) # False这比调任何网页工具都快批量处理时尤其明显。网页工具适合临时查一两个脚本里还是用库更靠谱。5. 批量查询与格式转换效率党的选择单个查 IP 谁都会真正拉开效率差距的是批量处理。热词里出现的ip地址转换int、搜索局域网中所有的ip地址都属于这一类。5.1 IP 与整数互转IP 地址本质是一个 32 位整数点分十进制只是给人看的表示法。转换公式整数 a*256^3 b*256^2 c*256 d比如192.168.1.1 192×16777216 168×65536 1×256 1 3232235777。在线转换工具里ipaddressguide.com的 IP to Decimal 页面可以直接互转。但说实话这种转换用命令行一行就够# IP 转整数 python3 -c import ipaddress; print(int(ipaddress.ip_address(192.168.1.1))) # 整数转 IP python3 -c import ipaddress; print(ipaddress.ip_address(3232235777))数据库里存 IP 时用整数类型比字符串类型省空间、比较也快这是很多后端项目的常规做法。理解这个转换对做日志分析、IP 范围查询很有帮助。5.2 批量查询工具ipinfo.io提供批量 API一次可以提交多个 IP免费版有数量限制。ip-api.com的批量接口免费额度比较大方一次最多 100 个 IP做小规模批量查询够用。如果 IP 数量很大几千上万在线工具就不合适了应该下载离线数据库本地查。MaxMind GeoLite2提供免费的离线库配合对应语言的 SDK本地查询速度极快也不受网络和限流影响。这是做大规模 IP 分析的标准方案。5.3 局域网 IP 扫描热词里搜索局域网中所有的 IP 地址是个高频需求。网页工具做不了这个得用命令行。常用方法# Linux/macOS 下用 nmap 扫网段 nmap -sn 192.168.1.0/24 # 用 arp-scan需安装 arp-scan --local # 简单粗暴的 ping 扫段 for i in $(seq 1 254); do ping -c 1 -W 1 192.168.1.$i done扫完之后想知道某个 IP 对应的主机名可以用nslookup或dig -x反查。这些操作网页工具替代不了但配合前面查归属地的站点能快速摸清一个网络的构成。6. 那些容易踩的坑和我的实际经验工具列完了最后说几个我实际踩过的坑这些是文档里不会写的。6.1 免费站点的限流与数据滞后大部分免费 IP 查询站点都有速率限制只是不写在明面上。你连续查几十次可能就被临时封了。做批量任务时一定要加延时或者直接用离线库。另外免费站点的数据库更新往往滞后新分配的 IP 段可能查不到或查错对时效性要求高的场景要留意。6.2 隐私问题你查的 IP 也在被记录用在线工具查 IP 时你的查询请求本身会被站点记录。如果查的是敏感目标的 IP等于把关注点暴露了。做安全相关工作时这类查询尽量走本地工具或离线库。这不是危言耸听是基本的操作习惯。6.3 别迷信单一来源前面反复强调过IP 归属地没有绝对准确的。我的习惯是至少交叉两个来源结果一致才采信。做重要决策比如封禁某个 IP 段前一定要用 WHOIS 官方数据确认别只信一个第三方站点。6.4 IPv6 的查询要单独对待很多老牌查询站点对 IPv6 支持很差要么查不了要么返回错误结果。查 IPv6 地址时优先用专门支持 IPv6 的工具比如ip.sb和ipinfo.io对 IPv6 的支持都不错。判断一个站点是否支持 IPv6最简单的办法是看它能不能正确显示你的 IPv6 出口地址。6.5 工具组合比单个神器更实用折腾这么多年我的结论是没有哪个 IP 查询工具能覆盖所有场景。我的实际配置是——查本机 IP 用curl ip.sb查归属地用 ipip.net 加 ipinfo.io 交叉验证批量分析用 MaxMind 离线库局域网扫描用 nmap。网页工具负责快速临时查询命令行和离线库负责批量与自动化。这套组合用下来基本没遇到过解决不了的 IP 查询需求。如果你刚开始接触建议先把curl ip.sb和 ipinfo.io 这两个用熟覆盖 80% 的日常场景。等遇到批量或精度要求高的需求再往离线库和 WHOIS 方向深入。工具是死的搞清楚每种查询背后的原理比记住一堆网址更有价值。
返回列表