查询命令
简介
ips
命令不仅是 IPS 命令行工具的主入口,提供了多种子命令来处理 IP 数据库相关的操作,而且它本身也是查询命令,提供了查询 IP 地址的地理位置信息功能。
查询命令支持通过命令行参数或管道方式进行查询,适用于 IPv4 和 IPv6 地址,并且能够根据用户的配置输出自定义字段信息,以满足个性化的信息展示需求。
使用方法
作为命令行工具,ips
提供了直观的命令行参数查询和灵活的管道查询两种方式,让用户可以快速查询 IP 地址的地理位置信息。
用户还可以自定义查询结果中包含的字段,以及输出格式和语言,以便获得最适合自己需求的信息展示。
命令语法
# 命令行参数查询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
: 指定混合读取器的操作模式,可选值为comparison
与aggregation
,参数详细解释请参考 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
:设置日志级别,全局参数,可选值为trace
、debug
、info
、warn
、error
、fatal
和panic
,默认值为info
。
示例
命令行查询 IP 地址
# 查询 IP 地址的地理位置信息ips 8.8.8.8
# 查询多个 IP 地址的地理位置信息ips 8.8.8.8 119.29.29.29
管道查询 IP 地址
# 使用 echo 传递 IP 地址给 ips 命令echo 8.8.8.8 | ips
# 与 cat / dig 等命令配合使用dig +short google.com | ips
自定义查询字段和输出格式
# 查询 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
或商用数据库。
- IPv4 的默认数据库为
- 部分国家 IP 地理位置信息更新较快,如果商业项目使用本工具,请务必更换为较新的商业数据库!