当前位置: 首页 > 科技观察

Nali:离线查询IP地理信息和CDN提供商的终端工具

时间:2023-03-13 13:15:01 科技观察

什么是Nalidig,nslookup,traceroute等都是非常实用的网络调试工具,Nali就是可以自动解析这些stdout中IP的工具工具和附加ISP所有权和地理信息添加到这些已经瑞士军刀。Nali取自汉语的“哪里”。Nali最初是surfchen多年前用C和Perl(C用于解析原始IP数据库,Perl用于解析stdout)编写的一个小工具,现在丢失了。今天给大家介绍两款基于GO语言和Nodejs开发的具有更高级功能的新一代Nalis。NaliCLINaliCLI是用Nodejs开发的。安装前,你的环境必须已经有Nodejs环境。项目地址:GitHub:https://github.com/sukkaw/nali-cli官网:https://nali.skk.moe/安装环境中有Node.js的可以直接通过npm安装,Yarn:#NPM$npminali-cli-g#Yarn$yarnglobaladdnali-cliNaliCLI也有针对macOSx64和Linuxx64的预编译二进制文件,可以在GitHubRepo的👉bin目录中下载。当你第一次运行NaliCLI时,它会自动下载所需的qqwry.dat到$HOME/.config/nali-cli/目录。常用命令行语法$nali--helpUsage:nali[options]Options:-v,--version版本信息-h,--helpoutputusageinformationCommands:parse解析stdin或参数中的IP信息(默认)update更新IPlibraryhelp[cmd]displayhelpfor[cmd]$naliupdate--helpUsage:update[options]更新IP库(qqwry.dat)Options:-r,--remote获取IP库最新版本信息-f,--force强制更新IPlibrary-y,--yes直接更新IP库-h,--helpoutputusageinformation使用NaliCLI支持从传入参数解析IP:$nali11.4.5.1411.4.5.14[DoDNetworkInformationCenter,Columbus,Ohio,USA]$naliCloudflare1.0.0.11.1.1.1Cloudflare1.1.1.1[美国APNIC&CloudFlare公共DNS服务器]1.0.0.1[美国APNIC&CloudFlare公共DNS服务器]$nali114.514.191.9114.5.1.4114.514.191.8114.5.1.4[印度尼西亚]另外,NaliCLI内置了以下常用工具:nali-dignali-nslookupnali-pingnali-tracepathnali-tracerouteNote以上工具只是包装器,使用时仍需安装原程序。例如,要使用nali-dig和nali-nslookup,您需要安装Bind(dnsutils)。$nali-nslookupnali.skk.moe1.1.1.1Server:1.1.1.1[USAPNIC&CloudFlarepublicDNSserver]Address:1.1.1.1[USAPNIC&CloudFlarepublicDNSserver]#53Non-authoritativeanswer:Name:nali.skk.moeAddress:104.18.100.28[美国CloudFlareCDN节点]名称:nali.skk.moe地址:104.18.101.28[美国CloudFlareCDN节点]名称:nali.skk.moe地址:2606:4700::6812:641c名称:nali.skk.moe地址:2606:4700::6812:651cNaliCLI也支持从外部stdin解析查询IP信息,所以像mtr这样NaliCLI没有封装的工具也可以使用:#这里以dig为例$dignali.skk.moe@1.1。1.1+short|nali104.18.100.28[美国CloudFlareCDN节点]104.18.101.28[美国CloudFlareCDN节点]mtr等也可以创建nali-mtr文件加入PATH:#!/bin/shmtr$@2>&1|nali也可以直接在.bashrc或.zshrc中注册nali-mtr:nali-mtr(){mtr$@2>&1|nali}NaliCLI也可以更新qqwry.dat:$naliupadteNali(Go版本)Nali(Go版本)是在Nodejs版本的Sukka上改进的。增加了对IPv6的支持,在原有功能的基础上增加了Geoip2数据库。项目地址:GitHub:https://github.com/zu1k/nali支持的功能纯IPv4离线数据库ZXIPv6离线数据库Geoip2城市数据库(可选)IPIP数据库(可选)CDN服务商查询支持管道处理支持交互IPv4和IPv6支持查询。完全离线,所有平台都支持安装。从源代码安装Nali需要预安装Go。安装后可以从源码安装软件:$goget-u-vgithub.com/zu1k/nali2.下载预编译的可执行程序执行程序(推荐)直接从👉Release页面下载预编译的可执行程序的项目。你只需要选择适合你的系统和硬件架构的版本下载,解压后直接运行即可。常用命令语法$nali--helpUsage:nali[flags]nali[command]AvailableCommands:cdnQuerycdnserviceproviderhelpHelpaboutanycommandparseQueryIPinformationupdateupdatechenzhenipdatabaseFlags:-h,--helpfornali-t,--toggleHelpmessagefortoggle第一次使用需要用到"nali[command]--manhelpabout"一会儿,因为会下载无辜和CDN相关的数据库。$nali2020/08/2017:37:14文件不存在,尝试从网络获取最新的无辜IP库2020/08/2017:37:32最新的无辜IP库已经保存在本地:/Users/Mike/.nali/qqwry.dat2020/08/2017:37:32文件不存在,尝试从网络获取最新的ZXIPv6数据库2020/08/2017:37:33最新的ZXIPv6数据库已保存在本地:/Users/Mike/.nali/ipv6wry.db2020/08/2017:37:33文件不存在,尝试从网络获取最新的CDN数据库2020/08/2017:37:34最新的CDN数据库已保存本地:/Users/Mike/.nali/cdn。json查询某个IP的地理信息$nali1.2.3.41.2.3.4[AustralianAPNICDebogon-prefixnetwork]#或者使用pipeline$echoIP6.6.6.6|naliIP6.6.6.6[U.S.美国亚利桑那州华楚卡堡国防部网络中心]2.同时查询多个IP的地理信息$nali1.2.3.44.3.2.1123.23.3.01.2.3.4[澳大利亚APNICDebogon-前缀网络]4.3.2.1[Level3Communications,Newark,NewJersey,USA]123.23.3.0[VietnamVietnamPostandTelecommunicationsGroupCorporation]3.交互式查询,使用exit或quit退出查询。$nali123.23.23.23123.23.23.23[越南越南邮电公司]1.0.0.11.0.0.1[美国APNIC&CloudFlare公共DNS服务器]8.8.8.88.8.8.8[GoogleDNSinMountainView,SantaClaraCounty,California,USAServer]quit4.dig程序需要与dig命令一起安装在您的系统中。$dignali.lgf.im+short|nali104.28.2.115[美国CloudFlareCDN节点]104.28.3.115[美国CloudFlareCDN节点]172.67.135.48[美国CloudFlare节点]5.需要在你的系统中配合nslookup命令使用nslookup程序已安装。$nslookupnali.lgf.im8.8.8.8|naliServer:8.8.8.8[GoogleInc.,MountainView,SantaClaraCounty,California,USA的DNS服务器]Address:8.8.8.8[GoogleInc.,MountainView,SantaClaraCounty,California,USADNSserver]#53Non-authoritativeanswer:Name:nali.lgf.imAddress:104.28.3.115[USCloudFlareCDNnode]Name:nali.lgf.imAddress:104.28.2.115[USCloudFlareCDNnode]Name:nali.lgf.imAddress:172.67.135.48[美国CloudFlare节点]6.与任何程序一起工作由于nali支持流水线处理,所以它可以与任何程序一起使用。$bashabc.sh|naliNali会在IP后插入IP地理信息,在CDN域名后插入CDN服务商信息。7.支持IPv6和IPv4用法完全一样。$nslookupgoogle.com|naliServer:127.0.0.53[LANIP]Address:127.0.0.53[LANIP]#53Non-authoritativeanswer:Name:google.comAddress:216.58.211.110[USGoogleGlobalEdgeNetwork]Name:google.comAddress:2a00:1450:400e:809::200e[荷兰阿姆斯特丹谷歌公司。服务器网段]8、查询CDN服务商由于CDN服务通常采用CNAME域名解析方式,建议配合nslookup或dig使用。知道后CNAME可以单独使用。只查询CDN服务商$nslookupwww.gov.cn|nalicdnServer:127.0.0.53Address:127.0.0.53#53Non-authoritativeanswer:www.gov.cncanonicalname=www.gov.cn.bsgslb.cn[白山云CDN].www.gov.cn.bsgslb.cn[白山云CDN]canonicalname=zgovweb.v.bsgslb.cn[白山云CDN].名称:zgovweb.v.bsgslb.cn[白山云CDN]地址:185.232.56.148名称:zgovweb.v.bsgslb.cn[白山云CDN]地址:185.232.56.147名称:zgovweb.v.bsgslb.cn[白山云CDN]地址:2001:428:6402:21b::6名称:zgovweb.v.bsgslb.cn[白山云CDN]地址:2001:428:6402:21b::5查询所有信息$nslookupwww.gov.cn|naliServer:127.0.0.53[LANIP]Address:127.0.0.53[LANIP]#53Non-authoritativeanswer:www.gov.cncanonicalname=www.gov.cn.bsgslb.cn[白山云CDN].www.gov.cn.bsgslb.cn[白山云CDN]canonicalname=zgovweb.v.bsgslb.cn[白山云CDN]。名称:zgovweb.v.bsgslb.cn[白山云CDN]地址:103.104.170.25[新加坡]名称:zgovweb.v.bsgslb.cn[白山云CDN]地址:2001:428:6402:21b::5[美国MonroeQwestCommunicationsCompany,LLC(CenturyLink)]名称:zgovweb.v.bsgslb.cn[白山云CDN]地址:2001:428:6402:21b::6[MonroeQwestComm,Louisiana,USAunicationsCompany,LLC(CenturyLink)]单机使用需要提前查询CNAME域名$nalicdncdn.somecdncname.com一些使用技巧更新纯数据库$naliupdate2020/07/1712:53:46下载最新的纯IP库。..2020/07/1712:54:05最新的纯IP库已经保存到本地/root/.nali/qqwry.dat2.使用自定义IP库在使用自定义IP库之前,需要设置环境变量:NALI_DB目前支持的变量内容:Geoip2['geoip','geoip2','geo']Chunzhen['chunzhen','qqip','qqwry']使用三方IP数据库,需要提前手动下载对应的IP数据库。#Windows平台##使用geoip数据库setNALI_DB=geoip##使用ipip数据库setNALI_DB=ipip#Linux平台##使用geoip数据库exportNALI_DB=geoip##使用ipip数据库exportNALI_DB=ipip