這篇文章給大家分享的是有關(guān)linux中如何使用Nali的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來自于我們對這個行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價值的長期合作伙伴,公司提供的服務(wù)項(xiàng)目有:主機(jī)域名、雅安服務(wù)器托管、營銷軟件、網(wǎng)站建設(shè)、青銅峽網(wǎng)站維護(hù)、網(wǎng)站推廣。
什么是 Nali
dig、nslookup、traceroute 等都是非常實(shí)用的網(wǎng)絡(luò)調(diào)試工具,Nali 是一個可以自動解析這些工具 stdout 中的 IP 并附上所屬 ISP 和地理信息,對這些已是瑞士軍刀般的工具可謂如虎添翼。
Nali 取自中文「哪里」。Nali 一開始是數(shù)年前由 surfchen 用 C 和 Perl 寫成的小工具(C 用于解析純真 IP 數(shù)據(jù)庫,Perl 用于解析 stdout),如今已經(jīng)失傳。
今天給大家介紹兩款基于 GO 語言和 Nodejs 開發(fā)的,且具有更多高級功能的新一代 Nali。
Nali CLI
Nali CLI 采用 Nodejs 開發(fā),在安裝之前,你的環(huán)境必須已經(jīng)具備 Nodejs 環(huán)境。
項(xiàng)目地址:
GitHub: https://github.com/sukkaw/nali-cli
官網(wǎng):https://nali.skk.moe/
安裝
對于環(huán)境中有 Node.js 的,可以直接通過 NPM 和 Yarn 安裝:
# NPM $ npm i nali-cli -g # Yarn $ yarn global add nali-cli
Nali CLI 也有預(yù)編譯好的供 macOS x64 和 Linux x64 的二進(jìn)制文件,可以在 GitHub Repo 中的 ?bin 目錄中下載。
首次運(yùn)行 Nali CLI 時會自動下載所需的 qqwry.dat 到 $HOME/.config/nali-cli/ 目錄下。
常用命令行語法
$ nali --help Usage: nali[options] Options: -v, --version 版本信息 -h, --help output usage information Commands: parse 解析 stdin 或參數(shù)中的 IP 信息 (默認(rèn)) update 更新 IP 庫 help [cmd] display help for [cmd] $ nali update --help Usage: update [options] 更新 IP 庫 (qqwry.dat) Options: -r, --remote 獲取最新 IP 庫版本信息 -f, --force 強(qiáng)制更新 IP 庫 -y, --yes 直接更新 IP 庫 -h, --help output usage information
使用
Nali CLI 支持從傳入的參數(shù)中解析 IP:
$ nali 11.4.5.14 11.4.5.14 [美國 俄亥俄州哥倫布市 DoD 網(wǎng)絡(luò)信息中心] $ nali Cloudflare 1.0.0.1 1.1.1.1 Cloudflare 1.1.1.1 [美國 APNIC&CloudFlare 公共 DNS 服務(wù)器] 1.0.0.1 [美國 APNIC&CloudFlare 公共 DNS 服務(wù)器] $ nali 114.514.191.9 114.5.1.4 114.514.191.8 114.5.1.4 [印度尼西亞]
除此以外,Nali CLI 內(nèi)置了以下幾個常用工具:
nali-dig
nali-nslookup
nali-ping
nali-tracepath
nali-traceroute
注意,上述工具只是 Wrapper,使用時仍然需要安裝原始程序。比如要使用 nali-dig 和 nali-nslookup 需要先安裝 Bind (dnsutils)。
$ nali-nslookup nali.skk.moe 1.1.1.1 Server: 1.1.1.1 [美國 APNIC&CloudFlare 公共 DNS 服務(wù)器] Address: 1.1.1.1 [美國 APNIC&CloudFlare 公共 DNS 服務(wù)器]#53 Non-authoritative answer: Name: nali.skk.moe Address: 104.18.100.28 [美國 CloudFlare 公司 cdn 節(jié)點(diǎn)] Name: nali.skk.moe Address: 104.18.101.28 [美國 CloudFlare 公司 CDN 節(jié)點(diǎn)] Name: nali.skk.moe Address: 2606:4700::6812:641c Name: nali.skk.moe Address: 2606:4700::6812:651c
Nali CLI 還支持從外部的 stdin 中解析和查詢 IP 信息,因此像 mtr 這類未被 Nali CLI 包裝的工具也可以使用:
# 這里以 dig 為例 $ dig nali.skk.moe @1.1.1.1 +short | nali 104.18.100.28 [美國 CloudFlare 公司 CDN 節(jié)點(diǎn)] 104.18.101.28 [美國 CloudFlare 公司 CDN 節(jié)點(diǎn)]
對于 mtr 等,還可以自行創(chuàng)建 nali-mtr 文件并添加到 PATH 中:
#!/bin/sh mtr $@ 2>&1 | nali
也可以直接在 .bashrc 或 .zshrc 中注冊 nali-mtr:
nali-mtr() { mtr $@ 2>&1 | nali }
Nali CLI 也可以更新 qqwry.dat:
$ nali upadte
Nali (Go 版本)
Nali (Go 版本)是在 Sukka 的 Nodejs 版本上進(jìn)行改良的,它在原有功能的基礎(chǔ)上增加了對 IPv6 的支持,并且增加了 Geoip2 數(shù)據(jù)庫。
項(xiàng)目地址:
GitHub: https://github.com/zu1k/nali
支持的功能
純真 IPv4 離線數(shù)據(jù)庫
ZX IPv6 離線數(shù)據(jù)庫
Geoip2 城市數(shù)據(jù)庫 (可選)
IPIP 數(shù)據(jù)庫 (可選)
CDN 服務(wù)提供商查詢
支持管道處理
支持交互式查詢
同時支持 IPv4 和 IPv6
查詢完全離線
全平臺支持
安裝
鴻蒙官方戰(zhàn)略合作共建——HarmonyOS技術(shù)社區(qū)
從源碼安裝
Nali 需要預(yù)先安裝 Go. 安裝后可以從源碼安裝軟件:
$ go get -u -v github.com/zu1k/nali
2. 下載預(yù)編譯的可執(zhí)行程序(推薦)
直接從項(xiàng)目的 ?Release 頁面下載預(yù)編譯好的可執(zhí)行程序,你只需要選擇適合你系統(tǒng)和硬件架構(gòu)的版本下載,解壓后直接運(yùn)行即可。
常用命令語法
$ 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.
使用
第一次使用時會需要點(diǎn)時間,因?yàn)橐螺d純真和 CDN 相關(guān)數(shù)據(jù)庫。
$ nali 2020/08/20 17:37:14 文件不存在,嘗試從網(wǎng)絡(luò)獲取最新純真 IP 庫 2020/08/20 17:37:32 已將最新的 純真IP庫 保存到本地: /Users/Mike/.nali/qqwry.dat 2020/08/20 17:37:32 文件不存在,嘗試從網(wǎng)絡(luò)獲取最新ZX IPv6數(shù)據(jù)庫 2020/08/20 17:37:33 已將最新的 ZX IPv6數(shù)據(jù)庫 保存到本地: /Users/Mike/.nali/ipv6wry.db 2020/08/20 17:37:33 文件不存在,嘗試從網(wǎng)絡(luò)獲取最新CDN數(shù)據(jù)庫 2020/08/20 17:37:34 已將最新的 CDN數(shù)據(jù)庫 保存到本地: /Users/Mike/.nali/cdn.json
鴻蒙官方戰(zhàn)略合作共建——HarmonyOS技術(shù)社區(qū)
查詢一個 IP 的地理信息
$ nali 1.2.3.4 1.2.3.4 [澳大利亞 APNIC Debogon-prefix網(wǎng)絡(luò)] # 或者使用管道 $ echo IP 6.6.6.6 | nali IP 6.6.6.6 [美國 亞利桑那州華楚卡堡市美國國防部網(wǎng)絡(luò)中心]
2. 同時查詢多個IP的地理信息
$ nali 1.2.3.4 4.3.2.1 123.23.3.0 1.2.3.4 [澳大利亞 APNIC Debogon-prefix網(wǎng)絡(luò)] 4.3.2.1 [美國 新澤西州紐瓦克市Level3Communications] 123.23.3.0 [越南 越南郵電集團(tuán)公司]
3. 交互式查詢
使用 exit 或 quit 退出查詢。
$ nali 123.23.23.23 123.23.23.23 [越南 越南郵電集團(tuán)公司] 1.0.0.1 1.0.0.1 [美國 APNIC&CloudFlare公共DNS服務(wù)器] 8.8.8.8 8.8.8.8 [美國 加利福尼亞州圣克拉拉縣山景市谷歌公司DNS服務(wù)器] quit
4. 與 dig 命令配合使用
需要你系統(tǒng)中已經(jīng)安裝好 dig 程序。
$ dig nali.lgf.im +short | nali 104.28.2.115 [美國 CloudFlare公司CDN節(jié)點(diǎn)] 104.28.3.115 [美國 CloudFlare公司CDN節(jié)點(diǎn)] 172.67.135.48 [美國 CloudFlare節(jié)點(diǎn)]
5. 與 nslookup 命令配合使用
需要你系統(tǒng)中已經(jīng)安裝好 nslookup 程序。 $ nslookup nali.lgf.im 8.8.8.8 | nali Server: 8.8.8.8 [美國 加利福尼亞州圣克拉拉縣山景市谷歌公司DNS服務(wù)器] Address: 8.8.8.8 [美國 加利福尼亞州圣克拉拉縣山景市谷歌公司DNS服務(wù)器]#53 Non-authoritative answer: Name: nali.lgf.im Address: 104.28.3.115 [美國 CloudFlare公司CDN節(jié)點(diǎn)] Name: nali.lgf.im Address: 104.28.2.115 [美國 CloudFlare公司CDN節(jié)點(diǎn)] Name: nali.lgf.im Address: 172.67.135.48 [美國 CloudFlare節(jié)點(diǎn)]
6. 與任意程序配合使用
因?yàn)?nali 支持管道處理,所以可以和任意程序配合使用。
$ bash abc.sh | nali
Nali 將在 IP 后面插入 IP 地理信息,CDN 域名后面插入 CDN 服務(wù)提供商信息。
7. 支持 IPv6
和 IPv4 用法完全相同。 $ nslookup google.com | nali Server: 127.0.0.53 [局域網(wǎng) IP] Address: 127.0.0.53 [局域網(wǎng) IP]#53 Non-authoritative answer: Name: google.com Address: 216.58.211.110 [美國 Google全球邊緣網(wǎng)絡(luò)] Name: google.com Address: 2a00:1450:400e:809::200e [荷蘭Amsterdam Google Inc. 服務(wù)器網(wǎng)段]
8. 查詢 CDN 服務(wù)提供商
因?yàn)?CDN 服務(wù)通常使用 CNAME 的域名解析方式,所以推薦與 nslookup 或者 dig 配合使用,在已經(jīng)知道 CNAME 后可單獨(dú)使用。
只查詢 CDN 服務(wù)提供商
$ 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
查詢所有信息
$ nslookup www.gov.cn | nali Server: 127.0.0.53 [局域網(wǎng) IP] Address: 127.0.0.53 [局域網(wǎng) 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)]
單獨(dú)使用
需要提前查詢到 CNAME 域名
$ nali cdn cdn.somecdncname.com
一些使用技巧
鴻蒙官方戰(zhàn)略合作共建——HarmonyOS技術(shù)社區(qū)
更新純真數(shù)據(jù)庫
$ nali update 2020/07/17 12:53:46 正在下載最新純真 IP 庫... 2020/07/17 12:54:05 已將最新的純真 IP 庫保存到本地 /root/.nali/qqwry.dat
2. 使用自定義 IP 庫
使用自定義 IP 庫前,你需要設(shè)置環(huán)境變量:NALI_DB。目前支持的變量內(nèi)容:
Geoip2 ['geoip', 'geoip2', 'geo'] Chunzhen ['chunzhen', 'qqip', 'qqwry']
使用三方 IP 庫,需要手動提前下載相應(yīng)的 IP 數(shù)據(jù)庫。
# Windows 平臺 ## 使用geoip數(shù)據(jù)庫 set NALI_DB=geoip ## 使用ipip數(shù)據(jù)庫 set NALI_DB=ipip # Linux平臺 ## 使用geoip數(shù)據(jù)庫 export NALI_DB=geoip ## 使用ipip數(shù)據(jù)庫 export NALI_DB=ipip
感謝各位的閱讀!關(guān)于“l(fā)inux中如何使用Nali”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!