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

    文章

    1697

    浏览量

    149492
  • 硬件
    +关注

    关注

    11

    文章

    3311

    浏览量

    66194
  • 终端
    +关注

    关注

    1

    文章

    1127

    浏览量

    29859
  • 数据库
    +关注

    关注

    7

    文章

    3793

    浏览量

    64340

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

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

收藏 人收藏

    评论

    相关推荐

    Linux环境变量配置方法

    Linux上环境变量配置分为设置永久变量和临时变量两种。环境变量设置方法同时要考虑
    的头像 发表于 10-23 13:39 156次阅读

    鸿蒙Flutter实战:02-Windows环境搭建踩坑指南

    # Java SDK JAVA_HOME=C:\\\\Program Files\\\\Huawei\\\\DevEco Studio\\\\jbr 配置环境变量 编辑 PATH,添加以下路径
    发表于 10-22 15:05

    Xilinx设计工具怎么设置环境变量

    如果您不确定如何设置环境变量,尝试"1" 或 "TRUE"。
    的头像 发表于 10-22 13:32 187次阅读

    鸿蒙Flutter实战:01-搭建开发环境

    \\\\DevEco Studio\\\\sdk JAVA_HOME=C:\\\\Program Files\\\\Huawei\\\\DevEco Studio\\\\jbr 配置环境变量 编辑
    发表于 10-21 19:35

    飞凌嵌入式ElfBoard ELF 1板卡-开发环境搭建之交叉编译

    环境变量设置编译环境主要是指定目标架构和交叉编译工具链,以及编译过程中使用到的一些库的路径等,使用如下命令配置(.后边有空格):. /opt/fsl-imx-x11/4.1.15-2
    发表于 09-29 09:51

    请问ENV设置环境变量怎么保存?

    我按照手册设置好了环境变量 可是如果重启一下env窗口 刚刚设置的又清掉了 请问下有没有人知道怎么保存这个环境变量
    发表于 07-09 06:24

    utuntu环境下,ESP32和ESP8266设置环境变量时有冲突,怎样兼容呢?

    ubuntu环境下,ESP32和ESP8266同时开发,设置环境变量PATH时遇到疑问,如下: export PATH=\"$HOME/esp/xtensa-esp32-elf/bin
    发表于 06-28 11:10

    esp32如何设置OPENOCD_SCRIPTS这个环境变量的值?

    esp32需要设置OPENOCD_SCRIPTS这个环境变量的值,但是设置之后会影响stm32使用openocd的调试,有什么好的办法处理吗?
    发表于 06-18 08:07

    abb机器人home设置方法

    ,我们需要了解什么是home点。在ABB机器人中,home点是一个特定的位置,机器人在执行任务之前会先回到这个位置。这个位置可以是机器人的初始位置,也可以是用户自定义的位置。设置home
    的头像 发表于 06-17 09:27 3157次阅读

    鸿蒙开发:订阅系统环境变量的变化

    系统环境变量是指:在应用程序运行期间,终端设备的系统设置(例如系统的语言环境、屏幕方向等)发生变化。
    的头像 发表于 06-11 21:56 276次阅读
    鸿蒙开发:订阅系统<b class='flag-5'>环境变量</b>的变化

    ADS应用技巧—如何修改ADS的home目录

    这里说的home目录就是启动ADS后,默认打开的路径,通常是你存放ADS工程所在的目录
    的头像 发表于 02-26 09:43 2125次阅读
    ADS应用技巧—如何修改ADS的<b class='flag-5'>home</b><b class='flag-5'>目录</b>?

    Linux系统中设置环境变量的方法和技巧

    在Linux中环境变量是一种保存有关系统环境配置的信息的对象。它们被广泛用于存储有关系统操作的信息比如路径、文件名等。通过合理配置环境变量我们可以方便地访问和执行各种命令和程序。
    的头像 发表于 02-01 11:09 1676次阅读
    Linux系统中<b class='flag-5'>设置</b><b class='flag-5'>环境变量</b>的方法和技巧

    嵌入式学习-ElfBoard ELF 1板卡-配置环境变量永久生效的方法

    手册中提供的配置环境变量的方法仅临时生效,如果出现更换终端的情况,需要重新配置环境变量,这样就比较麻烦。下面提供一种配置环境变量永久生效的方法,省去多次执行环境变量的步骤:1.vi打开
    发表于 01-17 15:19

    Linux环境变量配置方法

    想必大家平时工作中也会配置Linux的环境变量,但是可能也仅仅是为解决某些工具的运行环境,对于Linux环境变量本身的配置学问还没深入了解。今天浩道跟大家分享Linux
    的头像 发表于 01-04 09:51 527次阅读

    ros怎么设置环境变量

    设置ROS环境变量是使用ROS的重要步骤之一。本文将详细介绍如何设置ROS环境变量,包括什么是环境变量、为什么要
    的头像 发表于 12-28 13:52 2045次阅读