跳转到内容

查询命令

简介

ips 命令不仅是 IPS 命令行工具的主入口,提供了多种子命令来处理 IP 数据库相关的操作,而且它本身也是查询命令,提供了查询 IP 地址的地理位置信息功能。

查询命令支持通过命令行参数或管道方式进行查询,适用于 IPv4 和 IPv6 地址,并且能够根据用户的配置输出自定义字段信息,以满足个性化的信息展示需求。

使用方法

作为命令行工具,ips 提供了直观的命令行参数查询和灵活的管道查询两种方式,让用户可以快速查询 IP 地址的地理位置信息。

用户还可以自定义查询结果中包含的字段,以及输出格式和语言,以便获得最适合自己需求的信息展示。

命令语法

Terminal window
# 命令行参数查询
ips <ip or text> [flags]
# 管道查询
echo <ip or text> | ips [flags]
  • -i, --file string:同时指定 IPv4 和 IPv6 数据库文件的路径。
  • --format string:指定 IPv4 和 IPv6 数据库文件的格式,需要与 --file 配合使用。默认为自动检测。
  • --database-option string:数据库读取器指定选项。具体信息请查阅相关的数据库格式文档或获取专业支持。
  • --ipv4-file string:指定 IPv4 数据库文件的路径。
  • --ipv4-format string:指定 IPv4 数据库文件的格式,需要与 --ipv4-file 配合使用。默认为自动检测。
  • --ipv6-file string:指定 IPv6 数据库文件的路径。
  • --ipv6-format string:指定 IPv6 数据库文件的格式,需要与 --ipv6-file 配合使用。默认为自动检测。
  • --hybrid-mode string: 指定混合读取器的操作模式,可选值为 comparisonaggregation,参数详细解释请参考 IPS 配置说明
  • --text-format string:指定文本输出的格式,支持 %origin 和 %values 参数。
  • --text-values-sep string:指定文本输出中值的分隔符,默认为空格。
  • -j, --json bool:以 JSON 格式输出结果。
  • --json-indent bool:以带缩进的 JSON 格式输出结果。参数详细解释请参考 IPS 配置说明
  • --use-db-fields bool:使用数据库中的字段名称。一般与 JSON 输出格式配合使用。参数详细解释请参考 IPS 配置说明
  • --lang string:设置输出信息的语言。默认为 zh-CN (中文)。参数详细解释请参考 IPS 配置说明
  • -f, --fields string:指定从输入文件中获取的字段。默认为所有字段。参数详细解释请参考 IPS 配置说明
  • -r, --rewrite-files string:指定需要载入的改写文件列表。参数详细解释请参考 IPS 配置说明
  • --loglevel string:设置日志级别,全局参数,可选值为 tracedebuginfowarnerrorfatalpanic,默认值为 info

示例

命令行查询 IP 地址

Terminal window
# 查询 IP 地址的地理位置信息
ips 8.8.8.8
# 查询多个 IP 地址的地理位置信息
ips 8.8.8.8 119.29.29.29

管道查询 IP 地址

Terminal window
# 使用 echo 传递 IP 地址给 ips 命令
echo 8.8.8.8 | ips
# 与 cat / dig 等命令配合使用
dig +short google.com | ips

自定义查询字段和输出格式

Terminal window
# 查询 IP 地址,仅输出国家和城市字段
ips 8.8.8.8 -f "country,city"
# 自定义文本输出格式
ips 8.8.8.8 --text-format "%values" --text-values-sep ":" --fields "country,city"

注意事项

  • 若初次使用,且没有指定数据库文件路径,则会自动下载 IP 数据库文件。
  • 关于默认 IP 数据库的选择
    • IPv4 的默认数据库为 qqwry.dat,选择纯真是因为目前有持续更新的社区资源(感谢 @metowolf),对于非国内用户,建议使用 GeoLite2-City.mmdb 或商用数据库。
    • IPv6 的默认数据库为 zxipv6wry.db,由于数据库文件较小,可以优化初次使用 IPS 工具时的体验,但这个数据库内容较为陈旧(最后更新时间为 2021 年 7 月),建议使用 GeoLite2-City.mmdb 或商用数据库。
  • 部分国家 IP 地理位置信息更新较快,如果商业项目使用本工具,请务必更换为较新的商业数据库!