您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關linux中如何使用Nali的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
什么是 Nali
dig、nslookup、traceroute 等都是非常實用的網絡調試工具,Nali 是一個可以自動解析這些工具 stdout 中的 IP 并附上所屬 ISP 和地理信息,對這些已是瑞士軍刀般的工具可謂如虎添翼。
Nali 取自中文「哪里」。Nali 一開始是數年前由 surfchen 用 C 和 Perl 寫成的小工具(C 用于解析純真 IP 數據庫,Perl 用于解析 stdout),如今已經失傳。
今天給大家介紹兩款基于 GO 語言和 Nodejs 開發的,且具有更多高級功能的新一代 Nali。
Nali CLI
Nali CLI 采用 Nodejs 開發,在安裝之前,你的環境必須已經具備 Nodejs 環境。
項目地址:
GitHub: https://github.com/sukkaw/nali-cli
官網:https://nali.skk.moe/
安裝
對于環境中有 Node.js 的,可以直接通過 NPM 和 Yarn 安裝:
# NPM $ npm i nali-cli -g # Yarn $ yarn global add nali-cli
Nali CLI 也有預編譯好的供 macOS x64 和 Linux x64 的二進制文件,可以在 GitHub Repo 中的 ?bin 目錄中下載。
首次運行 Nali CLI 時會自動下載所需的 qqwry.dat 到 $HOME/.config/nali-cli/ 目錄下。
常用命令行語法
$ nali --help Usage: nali <command> [options] Options: -v, --version 版本信息 -h, --help output usage information Commands: parse 解析 stdin 或參數中的 IP 信息 (默認) update 更新 IP 庫 help [cmd] display help for [cmd] $ nali update --help Usage: update [options] 更新 IP 庫 (qqwry.dat) Options: -r, --remote 獲取最新 IP 庫版本信息 -f, --force 強制更新 IP 庫 -y, --yes 直接更新 IP 庫 -h, --help output usage information
使用
Nali CLI 支持從傳入的參數中解析 IP:
$ nali 11.4.5.14 11.4.5.14 [美國 俄亥俄州哥倫布市 DoD 網絡信息中心] $ nali Cloudflare 1.0.0.1 1.1.1.1 Cloudflare 1.1.1.1 [美國 APNIC&CloudFlare 公共 DNS 服務器] 1.0.0.1 [美國 APNIC&CloudFlare 公共 DNS 服務器] $ nali 114.514.191.9 114.5.1.4 114.514.191.8 114.5.1.4 [印度尼西亞]
除此以外,Nali CLI 內置了以下幾個常用工具:
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 服務器] Address: 1.1.1.1 [美國 APNIC&CloudFlare 公共 DNS 服務器]#53 Non-authoritative answer: Name: nali.skk.moe Address: 104.18.100.28 [美國 CloudFlare 公司 CDN 節點] Name: nali.skk.moe Address: 104.18.101.28 [美國 CloudFlare 公司 CDN 節點] 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 節點] 104.18.101.28 [美國 CloudFlare 公司 CDN 節點]
對于 mtr 等,還可以自行創建 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 版本上進行改良的,它在原有功能的基礎上增加了對 IPv6 的支持,并且增加了 Geoip2 數據庫。
項目地址:
GitHub: https://github.com/zu1k/nali
支持的功能
純真 IPv4 離線數據庫
ZX IPv6 離線數據庫
Geoip2 城市數據庫 (可選)
IPIP 數據庫 (可選)
CDN 服務提供商查詢
支持管道處理
支持交互式查詢
同時支持 IPv4 和 IPv6
查詢完全離線
全平臺支持
安裝
鴻蒙官方戰略合作共建——HarmonyOS技術社區
從源碼安裝
Nali 需要預先安裝 Go. 安裝后可以從源碼安裝軟件:
$ go get -u -v github.com/zu1k/nali
2. 下載預編譯的可執行程序(推薦)
直接從項目的 ?Release 頁面下載預編譯好的可執行程序,你只需要選擇適合你系統和硬件架構的版本下載,解壓后直接運行即可。
常用命令語法
$ 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.
使用
第一次使用時會需要點時間,因為要下載純真和 CDN 相關數據庫。
$ nali 2020/08/20 17:37:14 文件不存在,嘗試從網絡獲取最新純真 IP 庫 2020/08/20 17:37:32 已將最新的 純真IP庫 保存到本地: /Users/Mike/.nali/qqwry.dat 2020/08/20 17:37:32 文件不存在,嘗試從網絡獲取最新ZX IPv6數據庫 2020/08/20 17:37:33 已將最新的 ZX IPv6數據庫 保存到本地: /Users/Mike/.nali/ipv6wry.db 2020/08/20 17:37:33 文件不存在,嘗試從網絡獲取最新CDN數據庫 2020/08/20 17:37:34 已將最新的 CDN數據庫 保存到本地: /Users/Mike/.nali/cdn.json
鴻蒙官方戰略合作共建——HarmonyOS技術社區
查詢一個 IP 的地理信息
$ nali 1.2.3.4 1.2.3.4 [澳大利亞 APNIC Debogon-prefix網絡] # 或者使用管道 $ echo IP 6.6.6.6 | nali IP 6.6.6.6 [美國 亞利桑那州華楚卡堡市美國國防部網絡中心]
2. 同時查詢多個IP的地理信息
$ 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 [越南 越南郵電集團公司]
3. 交互式查詢
使用 exit 或 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
4. 與 dig 命令配合使用
需要你系統中已經安裝好 dig 程序。
$ dig nali.lgf.im +short | nali 104.28.2.115 [美國 CloudFlare公司CDN節點] 104.28.3.115 [美國 CloudFlare公司CDN節點] 172.67.135.48 [美國 CloudFlare節點]
5. 與 nslookup 命令配合使用
需要你系統中已經安裝好 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節點]
6. 與任意程序配合使用
因為 nali 支持管道處理,所以可以和任意程序配合使用。
$ bash abc.sh | nali
Nali 將在 IP 后面插入 IP 地理信息,CDN 域名后面插入 CDN 服務提供商信息。
7. 支持 IPv6
和 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. 服務器網段]
8. 查詢 CDN 服務提供商
因為 CDN 服務通常使用 CNAME 的域名解析方式,所以推薦與 nslookup 或者 dig 配合使用,在已經知道 CNAME 后可單獨使用。
只查詢 CDN 服務提供商
$ 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 [局域網 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)]
單獨使用
需要提前查詢到 CNAME 域名
$ nali cdn cdn.somecdncname.com
一些使用技巧
鴻蒙官方戰略合作共建——HarmonyOS技術社區
更新純真數據庫
$ nali update 2020/07/17 12:53:46 正在下載最新純真 IP 庫... 2020/07/17 12:54:05 已將最新的純真 IP 庫保存到本地 /root/.nali/qqwry.dat
2. 使用自定義 IP 庫
使用自定義 IP 庫前,你需要設置環境變量:NALI_DB。目前支持的變量內容:
Geoip2 ['geoip', 'geoip2', 'geo'] Chunzhen ['chunzhen', 'qqip', 'qqwry']
使用三方 IP 庫,需要手動提前下載相應的 IP 數據庫。
# Windows 平臺 ## 使用geoip數據庫 set NALI_DB=geoip ## 使用ipip數據庫 set NALI_DB=ipip # Linux平臺 ## 使用geoip數據庫 export NALI_DB=geoip ## 使用ipip數據庫 export NALI_DB=ipip
感謝各位的閱讀!關于“linux中如何使用Nali”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。