0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

设置环境变量NALI_HOME如何指定工作目录

Linux爱好者 来源:Linux爱好者 作者:Linux爱好者 2022-07-01 10:30 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

起源

该工具受 Nali C版本 和 nali-cli js版本的启发.

我想要在终端对IP地理信息和CDN服务提供商进行查询,发现了Nali这个工具,Nali与哪里谐音,非常适合这类工具

经过简单的使用,我发现最初的C语言版本功能缺失,而js版本包实在大的恐怖、而支持的平台非常有限,所以我用golang重写了这个工具,在原有功能的基础上增加了对IPv6的支持,并且增加了Geoip2数据库。开源前哨注:这个开源工具搭配离线IP数据,对于需要根据IP查询对应地址的场景,非常方便实用。

项目地址

https://github.com/zu1k/nali

功能

支持多种数据库

纯真 IPv4 离线数据库

ZX IPv6 离线数据库

Geoip2 城市数据库 (可选)

IPIP 数据库 (可选)

ip2region 数据库 (可选)

DB-IP 数据库 (可选)

IP2Location DB3 LITE 数据库 (可选)

CDN 服务提供商查询

支持管道处理

支持交互式查询

同时支持IPv4和IPv6

支持多语言

查询完全离线

全平台支持

支持彩色输出

安装

从源码安装

Nali 需要预先安装 Go >= 1.18. 安装后可以从源码安装软件:

$goinstallgithub.com/zu1k/nali@latest

下载预编译的可执行程序

可以从Release页面下载预编译好的可执行程序:Release[1]

你需要选择适合你系统和硬件架构的版本下载,解压后可直接运行

使用说明

查询一个IP的地理信息

$nali1.2.3.4
1.2.3.4[澳大利亚APNICDebogon-prefix网络]

或者 使用管道

$echoIP6.6.6.6|nali
IP6.6.6.6[美国亚利桑那州华楚卡堡市美国国防部网络中心]

同时查询多个IP的地理信息

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

交互式查询

使用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

与dig命令配合使用

需要你系统中已经安装好 dig 程序

$dignali.zu1k.com+short|nali
104.28.2.115[美国CloudFlare公司CDN节点]
104.28.3.115[美国CloudFlare公司CDN节点]
172.67.135.48[美国CloudFlare节点]

与nslookup命令配合使用

需要你系统中已经安装好 nslookup 程序

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

Non-authoritativeanswer:
Name:nali.zu1k.com
Address:104.28.3.115[美国CloudFlare公司CDN节点]
Name:nali.zu1k.com
Address:104.28.2.115[美国CloudFlare公司CDN节点]
Name:nali.zu1k.com
Address:172.67.135.48[美国CloudFlare节点]

与任意程序配合使用

因为 nali 支持管道处理,所以可以和任意程序配合使用

bashabc.sh|nali

Nali 将在 IP后面插入IP地理信息,CDN域名后面插入CDN服务提供商信息

支持IPv6

和 IPv4 用法完全相同

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

Non-authoritativeanswer:
Name:google.com
Address:216.58.211.110[美国Google全球边缘网络]
Name:google.com
Address:2a00400e:200e[荷兰AmsterdamGoogleInc.服务器网段]

查询 CDN 服务提供商

因为 CDN 服务通常使用 CNAME 的域名解析方式,所以推荐与nslookup或者dig配合使用,在已经知道 CNAME 后可单独使用

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

Non-authoritativeanswer:
www.gov.cncanonicalname=www.gov.cn.bsgslb.cn[白山云CDN].
www.gov.cn.bsgslb.cn[白山云CDN]canonicalname=zgovweb.v.bsgslb.cn[白山云CDN].
Name:zgovweb.v.bsgslb.cn[白山云CDN]
Address:103.104.170.25[新加坡]
Name:zgovweb.v.bsgslb.cn[白山云CDN]
Address:20016402:5[美国Louisiana州MonroeQwestCommunicationsCompany,LLC(CenturyLink)]
Name:zgovweb.v.bsgslb.cn[白山云CDN]
Address:20016402:6[美国Louisiana州MonroeQwestCommunicationsCompany,LLC(CenturyLink)]

