一个查询IP地理信息和CDN提供商的离线终端工具
一个查询IP地理信息和CDN提供商的离线终端工具
Nali
功能
- 支持多种数据库
- 纯真 IPv4 离线数据库
- ZX IPv6 离线数据库
- Geoip2 城市数据库 (可选)
- IPIP 数据库 (可选)
- ip2region 数据库 (可选)
- DB-IP 数据库 (可选)
- IP2Location DB3 LITE 数据库 (可选)
- CDN 服务提供商查询
- 支持管道处理
- 支持交互式查询
- 同时支持IPv4和IPv6
- 支持多语言
- 查询完全离线
- 全平台支持
- 支持彩色输出
安装
- 从源码安装
- 安装前 需要 预先安装 Go >=1.18 安装后可以从源码安装软件
go install github.com/zu1k/nali@latest
C:\Users\Administrator>go install github.com/zu1k/nali@latest
- 接着他会安装各种依赖 直到 安装成功
使用说明
查询一个IP的地理信息
- 基本使用
$ nali 1.2.3.4
1.2.3.4 [澳大利亚 APNIC Debogon-prefix网络]
C:\Users\Administrator>nali 1.2.3.4
1.2.3.4 [澳大利亚 APNIC Debogon-prefix网络]
- 或者使用管道
$ echo IP 6.6.6.6 | nali
IP 6.6.6.6 [美国 亚利桑那州华楚卡堡市美国国防部网络中心]
C:\Users\Administrator>echo IP 6.6.6.6 | nali
IP 6.6.6.6 [美国亚利桑那州华楚卡堡市 美国国防部网络中心]
- 同时查询多个IP的地理信息
$ nali 1.2.3.4 4.3.2.1 123.23.3.0
1.2.3.4 [澳大利亚 APNIC Debogon-prefix网络]
4.3.2.1 [美国 新泽西州纽瓦克市Level3Communications]
123.23.3.0 [越南 越南邮电集团公司]
C:\Users\Administrator>nali 1.2.3.4 4.3.2.1 123.23.3.0
1.2.3.4 [澳大利亚 APNIC Debogon-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
C:\Users\Administrator>nali
255.255.255.0
255.255.255.0 [纯真网络 2023年05月10日IP数据]
192.168.1.1
192.168.1.1 [局域网 对方和您在同一内部网]
www.baidu.com
www.baidu.com
112.241.85.156
112.241.85.156 [山东省聊城市 联通]
1.2.3.4
1.2.3.4 [澳大利亚 APNIC Debogon-prefix网络]
1.0.0.1
1.0.0.1 [美国 APNIC&CloudFlare公共DNS服务器]
8.8.8.8
8.8.8.8 [美国加利福尼亚州圣克拉拉县山景市 谷歌公司DNS服务器]
quit
与 dig 命令配合使用
- 需要你系统中已经安装好 dig 程序
- Dig 工具全称为域名信息搜索器(Domain InformationGroper),能够显示详细的DNS查询过程,是一个非常强大的DNS故障诊断工具。一般Linux和Unix系统都已内置了该功能,但是在Windows环境中只有nslookup工具,如果想用到 dig 命令,就只能自己手动安装了。
$ dig nali.zu1k.com +short | nali
104.28.2.115 [美国 CloudFlare公司CDN节点]
104.28.3.115 [美国 CloudFlare公司CDN节点]
172.67.135.48 [美国 CloudFlare节点]
- 输入相同的命令 由国内有墙 所以是没有反应的 将地址修改为百度的 域名地址
C:\Users\Administrator>dig www.baidu.com +short | nali
39.156.66.14 [北京市 移动]
与 nslookup 命令配合使用
- 需要你系统中已经安装好 nslookup 程序
$ nslookup nali.zu1k.com 8.8.8.8 | nali
Server: 8.8.8.8 [美国 加利福尼亚州圣克拉拉县山景市谷歌公司DNS服务器]
Address: 8.8.8.8 [美国 加利福尼亚州圣克拉拉县山景市谷歌公司DNS服务器]#53
Non-authoritative answer:
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节点]
- 本来我以为没有 nslookup 程序 但是没想到 windows 内置了这个程序
C:\Users\Administrator>nslookup nali.zu1k.com 8.8.8.8 | nali
*** Request to dns.google timed-out
Server: dns.google
Address: 8.8.8.8 [美国加利福尼亚州圣克拉拉县山景市 谷歌公司DNS服务器]
DNS request timed out.
timeout was 2 seconds.
与任意程序配合使用
- 因为 nali 支持管道处理,所以可以和任意程序配合使用
bash abc.sh | nali
- 这里需要 linux 而我现在 正在使用的是windows windows脚本并不能使用 bash shell 脚本 所以这里并没有运行感兴趣的剋以自行尝试
- 值得一提的是 我在kali linux 中进行尝试使用的时候总是遇到问题 稍后将在我的小kali linux 物理机上 尝试
- Nali 将在 IP后面插入IP地理信息,CDN域名后面插入CDN服务提供商信息
支持IPv6
- 和 IPv4 用法完全相同
$ nslookup google.com | nali
Server: 127.0.0.53 [局域网 IP]
Address: 127.0.0.53 [局域网 IP]#53
Non-authoritative answer:
Name: google.com
Address: 216.58.211.110 [美国 Google全球边缘网络]
Name: google.com
Address: 2a00:1450:400e:809::200e [荷兰Amsterdam Google Inc. 服务器网段]
C:\Users\Administrator>nslookup google.com | nali
Non-authoritative answer:
Server: UnKnown
Address: fe80::1 [局域网 本地链路单播地址]
Name: google.com [Google Web 业务]
Address: 142.251.42.238 [美国 加利福尼亚州圣克拉拉县山景市谷歌公司]
查询 CDN 服务提供商
- 因为 CDN 服务通常使用 CNAME 的域名解析方式,所以推荐与 nslookup 或者 dig 配合使用,在已经知道 CNAME 后可单独使用
$ nslookup www.gov.cn | nali
Server: 127.0.0.53 [局域网 IP]
Address: 127.0.0.53 [局域网 IP]#53
Non-authoritative answer:
www.gov.cn canonical name = www.gov.cn.bsgslb.cn [白山云 CDN].
www.gov.cn.bsgslb.cn [白山云 CDN] canonical name = zgovweb.v.bsgslb.cn [白山云 CDN].
Name: zgovweb.v.bsgslb.cn [白山云 CDN]
Address: 103.104.170.25 [新加坡 ]
Name: zgovweb.v.bsgslb.cn [白山云 CDN]
Address: 2001:428:6402:21b::5 [美国Louisiana州Monroe Qwest Communications Company, LLC (CenturyLink)]
Name: zgovweb.v.bsgslb.cn [白山云 CDN]
Address: 2001:428:6402:21b::6 [美国Louisiana州Monroe Qwest Communications Company, LLC (CenturyLink)]
C:\Users\Administrator>nslookup www.gov.cn | nali
Non-authoritative answer:
Server: UnKnown
Address: fe80::1 [局域网 本地链路单播地址]
Name: zgovweb.v.bsgslb.cn [白山云 CDN]
Addresses: 2409:8720:b201:300::8:fe [中国 江苏省 泰州市 海陵区 中国移动政企专线]
2409:8720:b201:300::8:fb [中国 江苏省 泰州市 海陵区 中国移动政企专线]
2409:8728:6aff:f00e::1:6a [中国 浙江省 金华市 婺城区 中国移动政企专线]
2409:8720:b201:300::8:fc [中国 江苏省 泰州市 海陵区 中国移动政企专线]
2409:8720:b201:300::8:fd [中国 江苏省 泰州市 海陵区 中国移动政企专线]
111.32.160.88 [天津市 移动]
111.2.79.179 [浙江省金华市 移动]
111.32.160.87 [天津市 移动]
111.32.160.86 [天津市 移动]
Aliases: www.gov.cn
www.gov.cn.bsgslb.cn [白山云 CDN]
用户交互
- 程序第一次运行后,会在工作目录生成配置文件 config.yaml (默认~/.nali/config.yaml),配置文件定义了数据库信息,默认用户无需进行修改
- 数据库格式默认如下:
- name: geoip
name-alias:
- geolite
- geolite2
format: mmdb
file: GeoLite2-City.mmdb
languages:
- ALL
types:
- IPv4
- IPv6
- 但是这个是linux 的位置 经过多方查找 (多谢 everthing 这个 软件)
- windows 的位置是在 C:\Users\Administrator\AppData\Local\nali\config.yaml
- 但也不一定 每台机器 各不相同 也许 有个微小的设置就会把路径改变
- 这里直接使用
cat命令 查看
C:\Users\Administrator>cat C:\Users\Administrator\AppData\Local\nali\config.yaml
databases:
- name: qqwry
name-alias:
- chunzhen
format: qqwry
file: qqwry.dat
languages:
- zh-CN
types:
- IPv4
download-urls:
- https://gh-release.zu1k.com/HMBSbige/qqwry/qqwry.dat
- name: zxipv6wry
name-alias:
- zxipv6
- zx
format: zxipv6wry
file: zxipv6wry.db
languages:
- zh-CN
types:
- IPv6
- name: geoip
name-alias:
- geoip2
- geolite
- geolite2
format: mmdb
file: GeoLite2-City.mmdb
languages:
- ALL
types:
- IPv4
- IPv6
- name: dbip
name-alias:
- db-ip
format: mmdb
file: dbip.mmdb
languages:
- ALL
types:
- IPv4
- IPv6
- name: ipip
format: ipip
file: ipipfree.ipdb
languages:
- zh-CN
types:
- IPv4
- IPv6
- name: ip2region
name-alias:
- i2r
format: ip2region
file: ip2region.xdb
languages:
- zh-CN
types:
- IPv4
download-urls:
- https://cdn.jsdelivr.net/gh/lionsoul2014/ip2region/data/ip2region.xdb
- https://raw.githubusercontent.com/lionsoul2014/ip2region/master/data/ip2region.xdb
- name: ip2location
format: ip2location
file: IP2LOCATION-LITE-DB3.IPV6.BIN
languages:
- en
types:
- IPv4
- IPv6
- name: cdn
format: cdn-yml
file: cdn.yml
languages:
- zh-CN
types:
- CDN
download-urls:
- https://cdn.jsdelivr.net/gh/4ft35t/cdn/src/cdn.yml
- https://raw.githubusercontent.com/4ft35t/cdn/master/src/cdn.yml
- https://raw.githubusercontent.com/SukkaLab/cdn/master/src/cdn.yml
selected:
cdn: cdn
ipv4: qqwry
ipv6: zxipv6wry
lang: zh-CN
- 其中,languages 和 types 表示该数据库支持的语言和查询类型。如果你需要增加数据库,需小心修改配置文件,如果有任何问题,欢迎提 issue 询问。
查看帮助
$ nali --help
Usage:
nali [flags]
nali [command]
Available Commands:
help Help about any command
update update qqwry, zxipv6wry, ip2region ip database and cdn
Flags:
-h, --help help for nali
-t, --toggle Help message for toggle
Use "nali [command] --help" for more information about a command.
C:\Users\Administrator>nali --help
An offline tool for querying IP geographic information.
Find document on: https://github.com/zu1k/nali
#1 Query a simple IP address
$ nali 1.2.3.4
or use pipe
$ echo IP 6.6.6.6 | nali
#2 Query multiple IP addresses
$ nali 1.2.3.4 4.3.2.1 123.23.3.0
#3 Interactive query
$ nali
123.23.23.23
123.23.23.23 [越南 越南邮电集团公司]
quit
#4 Use with dig
$ dig nali.zu1k.com +short | nali
#5 Use with nslookup
$ nslookup nali.zu1k.com 8.8.8.8 | nali
#6 Use with any other program
bash abc.sh | nali
#7 IPV6 support
Usage:
nali [flags]
nali [command]
Available Commands:
completion Generate the autocompletion script for the specified shell
help Help about any command
info get the necessary information of nali
update update qqwry, zxipv6wry, ip2region ip database and cdn
Flags:
--gbk Use GBK decoder
-h, --help help for nali
-v, --version version for nali
Use "nali [command] --help" for more information about a command.
更新数据库
- 更新所有可以自动更新的数据库
$ nali update
2020/07/17 12:53:46 正在下载最新纯真 IP 库...
2020/07/17 12:54:05 已将最新的纯真 IP 库保存到本地 /root/.nali/qqwry.dat
C:\Users\Administrator>nali update
2023/05/15 16:19:29 正在下载最新 qqwry 数据库...
2023/05/15 16:20:29 qqwry 数据库下载失败,请手动下载解压后保存到本地: qqwry.dat
2023/05/15 16:20:29 下载链接: [https://gh-release.zu1k.com/HMBSbige/qqwry/qqwry.dat]
2023/05/15 16:20:29 error: context deadline exceeded (Client.Timeout or context cancellation while reading body)
2023/05/15 16:20:29 正在下载最新 ZX IPv6数据库...
2023/05/15 16:20:30 已将最新的 ZX IPv6数据库 保存到本地: [zxipv6wry.db]
2023/05/15 16:20:30 正在下载最新 ip2region 数据库...
2023/05/15 16:20:36 ip2region 数据库下载成功: ip2region.xdb
2023/05/15 16:20:36 正在下载最新 cdn 数据库...
2023/05/15 16:20:37 cdn 数据库下载成功: cdn.yml
- 还是因为有墙的原因 有一些数据库就下载不下来
- 或者指定数据库
$ nali update --db qqwry,cdn
2020/07/17 12:53:46 正在下载最新纯真 IP 库...
2020/07/17 12:54:05 已将最新的纯真 IP 库保存到本地 /root/.nali/qqwry.dat
详细介绍链接
https://mp.weixin.qq.com/s/TIqC6zWnffrHmpJuyZpsuA
一个查询IP地理信息和CDN提供商的离线终端工具的更多相关文章
- cdn提供商
七牛,又拍 http://www.qiniu.com/ https://www.upyun.com/index.html
- 一个查询ip地址的mysql数据库--ip2nation
http://ip2nation.com/ip2nation/Sample_Scripts/Country_Based_Redirect 并且已经集成进了laravel:https://github. ...
- 获得ip地理信息的几种方法
目前已知的有腾讯.新浪.网易.搜狐和Google提供IP地址查询API,但是找得到的只有腾讯.新浪和网易的,Google的貌似要用Google Maps所以没有研究.看了下国内的几个腾讯提供的是Jav ...
- php查询IP地址归属等信息
淘宝公司提供了一个很好用的IP地理信息查询接口.在这里:http://ip.taobao.com/TaobaoIPQuery2这个类将极大的简化相关的信息查询. 类 TaobaoIPQuery2 文件 ...
- [Ubuntu] geoip-bin 程序包 - 查询 IP 归属地
简述:在Linux命令行下查询IP归属地. 对Ubuntu/Debian系统,使用APT命令进行安装: $ sudo apt-get install geoip-bin 该包由MaxMind提供,它同 ...
- Python 实现批量查询IP并解析为归属地
一.背景: 最近工作中做了一个小功能,目的是为了分析注册用户区域分布和订单的区域分布情况.所以需要将其对应的IP信息解析为归属地,并同步每天同步更新.线上跑起来效率还是有优化的空间,优化的方向:在调用 ...
- SQL Server 2012:SQL Server体系结构——一个查询的生命周期(第2部分)
计划缓存(Plan Cache) 如果SQL Server已经找到一个好的方式去执行一段代码时,应该把它作为随后的请求重用,因为生成执行计划是耗费时间且资源密集的,这样做是有有意义的. 如果没找到被缓 ...
- .NET Core 开源工具 IPTools - 快速查询 IP 地理位置、经纬度信息
快速查询IP信息,支持国内和国外IP信息查询,支持查询经纬度,地理位置最高支持到城市. 1. IPTools.China 快速查询中国IP地址信息,包含国家.省份.城市.和网络运营商.非中国IP只支持 ...
- 【VB.NET】通过 IPIP.NET 数据库来查询IP地址
上一次介绍了利用纯真数据库查询IP地址详细信息的方法.然而纯真数据库是由网友反馈所提供的,很多数据描述并不准确,所以我上网找了一些其他的IP数据库,最后就找到了 ipip.net 这个网站所提供的IP ...
- 场景7:带有Linux网桥的提供商网络
此场景描述了使用带有Linux网桥的ML2插件的OpenStack网络服务的供应商网络实现. 供应商网络通常以灵活性为代价提供简单性.性能和可靠性.与其他场景不同,只有管理员可以管理提供者网络,因为它 ...
随机推荐
- 【JavaScript】从N个下拉动态监听改变的option值
同事因为这个问题人傻了,是从Ajax请求获取的动态数据遍历的表格 然后表格行的单元格又有下拉选择,有N个下拉,要取出选择的值进行二次请求 <select name="A" i ...
- faster-fifo:C++实现的python多进程通信队列 —— 强化学习ppo算法库sample-factory的C++实现的python多进程通信队列 —— python3.12版本下成功通过测试
项目地址: https://github.com/alex-petrenko/faster-fifo 需要注意,该项目给出了两种安装方法,一种是pip从pypi官网安装,一种是从GitHub上的源码安 ...
- 美国小伙: "American Guy: Only communism can save America!"
视频地址: https://www.youtube.com/watch?v=Y_WQnXFh8ss 2024大选在即,又是拜登对阵特朗普的旧日重现.在角逐谁的对手反对者更多的畸形内耗中,有一个名为 M ...
- ( Ubuntu环境 ) Vim下一键运行python代码
使用一个统一的顺手的编辑&编译环境对于写代码是一件事半功倍的事情, 说白了就是有个顺手的写代码的工具很重要,这里要说的工具就是Vim. 假设 Ubuntu 系统中已经安装 Vim : ...
- 公共的网络云盘的存储真的安全吗?—— 百度云盘上的PDF文件无故被改名
在百度云盘上上传了一个PDF文件,内容: 本来是没有啥问题的,但是今天使用百度云盘发现这个PDF文件居然被改名,被取消掉了扩展名: 简直是离谱离了一个大谱,太可怕了,看来这种公共云盘真的不太靠谱,虽然 ...
- 快速基于 ClickHouse + Grafana 搭建可观测性解决方案 - 日志篇(ClickHouse 官方博客)
引言 作为一款高性能的 OLAP 数据库,ClickHouse 被用于多种应用场景,包括 时间序列(time series)数据的实时分析.其多样化的应用场景推动了大量分析函数的发展,这些函数有助于查 ...
- 运用Npcap库实现SYN半开放扫描
Npcap 是一款高性能的网络捕获和数据包分析库,作为 Nmap 项目的一部分,Npcap 可用于捕获.发送和分析网络数据包.本章将介绍如何使用 Npcap 库来实现半开放扫描功能.TCP SYN 半 ...
- AtCoder Beginner Contest 363
AtCoder Beginner Contest 363 前言 只出了三题,被 d 卡住了,事实上 e 题应该对我而言更简单,没及时换题. A - Piling Up (atcoder.jp) 思路 ...
- 使用 Portainer CE 管理 Docker
此文档参考官方文档 Install Portainer CE with Docker on Linux 编写. 创建容器 docker volume create portainer_data 启动 ...
- Dockerfile介绍及常用保留指令
从本文开始,咱们将介绍docker的另外一个技术点:dockerfile.我们来看看DockerFile相关的知识点,我们将怎么学习? 1:DockerFile是什么? 2:DockerFile构建过 ...