哈喽,大家好,我是指北君
。
最近各大社交媒体平台都发布了显示用户IP归属地的功能,有同学可能还不知道如何查询自己的IP归属地,其实很简单,你只需要打开Web浏览器,用百度搜索“IP归属地”就能显示自己的当前归属信息。
以上是使用网页的方式,有没有使用代码获取的方式?如果自己的公司也要求加一个类似这种的功能,有没有什么接口免费的可以调用?以下就是指北君要为大家介绍的开源工具:
Nali:一个查询IP地理信息和CDN提供商的离线终端工具。
简介
“Nali”和 ”哪里”谐音,是对IP地理信息和CDN服务提供商进行查询。该工具是作者受“Nali-C语言版本”和“Nali-cli js版本”的启发而开发的。因为原初版的C语言版功能缺失,并已不再更新,而js版的包实在大的恐怖,查询速度不太快,所以该新版“Nali”使用了go语言(golang)重写,它不仅在原有功能的基础上增加了对IPv6的支持,并且还增加了Geoip2数据库等其它功能。
安装使用
现在我们来看看如何安装并使用它。
一、创建放置目录,避免和其它文件混淆:
mkdir Nali && cd Nali
二、下载以下这两个文件到Nali目录:
Nali要求安装的golang版本必须至少为1.18或以上。
# 下载golang v1.18.1
wget https://dl.google.com/go/go1.18.1.linux-amd64.tar.gz
# 下载 nali 安装包
wget http://crm.wxaip.frx360.com/BlogImage/assets/feng/Nali/files/nali-0.2.tar.gz
三、安装golang v1.18.1
如果之前已安装过golang,并且不符合版本要求,请先卸载
apt-get purge golang-go
解压到官方推荐的目录“/usr/local”:
tar -C /usr/local -xzf go1.18.1.linux-amd64.tar.gz
使用vim编辑profile文件,添加环境变量:
#如果已安装了vim请跳过
sudo apt-get install vim
#用vim打开profile
sudo vim /etc/profile
#在键盘上输入 i 字母进行编辑,移动到文件最后,添加以下两行代码
export GOROOT=/usr/local/go
export PATH=$PATH:$GOROOT/bin
#在键盘上按 Esc 键退出编辑模式,然后输入 :wq 这3个符号进行保存并退出
验证golang是否安装成功:
go version
四、安装并调用Nali
解压并编译Nali的代码:
>tar xf nali-0.2.tar.gz
>cd nali-0.2
>./configure
>make
>make install
Nali解析单个IP:
>nali 219.141.136.10
#输出:219.141.136.10[北京市 电信]
指北君有话说
Nali是一个很优秀的开源项目,上面只是抛砖引玉,如果你感兴趣,可以继续学习哦。
关注公众号 [程序员了不起]回复[eee113] 即可获取navicat绿版。