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

    文章

    1541

    浏览量

    148922
  • 硬件
    +关注

    关注

    11

    文章

    3113

    浏览量

    65849
  • 终端
    +关注

    关注

    1

    文章

    1080

    浏览量

    29725
  • 数据库
    +关注

    关注

    7

    文章

    3712

    浏览量

    64025

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

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

收藏 人收藏

    评论

    相关推荐

    请问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

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

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

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

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

    ros怎么设置环境变量

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

    python环境变量的配置pip

    Python环境变量的配置和使用是每个Python开发者都需要了解和掌握的基本技能之一。在本文中,我们将详细介绍如何正确配置Python环境变量,并展示一些常见问题的解决方法。我们将从环境变量的概念
    的头像 发表于 12-15 15:41 2102次阅读

    如何配置jdk的环境变量

    配置JDK的环境变量是在操作系统中设置一些路径,以便能够在命令提示符或终端中全局运行Java开发工具。这样,您可以在任何位置运行Java程序。 以下是一步一步的指南来配置JDK的环境变量。 第一步
    的头像 发表于 12-06 15:07 686次阅读

    idea要配置java环境变量

    环境变量的步骤及其重要性。 在开始之前,我们先了解一下环境变量的概念。环境变量是操作系统定义的一些值,用于指定操作系统及其应用程序如何运行。通过设置
    的头像 发表于 12-06 14:02 619次阅读

    ubuntu20.04设置环境变量方法

    设置环境变量 输入下面的这行代码,注意到底是melodic还是noetic或者是kinetic是由你的ubuntu的版本决定的,比如我的ubuntu是20.04版本的,对应的是noetic,也就
    的头像 发表于 12-01 16:34 1171次阅读
    ubuntu20.04<b class='flag-5'>设置</b><b class='flag-5'>环境变量</b>方法

    pycharm怎么配置python环境变量

    正确的 Python 环境变量是非常重要的,因为它会影响到项目的运行和依赖包的安装。本文将详细介绍如何在 PyCharm 中配置 Python 环境变量。 PyCharm 支持在全局和项目级别配置
    的头像 发表于 11-29 14:56 2231次阅读

    安装python怎么添加到环境变量

    不同的Windows版本中添加Python到环境变量中。 为什么需要将Python添加到环境变量中: 环境变量是一种系统范围内的设置,用于指定
    的头像 发表于 11-23 16:40 2197次阅读

    Linux环境变量的配置方法

    在自定义安装软件的时候,经常需要配置环境变量,下面列举出各种对环境变量的配置方法。
    发表于 09-27 09:50 221次阅读