你可能错过了最实用的 IP 查询工具!

442 阅读3分钟

在网络运维和开发过程中,快速准确地获取 IP 地址的地理信息和其对应的 CDN 服务提供商,对于优化网络性能和定位问题至关重要。本⽂将介绍如何使用 Nali 并通过 Docker 容器化部署,确保系统的简洁性和可移植性。

什么是 Nali?

Nali 是⼀款开源的命令⾏⼯具,支持离线查询 IP 地址的地理位置和对应的 CDN 服务提供商。其名称取⾃中⽂“哪⾥”的谐⾳,旨在帮助⽤⼾快速定位 IP 的归属地。Nali ⽀持多种数据库,包括纯真 IPv4 离线数据库、ZX IPv6 离线数据库、GeoIP2 城市数据库等,能够在终端中直接显示查询结果,方便快捷。

为什么选择 Docker 部署?

使⽤ Docker 部署 Nali 有以下优势:

环境隔离: 避免对主机系统环境的污染,确保不同项⽬之间依赖度独立。

快速部署: 通过 Docker 镜像,可以在不同环境中快速部署和运⾏ Nali。

易于维护: 容器化的应⽤更易于更新和管理,提升运维效率。

部署步骤

1. 下载 Nali 可执行文件

⾸先,下载适⽤于 Linux 的 Nali 可执⾏⽂件。在撰写本⽂时,最新版本为 v0.8.1。您可以从 GitHub Releases ⻚⾯ 获取。 执⾏以下命令下载并解压:

wget https://github.com/zu1k/nali/releases/download/v0.8.1/nali-linux-386-v0.8.1.gz
gzip -d nali-linux-386-v0.8.1.gz
mv nali-linux-386-v0.8.1 nali
chmod +x nali

image.png

image.png

2. 编写 Dockerfile

在当前⽬录下创建⼀个名为 Dockerfile 的⽂件,内容如下:

FROM alpine:3.19

COPY ./nali /usr/bin/nali

# 安装 dig 和 nslookup
RUN apk add --update bind-tools

该 Dockerfile 基于 Alpine 3.19 镜像,复制已下载的 Nali 可执⾏⽂件到容器的 /usr/bin/ ⽬录,并安装 bind-tools 以提供 dignslookup 命令的⽀持。

3. 构建 Docker 镜像

Dockerfile 所在⽬录,执⾏以下命令构建镜像:

docker build -t nali:latest -f ./Dockerfile .

构建完成后,使⽤以下命令查看镜像是否创建成功:

docker images | grep nali

image.png

使用示例

镜像构建完成后,可以通过以下方式使用 Nali 进⾏ IP 信息查询。

查询单个 IP 的地理信息

docker run --rm -it \
-e NALI_HOME=/var/nali \
-v /var/nali:/var/nali \
nali:latest \
nali 1.2.3.4

image.png

⾸次查询时,Nali 会自动下载 IP 数据库。

查询多个 IP 的地理信息

docker run --rm -it \
-e NALI_HOME=/var/nali \
-v /var/nali:/var/nali \
nali:latest \
sh -c 'nali 1.2.3.4 4.3.2.1 123.23.3.0'

image.png

dig 指令配合使用

docker run --rm -it \
-e NALI_HOME=/var/nali \
-v /var/nali:/var/nali \
nali:latest \
sh -c 'dig www.baidu.com | nali'

image.png

nslookup 指令配合使用

docker run --rm -it \
-e NALI_HOME=/var/nali \
-v /var/nali:/var/nali \
nali:latest \
sh -c 'nslookup www.baidu.com | nali'

image.png

支持 IPv6 查询

docker run --rm -it \
-e NALI_HOME=/var/nali \
-v /var/nali:/var/nali \
nali:latest \
sh -c 'nslookup google.com | nali'

image.png

查询 CDN 服务提供商

docker run --rm -it \
-e NALI_HOME=/var/nali \
-v /var/nali:/var/nali \
nali:latest \
sh -c 'nslookup www.gov.cn | nali'

image.png

更新 IP 数据库

docker run --rm -it \
-e NALI_HOME=/var/nali \
-v /var/nali:/var/nali \
nali:latest \
nali update

image.png

项目地址

更多项⽬详细信息,请访问 Nali 的 GitHub 项目主页

快捷镜像

ccr.ccs.tencentyun.com/erik_xu/nali:latest

结语

通过以上步骤,您可以在 Docker 容器中快速部署并使用 Nali 进⾏ IP 地理信息和 CDN 服务提供商的查询。如果您在使用过程中有任何问题或需要技术支持,欢迎在公众号【跬步之巅】留言交流