Go to file
2020-07-19 09:29:26 +08:00
.github Update dependabot.yml 2020-07-19 09:29:26 +08:00
cmd add init for root 2020-07-19 07:36:58 +08:00
constant mod comment 2020-07-17 09:55:24 +08:00
internal parse cdn when parse stdin 2020-07-19 07:24:25 +08:00
pkg rm noneed 2020-07-19 07:41:58 +08:00
.gitignore add db 2020-07-18 10:00:17 +08:00
Dockerfile update makefile and dockerfile 2020-07-17 11:11:56 +08:00
go.mod update readme 2020-07-17 13:26:26 +08:00
go.sum zx ipv6 test 2020-07-18 09:52:59 +08:00
LICENSE init 2020-07-17 09:05:25 +08:00
main.go add chunzhen update 2020-07-17 12:12:04 +08:00
Makefile Update Makefile 2020-07-17 11:59:23 +08:00
README_zh-CN.md add zh doc 2020-07-19 07:59:42 +08:00
README.md Update README.md 2020-07-19 08:00:20 +08:00


Nali

An offline tool for querying IP geographic information and CDN provider.

Github Actions

中文文档

Feature

  • Chunzhen qqip database
  • ZX ipv6 database
  • Geoip2 city database
  • Pipeline support
  • Interactive query
  • Offline query
  • Both ipv4 and ipv6 supported
  • CDN provider query

Install

Install from source

Nali Requires Go >= 1.14. You can build it from source:

$ go get -u -v github.com/zu1k/nali

Install pre-build binariy

Pre-built binaries are available here: release

Download the binary compatible with your platform, unpack and copy to the directory in path

Install from docker

docker pull docker.pkg.github.com//zu1k/nali/nali:latest

Usage

Query a simple IP address

$ nali 1.2.3.4
1.2.3.4 [澳大利亚 APNIC Debogon-prefix网络]

or use pipe

$ echo IP 6.6.6.6 | nali
IP 6.6.6.6 [美国 亚利桑那州华楚卡堡市美国国防部网络中心]

Query multiple IP addresses

$ nali 1.2.3.4 4.3.2.1 123.23.3.0
1.2.3.4 [澳大利亚 APNIC Debogon-prefix网络]
4.3.2.1 [美国 新泽西州纽瓦克市Level3Communications]
123.23.3.0 [越南 越南邮电集团公司]

Interactive query

use exit or quit to quit

$ nali
123.23.23.23
123.23.23.23 [越南 越南邮电集团公司]
1.0.0.1
1.0.0.1 [美国 APNIC&CloudFlare公共DNS服务器]
8.8.8.8
8.8.8.8 [美国 加利福尼亚州圣克拉拉县山景市谷歌公司DNS服务器]
quit

Use with dig

$ dig nali.lgf.im +short | nali
104.28.2.115 [美国 CloudFlare公司CDN节点]
104.28.3.115 [美国 CloudFlare公司CDN节点]
172.67.135.48 [美国 CloudFlare节点]

Use with nslookup

$ nslookup nali.lgf.im 8.8.8.8 | nali
Server:         8.8.8.8 [美国 加利福尼亚州圣克拉拉县山景市谷歌公司DNS服务器]
Address:        8.8.8.8 [美国 加利福尼亚州圣克拉拉县山景市谷歌公司DNS服务器]#53

Non-authoritative answer:
Name:   nali.lgf.im
Address: 104.28.3.115 [美国 CloudFlare公司CDN节点]
Name:   nali.lgf.im
Address: 104.28.2.115 [美国 CloudFlare公司CDN节点]
Name:   nali.lgf.im
Address: 172.67.135.48 [美国 CloudFlare节点]

Use with any other program

Because nali can read the contents of the stdin pipeline, it can be used with any program

bash abc.sh | nali

Nali will insert ip information after ip

IPV6 support

Use like ipv4

$ nslookup google.com | nali
Server:         127.0.0.53 [局域网 IP]
Address:        127.0.0.53 [局域网 IP]#53

Non-authoritative answer:
Name:   google.com
Address: 216.58.211.110 [美国 Google全球边缘网络]
Name:   google.com
Address: 2a00:1450:400e:809::200e [荷兰Amsterdam Google Inc. 服务器网段]

Query CDN provider

Query CDN provider only

$ nslookup www.gov.cn | nali cdn
Server:         127.0.0.53
Address:        127.0.0.53#53

Non-authoritative answer:
www.gov.cn      canonical name = www.gov.cn.bsgslb.cn [白山云 CDN].
www.gov.cn.bsgslb.cn [白山云 CDN]       canonical name = zgovweb.v.bsgslb.cn [白山云 CDN].
Name:   zgovweb.v.bsgslb.cn [白山云 CDN]
Address: 185.232.56.148
Name:   zgovweb.v.bsgslb.cn [白山云 CDN]
Address: 185.232.56.147
Name:   zgovweb.v.bsgslb.cn [白山云 CDN]
Address: 2001:428:6402:21b::6
Name:   zgovweb.v.bsgslb.cn [白山云 CDN]
Address: 2001:428:6402:21b::5

Also query IP geo

$ nslookup www.gov.cn | nali
Server:         127.0.0.53 [局域网 IP]
Address:        127.0.0.53 [局域网 IP]#53

Non-authoritative answer:
www.gov.cn      canonical name = www.gov.cn.bsgslb.cn [白山云 CDN].
www.gov.cn.bsgslb.cn [白山云 CDN]       canonical name = zgovweb.v.bsgslb.cn [白山云 CDN].
Name:   zgovweb.v.bsgslb.cn [白山云 CDN]
Address: 103.104.170.25 [新加坡 ]
Name:   zgovweb.v.bsgslb.cn [白山云 CDN]
Address: 2001:428:6402:21b::5 [美国Louisiana州Monroe Qwest Communications Company, LLC (CenturyLink)]
Name:   zgovweb.v.bsgslb.cn [白山云 CDN]
Address: 2001:428:6402:21b::6 [美国Louisiana州Monroe Qwest Communications Company, LLC (CenturyLink)]

Use standalone

You should parse cname by yourself

$ nali cdn cdn.somecdncname.com

Interface

Help

$ nali --help
Usage:
  nali [flags]
  nali [command]

Available Commands:
  cdn         Query cdn service provider
  help        Help about any command
  parse       Query IP information
  update      update chunzhen ip database

Flags:
  -h, --help     help for nali
  -t, --toggle   Help message for toggle

Use "nali [command] --help" for more information about a command.

Update chunzhen IP database

$ nali update
2020/07/17 12:53:46 正在下载最新纯真 IP 库...
2020/07/17 12:54:05 已将最新的纯真 IP 库保存到本地 /root/.nali/qqwry.dat

Use Geoip2 database

Set environment variables NALI_DB

supported database:

  • Geoip2 ['geoip', 'geoip2', 'geo']
  • Chunzhen ['chunzhen', 'qqip', 'qqwry']

Windows

set NALI_DB=geoip

Linux

export NALI_DB=geoip

Thanks

License

MIT