用户交互

程序第一次运行后,会在工作目录生成配置文件config.yaml(默认~/.nali/config.yaml),配置文件定义了数据库信息,默认用户无需进行修改

数据库格式默认如下:

-name:geoip
name-alias:
-geolite
-geolite2
format:mmdb
file:GeoLite2-City.mmdb
languages:
-ALL
types:
-IPv4
-IPv6

其中,languages和types表示该数据库支持的语言和查询类型。如果你需要增加数据库,需小心修改配置文件,如果有任何问题,欢迎提 issue 询问。

查看帮助

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

AvailableCommands:
helpHelpaboutanycommand
updateupdateqqwry,zxipv6wry,ip2regionipdatabaseandcdn

Flags:
-h,--helphelpfornali
-t,--toggleHelpmessagefortoggle

Use"nali[command]--help"formoreinformationaboutacommand.

更新数据库

更新所有可以自动更新的数据库

$naliupdate
2020/07/171246正在下载最新纯真IP库...
2020/07/171205已将最新的纯真IP库保存到本地/root/.nali/qqwry.dat

或者指定数据库

$naliupdate--dbqqwry,cdn
2020/07/171246正在下载最新纯真IP库...
2020/07/171205已将最新的纯真IP库保存到本地/root/.nali/qqwry.dat

自选数据库

用户可以指定使用哪个数据库,需要设置环境变量:NALI_DB_IP4、NALI_DB_IP6或者两个同时设置

支持的变量内容:

Geoip2['geoip', 'geoip2']

Chunzhen['chunzhen', 'qqwry']

IPIP['ipip']

Ip2Resion['ip2region', 'i2r']

DBIP['dbip', 'db-ip']

IP2Location['ip2location']

Windows平台

使用geoip数据库

setNALI_DB_IP4=geoip

或者使用powershell

$env:NALI_DB_IP4="geoip"

使用ipip数据库

setNALI_DB_IP6=ipip

或者使用powershell

$env:NALI_DB_IP6="ipip"

Linux平台

使用geoip数据库

exportNALI_DB_IP4=geoip

使用ipip数据库

exportNALI_DB_IP4=ipip

多语言支持

通过修改环境变量NALI_LANG来指定使用的语言,当使用非中文语言时仅支持GeoIP2这个数据库

该参数可设置的值见 GeoIP2 这个数据库的支持列表

#NALI_LANG=ennali1.1.1.1
1.1.1.1[Australia]

更换工作目录

如果未指定数据库存放目录,数据库默认将存放在~/.nali

设置环境变量NALI_HOME来指定工作目录,数据库存放在工作目录下。也可在配置文件中使用绝对路径指定其他数据库路径。

setNALI_HOME=D:
ali

or

exportNALI_HOME=/var/nali

原文标题:太方便了!这款开源终端工具可查询 IP 信息 ...

文章出处:【微信公众号:Linux爱好者】欢迎添加关注!文章转载请注明出处。

审核编辑:彭静

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • IP
    IP
    +关注

    关注

    5

    文章

    1849

    浏览量

    154903
  • 硬件
    +关注

    关注

    11

    文章

    3555

    浏览量

    68741
  • 终端
    +关注

    关注

    1

    文章

    1240

    浏览量

    31497
  • 数据库
    +关注

    关注

    7

    文章

    3993

    浏览量

    67732

原文标题:太方便了!这款开源终端工具可查询 IP 信息 ...

