太强了!这款开源终端工具可查询 IP 信息 ...

2022-05-17 17:14:10 浏览数 (1)

大家好,我是杰哥。

在 Linux 下,有dignslookuptraceroute等多种非常实用的网络调试工具。

  • dig:是常用的域名查询工具,可以用来测试域名是否正常。
  • nslookup:是常用的域名查询工具,也就是查 DNS 信息时用到的命令,它有两种工作模式,分别为交互模式和非交互模式。

交互模式:用户可以向域名服务器查询各类主机、域名的信息或输出域名中的主机列表。 非交互模式:用户可以针对一个主机或域名仅获取它特定的名称或所需信息。

  • traceroute:是用于追踪数据包在网络上传输时的全部路径。

那么,在这篇文章中,给大家介绍一个可以在终端下查询 IP 地理信息和 CDN 提供商的工具 —— nali

nali中文里的谐音是「哪里」。它最初是基于 C 语言编写的小工具,由于版本功能的缺失,js 版本包问题、支持的平台有限。

后来基于 GoLang 重写了这款工具,在原有功能的基础之上增加了对 IPv6 的支持,并且增加了 Geoip2 数据库。

1. nali 的特征
  • 支持多种数据库
  • 纯真 IPv4 离线数据库
  • ZX IPv6 离线数据库
  • Geoip2 城市数据库 (可选)
  • IPIP 数据库 (可选)
  • ip2region 数据库 (可选)
  • CDN 服务提供商查询
  • 支持管道处理
  • 支持交互式查询
  • 支持 IPv4 和 IPv6
  • 支持多语言
  • 查询完全离线
  • 全平台支持
  • 支持彩色输出
2. nali 的安装

通过源码安装 nali,需预先安装 Go >= 1.18 的版本。

代码语言:javascript复制
# go install github.com/zu1k/nali

下载预编译的可执行程序进行安装 nali,可直接通过 nali 项目中的 Release 页面选择适合目前的系统及硬件架构的版本进行下载,解压后直接运行即可。

我这以 CentOS 为例,直接下载的安装包,进行解压编译并更新 nali。

--no-check-certificate参数以不安全的方式连接进行下载。

代码语言:javascript复制
# wget http://www.dwhd.org/wp-content/uploads/2015/08/nali-0.2.tar.gz --no-check-certificate
# tar xf nali-0.2.tar.gz
# cd nali-0.2
# ./configure && make && make install && nali-update
3. nali 的使用

查询某个 IP 的地理信息

代码语言:javascript复制
# nali 9.9.9.9
9.9.9.9[美国 纽约IBM公司]

除上述查询方式以外,还可以结合使用|管道符进行查询。

代码语言:javascript复制
# echo IP:8.8.8.8 | nali
IP:8.8.8.8[美国 加利福尼亚州山景市谷歌公司DNS服务器]

同时查询多个 IP 地址信息

代码语言:javascript复制
# nali 1.1.1.1 8.8.8.8 9.9.9.9
1.1.1.1[澳大利亚]
8.8.8.8[美国 加利福尼亚州山景市谷歌公司DNS服务器]
9.9.9.9[美国 纽约IBM公司]

交互式查询多个 IP 地址信息,可执行nali回车后,输入 IP 地址,直到查询完毕,使用exitquitCtrl C退出交互式查询。

代码语言:javascript复制
# nali
219.141.136.10
219.141.136.10[北京市 电信]
180.76.76.76
180.76.76.76[北京市 百度公司]
223.5.5.5
223.5.5.5[中国 万网]
exit         

nalidig命令结合使用

代码语言:javascript复制
# dig github.com  short | nali
20.205.243.166[美国 Computer]

nalinslookup命令结合使用

代码语言:javascript复制
# nslookup github.com 8.8.8.8 | nali
Server:        8.8.8.8[美国 加利福尼亚州山景市谷歌公司DNS服务器]
Address:    8.8.8.8[美国 加利福尼亚州山景市谷歌公司DNS服务器]#53

Non-authoritative answer:
Name:    github.com
Address: 20.205.243.166[美国 Computer]

查看 CDN 服务提供商,CDN 服务通常使用 CNAME 的域名解析方式,需要与 nslookup 或 dig 结合使用。

代码语言:javascript复制
# nslookup www.newduba.cn | nali
Server:        192.168.1.1[局域网 对方和您在同一内部网]
Address:    192.168.1.1[局域网 对方和您在同一内部网]#53

Non-authoritative answer:
www.newduba.cn    canonical name = www.newduba.cn.w.kunluncan.com.
Name:    www.newduba.cn.w.kunluncan.com
Address: 111.31.66.218[中国 移动]
Name:    www.newduba.cn.w.kunluncan.com
Address: 111.31.66.220[中国 移动]
Name:    www.newduba.cn.w.kunluncan.com
Address: 111.31.66.225[中国 移动]
Name:    www.newduba.cn.w.kunluncan.com
Address: 111.31.66.224[中国 移动]
Name:    www.newduba.cn.w.kunluncan.com
Address: 111.31.66.221[中国 移动]
Name:    www.newduba.cn.w.kunluncan.com
Address: 111.31.66.223[中国 移动]
Name:    www.newduba.cn.w.kunluncan.com
Address: 111.31.66.219[中国 移动]
Name:    www.newduba.cn.w.kunluncan.com
Address: 111.31.66.222[中国 移动]

只查询 CDN 服务提供商

代码语言:javascript复制
# nslookup www.xxx.cn | nali cdn

CNAME 域名单独使用

代码语言:javascript复制
# nali cdn cdn.xxx.com
4. nali 的使用技巧

更新数据库

代码语言:javascript复制
# nali update

自定义 IP 数据库,需设置环境变量NALI_DB_IP4NALI_DB_IP6

目前所支持的变量内容:

代码语言:javascript复制
Geoip2 ['geoip', 'geoip2', 'geo']
Chunzhen ['chunzhen', 'qqip', 'qqwry']
IPIP ['ipip', 'ipipfree', 'ipip.net']
Ip2Resion ['ip2region', 'region', 'i2r']

若使用第三方的 IP 数据库,需手动下载对应的 IP 数据库。

Windows 平台

代码语言:javascript复制
使用 geoip 数据库

set NALI_DB_IP4=geoip
或者使用 powershell
$env:NALI_DB_IP4="geoip"

使用 ipip 数据库

set NALI_DB_IP6=ipip
或者使用 powershell
$env:NALI_DB_IP6="ipip"

Linux 平台

代码语言:javascript复制
使用 geoip 数据库
export NALI_DB_IP4=geoip

使用 ipip 数据库
export NALI_DB_IP4=ipip

0 人点赞