文章出处:【微信号:LinuxHub,微信公众号:Linux爱好者】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    ESP32-S3 工具链+环境配置的最终步骤清单

    ESP-IDF 目录下,双击运行 export.bat。 运行后终端会提示 All done! You can now compile ESP-IDF projects.,表示环境变量(包含工具链
    发表于 11-26 07:36

    NRF54L15芯片开发安装路径对vscode不生效问题解析

    相关文件夹,暂时移走或删除)。 重新打开 VS Code,重新安装 NRF Connect 扩展,启动后会重新读取配置。 4. 检查系统环境变量 nrfutil toolchain-manager
    发表于 10-31 13:04

    WIN10配置Hbird-SDK环境变量

    按照胡老师的《RISC-V CPU下工程与实践》的7.4的151和152页配置Hbird-SDK的环境变量,出现了问题。 问题如下: 首先创建setup_config.bat,之后CMD中运行
    发表于 10-27 06:38

    【HZ-T536开发板免费体验】5、安装sqlite3和使用golang读写数据库

    放进去。 mkdir $HOME/.bin cd $HOME/.bin tar xf $HOME/go1.25.0.linux-arm64.tar.gz 解压缩结束后,需要在环境变量
    发表于 08-26 00:04

    Window下AICube使用前如何配置dotnet环境

    缺少文件,下载下图相同版本的二进制文件,并解压,解压后的所有文件,拷贝到C:/Program Files/dotnet 目录下覆盖原有文件。如下图所示: 添加环境变量,Win+R快捷键唤起运行,输入
    发表于 08-04 06:19

    【米尔RK3506国产开发板评测试用】1、硬件介绍、SDK开发环境和QT开发环境搭建

    \\\\\\\\host目录中包含用于系统应用开发的工具链。 在$HOME/.bashrc中添加系统变量MYD3506_ENV表示工具链环境配置脚本 export MYD3576_B
    发表于 08-02 15:02

    【HZ-T536开发板免费体验】2、SDK编译

    内核,为了偷懒,直接在.bashrc里设置环境变量ARCH=arm64和指定交叉编译器CROSS_PILE,结果导致编译Uboot时反复报错。报错的日志我找不到了,但是确实是因为我指定
    发表于 07-31 18:37

    【米尔RK3576开发板免费体验】1、开发环境、镜像烧录、QT开发环境搭建以及应用部署

    环境 source $HOME/.bashrc #使添加的环境变量 MYD3576_ENV 生效 source $MYD3576_BUILDROOT #使工具链配置脚本生效 执行build.sh脚本
    发表于 07-14 11:26

    飞凌嵌入式ElfBoard ELF 1板卡-uboot移植之logo的修改

    logo.bmp=> setenv splashimage 0x83800000=> saveenv最后,重启板子看显示效果:我们也可以将环境变量设置为默认环境变量,在
    发表于 06-11 08:46

    飞凌嵌入式ElfBoard ELF 1板卡-uboot移植之三秒等待的修改

    修改三秒等待时间,我们可以在uboot命令行,输入以下命令,配置bootdelay环境变量,比如设置启动等待为0:=> setenv bootdelay 0=&
    发表于 06-05 10:49

    飞凌嵌入式ElfBoard ELF 1板卡-uboot启动流程分析之uboot启动阶段

    ,例如:(一)设置gd结构体中各成员在内存中的地址,包括环境变量地址、uboot重定位的地址;(二)串口初始化,打印板卡信息;三、根据board_init_f 指定的uboot重定位的地址,执行
    发表于 05-30 09:24

    【米尔-RK3562开发板试用评测】EtherCat移植、编译

    权限,所以要加上sudo ,但加上sudo后,会提示找不到arm gcc的路径,这是由于上一篇配置的环境变量并不是root的,而是单独用户的。所以,要使用su -t命令跳转到root下,且保持环境变量路径。 如下安装目录的文件结
    发表于 05-28 14:49

    飞凌嵌入式ElfBoard ELF 1板卡-uboot常用命令之环境变量命令

    uboot中环境变量的作用就是在不改变源码、不用重新编译的情况下,可以使我们通过设置环境变量的值来改变uboot的一些设置。uboot开机时会一次性从存储介质(启动介质)中读取全部的
    发表于 05-22 11:28

    ArkUI-X跨平台框架接入指南

    ANDROID_HOME设置Android SDK安装目录。 Windows环境变量设置方法: 在此电脑 > 属性 > 高级
    发表于 05-18 18:21

    操作指南:pytorch云服务器怎么设置

    设置PyTorch云服务器需选择云平台,创建合适的GPU实例,安装操作系统、Python及Anaconda,创建虚拟环境,根据CUDA版本安装PyTorch,配置环境变量,最后验证安装。过程中需考虑
    的头像 发表于 02-08 10:33 605次阅读