zu1k / nali Goto Github PK
View Code? Open in Web Editor NEWAn offline tool for querying IP geographic information and CDN provider. 一个查询IP地理信息和CDN服务提供商的离线终端工具.
Home Page: https://github.com/zu1k/nali
License: MIT License
An offline tool for querying IP geographic information and CDN provider. 一个查询IP地理信息和CDN服务提供商的离线终端工具.
Home Page: https://github.com/zu1k/nali
License: MIT License
win10 update ipv6 总是报错,重启也不行。
centos下没问题。
[root@localhost bin]# /usr/local/bin/nali update
2022/04/08 23:34:57 正在下载最新 纯真 IPv4数据库...
2022/04/08 23:35:02 已将最新的 纯真IP库 保存到本地: [/root/.nali/qqwry.dat]
2022/04/08 23:35:02 正在下载最新 ZX IPv6数据库...
2022/04/08 23:35:03 已将最新的 ZX IPv6数据库 保存到本地: [/root/.nali/zxipv6wry.db]
ll2022/04/08 23:35:07 已将最新的 ip2region 保存到本地: [/root/.nali/ip2region.db]
2022/04/08 23:35:07 正在下载最新 CDN服务提供商数据库...
2022/04/08 23:35:08 已将最新的 CDN数据库 保存到本地: [/root/.nali/cdn.yml]
所以,这到底是个什么格式?
➜ shell ls nali-linux-amd64-v0.2.2.gz -l
-rw-r--r-- 1 GoGoogle GoGoogle 8130560 7月 30 07:37 nali-linux-amd64-v0.2.2.gz
➜ shell gzip ./nali-linux-amd64-v0.2.2.gz -d ./nali/
gzip: ./nali-linux-amd64-v0.2.2.gz: not in gzip format
gzip: ./nali/ is a directory -- ignored
➜ shell
已经解决了Windows的cmd通过管道传入文字是GBK编码的问题
但是powershell貌似是UTF-16? 如何在程序中进行区分并分别转码呢?
https://github.com/SukkaLab/cdn 已停止维护,联系不到作者。可以考虑切换到我维护的分支
https://github.com/4ft35t/cdn
以下是 go get -u -v github.com/zu1k/nali 执行返回。然后当前目录下没有文件产生。
请求指导!
root@Armbian:/tmp/temp# go get -u -v github.com/zu1k/nali go: downloading github.com/zu1k/nali v0.2.4 go: downloading github.com/spf13/cobra v1.1.3 go: downloading golang.org/x/text v0.3.6 go: downloading github.com/saracen/go7z v0.0.0-20191010121135-9c09b6bd7fda go: downloading github.com/oschwald/geoip2-golang v1.5.0 go: downloading github.com/ipipdotnet/ipdb-go v1.3.1 go: downloading github.com/inconshreveable/mousetrap v1.0.0 go: downloading github.com/spf13/pflag v1.0.5 go: downloading github.com/saracen/solidblock v0.0.0-20190426153529-45df20abab6f go: downloading github.com/ulikunitz/xz v0.5.7 go: downloading github.com/oschwald/maxminddb-golang v1.8.0 go: downloading golang.org/x/sys v0.0.0-20200625212154-ddb9806d33ae go: downloading github.com/ulikunitz/xz v0.5.10 go: downloading golang.org/x/sys v0.0.0-20210415045647-66c3f260301c github.com/zu1k/nali/constant golang.org/x/sys/internal/unsafeheader github.com/ulikunitz/xz/internal/hash golang.org/x/text/encoding/internal/identifier golang.org/x/text/transform golang.org/x/sys/unix github.com/zu1k/nali/internal/ipdb github.com/spf13/pflag github.com/zu1k/nali/internal/tools github.com/zu1k/nali/pkg/common github.com/ipipdotnet/ipdb-go github.com/zu1k/nali/pkg/cdn golang.org/x/text/encoding github.com/zu1k/nali/pkg/ipip golang.org/x/text/encoding/internal github.com/saracen/go7z/filters golang.org/x/text/encoding/simplifiedchinese github.com/saracen/go7z/headers github.com/saracen/solidblock github.com/ulikunitz/xz/internal/xlog github.com/ulikunitz/xz/lzma github.com/spf13/cobra github.com/oschwald/maxminddb-golang github.com/zu1k/nali/pkg/qqwry github.com/oschwald/geoip2-golang github.com/saracen/go7z github.com/zu1k/nali/pkg/geoip github.com/zu1k/nali/pkg/zxipv6wry github.com/zu1k/nali/internal/app github.com/zu1k/nali/cmd github.com/zu1k/nali
希望支持json格式输出
nslookup img.vodjk.com 114.114.114.114 | nali
Server: 114.114.114.114 [114DNS.COM 114DNS.COM]
Address: 114.114.114.114 [114DNS.COM 114DNS.COM]#53
Non-authoritative answer:
img.vodjk.com canonical name = img.vodjk.com.s.galileo.jcloud-cdn.com.
img.vodjk.com.s.galileo.jcloud-cdn.com canonical name = mfn-sched.jcloud-cdn.com.
Name: mfn-sched.jcloud-cdn.com
Address: 180.97.189.3 [** 江苏 扬州]
jcloud-cdn.com
在 cdn.json 里 https://github.com/zu1k/nali/blob/master/db/cdn.json#L530
类似格式百度的可以正常显示
nslookup www.baidu.com 114.114.114.114 | nali
Server: 114.114.114.114 [114DNS.COM 114DNS.COM]
Address: 114.114.114.114 [114DNS.COM 114DNS.COM]#53
Non-authoritative answer:
www.baidu.com canonical name = www.a.shifen.com.
Name: www.a.shifen.com [百度旗下业务地域负载均衡系统]
Address: 14.215.177.38 [** 广东 广州]
Name: www.a.shifen.com [百度旗下业务地域负载均衡系统]
Address: 14.215.177.39 [** 广东 广州]
单独查询这个 CNAME 可以匹配 CDN 信息
nslookup mfn-sched.jcloud-cdn.com 114.114.114.114 | nali
Server: 114.114.114.114 [114DNS.COM 114DNS.COM]
Address: 114.114.114.114 [114DNS.COM 114DNS.COM]#53
Non-authoritative answer:
Name: mfn-sched.jcloud-cdn.com [京东云 CDN]
Address: 111.123.242.3 [** 贵州 遵义]
❯ nali update
2022/05/01 17:48:38 正在下载最新 纯真 IPv4数据库...
2022/05/01 17:48:41 已将最新的 纯真IP库 保存到本地: C:\Users\...\.nali\qqwry.dat
2022/05/01 17:48:41 正在下载最新 ZX IPv6数据库...
2022/05/01 17:48:45 已将最新的 ZX IPv6数据库 保存到本地: C:\Users\...\.nali\ipv6wry.db
2022/05/01 17:48:45 正在下载最新 CDN服务提供商数据库...
2022/05/01 17:48:47 已将最新的 CDN数据库 保存到本地: C:\Users\...\.nali\cdn.json
虽然执行 update 成功,但 cdn.json 内容是:
404: Not Found
自此之后执行任何命令都会报错:
ping www.ddnsto.com | nali
panic: cdn data parse failed!
goroutine 1 [running]:
github.com/zu1k/nali/pkg/cdn.NewCDN(0xc000550060, 0x1e, 0x0)
C:/Users/legend/go/pkg/mod/github.com/zu1k/[email protected]/pkg/cdn/cdn.go:47 +0x326
github.com/zu1k/nali/internal/app.InitCDNDB()
C:/Users/legend/go/pkg/mod/github.com/zu1k/[email protected]/internal/app/cdn.go:25 +0x9d
github.com/zu1k/nali/cmd.glob..func3(0x102d660, 0x1078198, 0x0, 0x0)
C:/Users/legend/go/pkg/mod/github.com/zu1k/[email protected]/cmd/root.go:57 +0x33
github.com/spf13/cobra.(*Command).execute(0x102d660, 0xc000036210, 0x0, 0x0, 0x102d660, 0xc000036210)
C:/Users/legend/go/pkg/mod/github.com/spf13/[email protected]/command.go:860 +0x2c2
github.com/spf13/cobra.(*Command).ExecuteC(0x102d660, 0x95668b, 0xc000048058, 0x96b801)
C:/Users/legend/go/pkg/mod/github.com/spf13/[email protected]/command.go:974 +0x375
github.com/spf13/cobra.(*Command).Execute(...)
C:/Users/legend/go/pkg/mod/github.com/spf13/[email protected]/command.go:902
github.com/zu1k/nali/cmd.Execute()
C:/Users/legend/go/pkg/mod/github.com/zu1k/[email protected]/cmd/root.go:64 +0x38
main.main()
C:/Users/legend/go/pkg/mod/github.com/zu1k/[email protected]/main.go:14 +0x2c
请问是否可以加入启用特定数据库的选项以及修复一下 CDN 的数据库源地址?
parseBaseCname() may be error. eg:www.ucloud.cn.ucloud.com.cn
func parseBaseCname(url string) (string, error) {
extract, err := tldextract.New(TldCachePath, false)
if err != nil {
return "", err
}
res := extract.Extract(url)
rootDomain := res.Root + "." + res.Tld
return rootDomain, nil
}
希望支持数据库存放在和程序同目录,或可指定存储目录,Linux下不同用户使用都需要单独下载一次不是很合理,希望采纳,谢谢!
如题,希望能够支持Python调用。
nslookup 正常
nslookup img.vodjk.com 114.114.114.114 | nali
Server: 114.114.114.114 [114DNS.COM 114DNS.COM]
Address: 114.114.114.114 [114DNS.COM 114DNS.COM]#53
Non-authoritative answer:
img.vodjk.com canonical name = img.vodjk.com.s.galileo.jcloud-cdn.com.
img.vodjk.com.s.galileo.jcloud-cdn.com [京东云 CDN] canonical name = mfn-sched.jcloud-cdn.com.
Name: mfn-sched.jcloud-cdn.com [京东云 CDN]
Address: 180.97.189.3 [** 江苏 扬州]
dig 没有匹配 CNAME 信息
dig img.vodjk.com @114.114.114.114 +short | nali
img.vodjk.com.s.galileo.jcloud-cdn.com.
mfn-sched.jcloud-cdn.com.
180.97.189.3 [** 江苏 扬州]
移除尾部的 .
后正常显示,域名尾部的 .
是符合 RFC 规范的
dig img.vodjk.com @114.114.114.114 +short | sed 's/\.$//' | nali
img.vodjk.com.s.galileo.jcloud-cdn.com [京东云 CDN]
mfn-sched.jcloud-cdn.com [京东云 CDN]
180.97.189.3 [** 江苏 扬州]
安装命令go install github.com/zu1k/nali,提示“go install github.com/zu1k/nali@latest”,然后用这条命令执行后又提示module github.com/zu1k/nali: Get "https://proxy.golang.org/github.com/zu1k/nali/@v/list": dial tcp 172.217.160.81:443: i/o timeout,怎么回事
go install: version is required when current directory is not in a module
Try 'go install github.com/zu1k/nali@latest' to install the latest version
$ NALI_DB=geoip nali-go
::1
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x18 pc=0x70091f]
goroutine 1 [running]:
github.com/zu1k/nali/internal/app.ReplaceIPInString(0xc000029e88, 0x3, 0xc000029e88, 0x3)
github.com/zu1k/nali/internal/app/parse.go:100 +0x67f
github.com/zu1k/nali/internal/app.Root(0xae6098, 0x0, 0x0)
github.com/zu1k/nali/internal/app/command.go:31 +0xcb
github.com/zu1k/nali/cmd.glob..func3(0xab1aa0, 0xae6098, 0x0, 0x0)
github.com/zu1k/nali/cmd/root.go:58 +0x51
github.com/spf13/cobra.(*Command).execute(0xab1aa0, 0xc000020210, 0x0, 0x0, 0xab1aa0, 0xc000020210)
github.com/spf13/[email protected]/command.go:856 +0x2c2
github.com/spf13/cobra.(*Command).ExecuteC(0xab1aa0, 0x407de5, 0xc0000261d8, 0x401260)
github.com/spf13/[email protected]/command.go:960 +0x375
github.com/spf13/cobra.(*Command).Execute(...)
github.com/spf13/[email protected]/command.go:897
github.com/zu1k/nali/cmd.Execute()
github.com/zu1k/nali/cmd/root.go:64 +0x31
main.main()
github.com/zu1k/nali/main.go:14 +0x2a
version 0.2.3
比如::ffff这种地址
~ nslookup chdbits.co 223.5.5.5
Server: public1.alidns.com
Address: 223.5.5.5
Name: chdbits.co
Addresses: ::ffff:104.26.11.119
104.26.11.119
~ nslookup chdbits.co 223.5.5.5 | nali
Server: public1.alidns.com
Address: 223.5.5.5 [浙江省杭州市 阿里巴巴阿里云AliDNS服务器]
Name: chdbits.co
Addresses: ::ffff:104 [IANA保留地址] .26.11.119
104.26.11.119 [美国 CloudFlare公司CDN节点]
推荐一个leecode上的大佬写的.
func isIPV4(IP string) bool {
arr := strings.Split(IP, ".")
if len(arr) != 4 {
return false
}
for _, elem := range arr {
if elem == "" {
return false
}
if len(elem) > 1 && elem[0] == '0' {
return false
}
num := 0
for _, c := range elem {
if c >= '0' && c <= '9' {
num = num*10 + int(c - '0')
}else{
return false
}
}
if num > 255 {
return false
}
}
return true
}
//IPV6地址的判断:
//1. 用“:”分割字符串,若长度不等于8,则return Neither
//2. 遍历每一个数组的每一个元素,若元素的长度大于4,则return Neither
//3. 判断每一个元素的字符,若出现非0-9,A-F的字符,则return Neither
func isIPV6(IP string) bool {
IP = strings.ToUpper(IP)
arr := strings.Split(IP, ":")
if len(arr) != 8 {
return false
}
for _, elem := range arr {
if elem == "" || len(elem) > 4{
return false
}
for _, c := range elem {
if (c >= '0' && c <= '9') || (c >= 'A' && c <= 'F'){
continue
}else{
return false
}
}
}
return true
}
hello, ipinfo.io提供更详细的IP地址相关信息,能否支持一下?
go install github.com/zu1k/nali
go: 'go install' requires a version when current directory is not in a module
Try 'go install github.com/zu1k/nali@latest' to install the latest version
后面要加上版本
https://github.com/zu1k/nali/blob/master/db/cdn.json#L482
"kunlun(.*).com": {
"name": "阿里云 CDN",
"link": "https://www.aliyun.com/product/cdn"
}
一个例子
nslookup asset.watsons.com.cn | nali
Server: 192.168.1.1 [局域网 局域网]
Address: 192.168.1.1 [局域网 局域网]#53
Non-authoritative answer:
asset.watsons.com.cn canonical name = asset.watsons.com.cn.w.kunlunno.com.
Name: asset.watsons.com.cn.w.kunlunno.com
Address: 125.36.136.244 [** 天津 天津]
Name: asset.watsons.com.cn.w.kunlunno.com
Address: 125.36.180.241 [** 天津 天津]
确认程序是正常工作的
nslookup playe.atnxty.com | nali
Server: 192.168.1.1 [局域网 局域网]
Address: 192.168.1.1 [局域网 局域网]#53
Non-authoritative answer:
playe.atnxty.com canonical name = playe.atnxty.com.w.cdngslb.com [阿里云 CDN].
Name: playe.atnxty.com.w.cdngslb.com [阿里云 CDN]
Address: 222.186.16.239 [** 江苏 镇江]
Name: playe.atnxty.com.w.cdngslb.com [阿里云 CDN]
Address: 58.215.158.239 [** 江苏 无锡]
Any plans for English translation for this utility?
在Windows terminal下面输入会有异常
D:\Tools\nali>nslookup nali.lgf.im 8.8.8.8 | nali
非权威应答:
������: dns.google
Address: 8.8.8.8 [美国 加利福尼亚州圣克拉拉县山景市谷歌公司DNS服务器]
����: nali.lgf.im
Addresses: 104.21.6.190 [美国 CloudFlare公司CDN节点]
172.67.135.48 [美国 CloudFlare节点]
可能需要引入字符串 glob 或者正则来处理。
阿里云全局流量管理,https://help.aliyun.com/document_detail/283229.html
通过 ICP 备案查询,阿里云注册了 63 个域名
gtm-a1b1.com ~ gtm-a1b9.com
...
gtm-a7b1.com ~ gtm-a7b9.com
添加设置 4ft35t/cdn@47fa60c
gtm-a[1-7]b[1-9].com:
name: 阿里云全局流量管理
link: https://help.aliyun.com/document_detail/283229.html
可测试域名
nslookup exp.leuke.cn 114.114.114.114
Server: 114.114.114.114
Address: 114.114.114.114#53
Non-authoritative answer:
exp.leuke.cn canonical name = gtm-cn-zvp2nicnw08.gtm-a2b2.com.
Name: gtm-cn-zvp2nicnw08.gtm-a2b2.com
Address: 59.110.23.54
✘ ⚡ root@tx-HK-Debian10 /aabin nali --version
nali version 0.3.7
? root@tx-HK-Debian10 ? /aabin ? lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description: Debian GNU/Linux 10 (buster)
Release: 10
Codename: buster
⚡ root@tx-HK-Debian10 /aabin mtr baidu.com |nali
The releases and tags were mistakenly deleted by a gitea mirror push, I'm contacting GitHub staff to undo it.
see title 😁
目前状况:
167.71.18.94 207.154.224.242 [美国 纽约市DigitalOcean云公司] 47.106.88.234 120.246.107.20 [** 移动] 111.59.153.137 118.123.213.221 172.105.90.107 207.180.236.214 [美国 ] 143.198.50.119 [美国 ] 165.232.161.232 182.150.48.140 [四川省成都市 电信]
分析:看了一下代码,正则匹配是正常的。出错的原因是ip同时命中了ipv4和domain的正则,sort之后有的ip在数组中是ipv4匹配在前,有的是domain在前,ipv4在前的结果就被domain的覆盖了,而domain查询结果为空,导致最终结果为空。
Element[0] = &{[%!s(int=0) %!s(int=12)] %!s(entity.EntityType=2) 167.71.18.94 }
Element[1] = &{[%!s(int=0) %!s(int=12)] %!s(entity.EntityType=0) 167.71.18.94 }
Element[2] = &{[%!s(int=13) %!s(int=28)] %!s(entity.EntityType=0) 207.154.224.242 }
Element[3] = &{[%!s(int=13) %!s(int=28)] %!s(entity.EntityType=2) 207.154.224.242 }
解决方案:
核心原因是正则问题,所以我的修复方式是修改正则,增加domain匹配的时候匹配一级域名,一级域名是在cdn.json里找出来的
`[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})*.(cc|cloud|com.cn|com|co|cn|io|me|net|org|tv)``
ps:其实改成同个ip多次匹配返回非空那个比较合理,但不会写go。。。。
pps:正则改成这样肯定也会有问题,但我一般不查cdn问题不大
结果:
➜ nali git:(master) ✗ go run . 167.71.18.94 207.154.224.242 47.106.88.234 120.246.107.20 111.59.153.137 118.123.213.221 172.105.90.107 207.180.236.214 143.198.50.119 165.232.161.232 182.150.48.140
167.71.18.94 [美国 ] 207.154.224.242 [美国 纽约市DigitalOcean云公司] 47.106.88.234 [广东省深圳市 阿里云] 120.246.107.20 [** 移动] 111.59.153.137 [广西南宁市 移动] 118.123.213.221 [四川省成都市 电信] 172.105.90.107 [德国 黑森州法兰克福Linode数据中心] 207.180.236.214 [美国 ] 143.198.50.119 [美国 ] 165.232.161.232 [美国 ] 182.150.48.140 [四川省成都市 电信]
如nali version
或nali -V
或nali --version
,输出后可查询当前nali的版本,后两种是比较常见的用法。方便脚本检测并自动更新。
2020/08/24 17:19:42 文件不存在,尝试从网络获取最新ZX IPv6数据库
panic: invalid signature header
goroutine 1 [running]:
github.com/zu1k/nali/pkg/zxipv6wry.Un7z(0xc0000225c0, 0xe, 0x0, 0x0, 0x0, 0x8f83e0, 0xc0000a1670)
/home/xxxxxx/go/pkg/mod/github.com/zu1k/[email protected]/pkg/zxipv6wry/update.go:57 +0x61e
github.com/zu1k/nali/pkg/zxipv6wry.getData(0x0, 0x0, 0x0, 0x0, 0x0)
/home/xxxxxx/go/pkg/mod/github.com/zu1k/[email protected]/pkg/zxipv6wry/update.go:49 +0x2ca
github.com/zu1k/nali/pkg/zxipv6wry.Download(0xc000024120, 0x1f, 0x1, 0xc0000a00e0, 0x8f8a01, 0xc0000a2210, 0x1f)
/home/xxxxxx/go/pkg/mod/github.com/zu1k/[email protected]/pkg/zxipv6wry/update.go:16 +0x34
github.com/zu1k/nali/pkg/zxipv6wry.NewZXwry(0xc000024120, 0x1f, 0x0, 0x0)
/home/xxxxxx/go/pkg/mod/github.com/zu1k/[email protected]/pkg/zxipv6wry/zxipv6wry.go:27 +0xfa
github.com/zu1k/nali/internal/app.InitIPDB(0x1)
/home/xxxxxx/go/pkg/mod/github.com/zu1k/[email protected]/internal/app/parse.go:30 +0x480
github.com/zu1k/nali/cmd.glob..func3(0xbcd0c0, 0xc0000a1a70, 0x1, 0x1)
/home/xxxxxx/go/pkg/mod/github.com/zu1k/[email protected]/cmd/root.go:59 +0x39
github.com/spf13/cobra.(*Command).execute(0xbcd0c0, 0xc0000ae030, 0x1, 0x1, 0xbcd0c0, 0xc0000ae030)
/home/xxxxxx/go/pkg/mod/github.com/spf13/[email protected]/command.go:846 +0x29d
github.com/spf13/cobra.(*Command).ExecuteC(0xbcd0c0, 0x40748f, 0xc000096058, 0x0)
/home/xxxxxx/go/pkg/mod/github.com/spf13/[email protected]/command.go:950 +0x349
github.com/spf13/cobra.(*Command).Execute(...)
/home/xxxxxx/go/pkg/mod/github.com/spf13/[email protected]/command.go:887
github.com/zu1k/nali/cmd.Execute()
/home/xxxxxx/go/pkg/mod/github.com/zu1k/[email protected]/cmd/root.go:79 +0x31
main.main()
/home/xxxxxx/go/pkg/mod/github.com/zu1k/[email protected]/main.go:14 +0x25
IPv6 数据库的 URL https://ip.zxinc.org/ip.7z 返回 nginx error, 导致更新数据库时会发生 panic.
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:
panic: cdn data parse failed!
goroutine 1 [running]:
github.com/zu1k/nali/pkg/cdn.NewCDN({0xc0001c8120, 0x1b})
/Users/frank/go/pkg/mod/github.com/zu1k/[email protected]/pkg/cdn/cdn.go:54 +0x24d
github.com/zu1k/nali/internal/db.GetDB(0x2)
/Users/frank/go/pkg/mod/github.com/zu1k/[email protected]/internal/db/db.go:73 +0x1bd
github.com/zu1k/nali/internal/db.Find(0x147c310?, {0xc0001ac330, 0xd})
/Users/frank/go/pkg/mod/github.com/zu1k/[email protected]/internal/db/db.go:105 +0x5e
github.com/zu1k/nali/internal/entity.ParseLine({0xc0001ac330, 0x2e})
/Users/frank/go/pkg/mod/github.com/zu1k/[email protected]/internal/entity/parse.go:54 +0x389
github.com/zu1k/nali/internal/app.Root({0x16ee130?, 0x13d5abb?, 0x0?}, 0x0)
/Users/frank/go/pkg/mod/github.com/zu1k/[email protected]/internal/app/command.go:25 +0x105
github.com/zu1k/nali/cmd.glob..func1(0x16b8500?, {0x16ee130, 0x0, 0x0})
/Users/frank/go/pkg/mod/github.com/zu1k/[email protected]/cmd/root.go:56 +0x4f
github.com/spf13/cobra.(*Command).execute(0x16b8500, {0xc0001901e0, 0x0, 0x0})
/Users/frank/go/pkg/mod/github.com/spf13/[email protected]/command.go:860 +0x663
github.com/spf13/cobra.(*Command).ExecuteC(0x16b8500)
/Users/frank/go/pkg/mod/github.com/spf13/[email protected]/command.go:974 +0x3b4
github.com/spf13/cobra.(*Command).Execute(...)
/Users/frank/go/pkg/mod/github.com/spf13/[email protected]/command.go:902
github.com/zu1k/nali/cmd.Execute()
/Users/frank/go/pkg/mod/github.com/zu1k/[email protected]/cmd/root.go:62 +0x25
main.main()
/Users/frank/go/pkg/mod/github.com/zu1k/[email protected]/main.go:8 +0x17
因为 go install
仅会将 v0.3.8
类型的 tag 作为有效的版本号,而不会识别 0.3.8
,我决定从 0.4
版本开始,版本号将恢复 v
开头的版本号命名方式,提前通知
C:\Users\user>tracert -d 208.54.80.99 |nali
ͨ������ 30 ��Ծ�����ٵ� 208.54.80.99 [美国] ��·��
1 1 ms <1 ���� <1 ���� 192.168.2.4 [局域网 对方和您在同一内部网]
2 240 ms 319 ms 320 ms 172.16.1.1 [局域网 对方和您在同一内部网]
3 270 ms 319 ms 226 ms 140.91.194.153 [美国]
4 264 ms 319 ms 219 ms 128.241.7.147 [美国 日本NTT通讯美洲公司]
5 278 ms 321 ms 315 ms 128.241.7.146 [美国 日本NTT通讯美洲公司]
6 245 ms 343 ms * 129.250.3.237 [日本 NTT通信公司骨干网]
7 253 ms 326 ms 311 ms 129.250.2.160 [日本 东京都NTT通信公司国际互联节点]
8 272 ms 226 ms 228 ms 144.232.0.193 [美国 Sprint电信公司网络]
9 349 ms 327 ms 312 ms 144.232.22.162 [美国 Sprint电信公司网络]
10 254 ms 319 ms 319 ms 144.232.22.95 [美国 Sprint电信公司网络]
11 273 ms 320 ms 240 ms 144.232.15.238 [美国 Sprint电信公司网络]
12 276 ms 312 ms 321 ms 144.232.15.166 [美国 Sprint电信公司网络]
13 594 ms 318 ms 318 ms 144.232.22.87 [美国 Sprint电信公司网络]
14 595 ms 278 ms 271 ms 144.232.23.145 [美国 Sprint电信公司网络]
15 * * * ������ʱ��
16 * * * ������ʱ��
C:\Users\user>ping 208.67.220.220 | nali
���� Ping 208.67.220.220 [美国 加利福尼亚州旧金山市OpenDNS有限公司公众DNS服务器] ���� 32 �ֽڵ�����:
���� 208.67.220.220 [美国 加利福尼亚州旧金山市OpenDNS有限公司公众DNS服务器] �Ļظ�: �ֽ�=32 ʱ��=57ms TTL=52
���� 208.67.220.220 [美国 加利福尼亚州旧金山市OpenDNS有限公司公众DNS服务器] �Ļظ�: �ֽ�=32 ʱ��=47ms TTL=52
���� 208.67.220.220 [美国 加利福尼亚州旧金山市OpenDNS有限公司公众DNS服务器] �Ļظ�: �ֽ�=32 ʱ��=59ms TTL=52
���� 208.67.220.220 [美国 加利福尼亚州旧金山市OpenDNS有限公司公众DNS服务器] �Ļظ�: �ֽ�=32 ʱ��=57ms TTL=52
208.67.220.220 [美国 加利福尼亚州旧金山市OpenDNS有限公司公众DNS服务器] �� Ping ͳ����Ϣ:
���ݰ�: �ѷ��� = 4���ѽ��� = 4����ʧ = 0 (0% ��ʧ)��
�����г̵Ĺ���ʱ��(�Ժ���Ϊ��λ):
���� = 47ms��� = 59ms��ƽ�� = 55ms
Some CDN providers use the source domain as the prefix of CNAME, like a.com.qiniudns.com
.
Nali does not work with that:
$ echo a.a.qiniudns.com | nali
a.a.qiniudns.com [七牛云]
$ echo a.com.qiniudns.com | nali
a.com.qiniudns.com
请问如何封装API调用呢,感谢
RT.233
为什么执行nali 1.2.3.4 提示:zsh: command not found: nali,我执行完了go install github.com/zu1k/nali@latest了,安装成功了应该
nali
for this line, the geological location will be repeated n times after everywhere the ip appears.For example:
> echo '127.0.0.1 aaa' | nali
127.0.0.1 [本机地址] aaa
> echo '127.0.0.1 aaa 127.0.0.1' | nali
127.0.0.1 [本机地址] [本机地址] aaa 127.0.0.1 [本机地址] [本机地址]
> echo '127.0.0.1 aaa 127.0.0.1 bbbb 127.0.0.1' | nali
127.0.0.1 [本机地址] [本机地址] [本机地址] aaa 127.0.0.1 [本机地址] [本机地址] [本机地址] bbbb 127.0.0.1 [本机地址] [本机地址] [本机地址]
> echo '127.0.0.1 aa 127.0.0.2 aaaaa 127.0.0.1' | nali
127.0.0.1 [本机地址] [本机地址] aa 127.0.0.2 [局域网 IP] aaaaa 127.0.0.1 [本机地址] [本机地址]
# ipxxxx ip
> echo '127.0.0.12 aa 127.0.0.1 bbb' | nali
127.0.0.1 [本机地址]2 [局域网 IP] aa 127.0.0.1 [本机地址] bbb
# ip ipxxxx
> echo '127.0.0.1 aa 127.0.0.12 bbb' | nali
127.0.0.1 [本机地址] aa 127.0.0.1 [本机地址]2 bbb
# ip xxxip
> echo '27.0.0.1 aa 127.0.0.1 bbb' | nali
27.0.0.1 [日本 东京都Amazon数据中心] aa 127.0.0.1 [本机地址] [日本 东京都Amazon数据中心] bbb
# xxxip ip
> echo '127.0.0.1 aa 27.0.0.1 bbb' | nali
127.0.0.1 [日本 东京都Amazon数据中心] [本机地址] aa 27.0.0.1 [日本 东京都Amazon数据中心] bbb
# xxxipxxx ip
> echo '127.0.0.12 aa 27.0.0.1 bbb' | nali
127.0.0.1 [日本 东京都Amazon数据中心]2 [局域网 IP] aa 27.0.0.1 [日本 东京都Amazon数据中心] bbb
# ip xxxxipxxxx
> echo '27.0.0.1 aa 127.0.0.12 bbb' | nali
27.0.0.1 [日本 东京都Amazon数据中心] aa 127.0.0.1 [日本 东京都Amazon数据中心]2 bbb
For different the aforementioned cases of the relations between the two ips, the fault is different.
➜ doc nali 8.8.8.8
panic: runtime error: slice bounds out of range [:4] with capacity 0
goroutine 1 [running]:
github.com/zu1k/nali/pkg/qqwry.(*QQwry).searchIndex(0x4000097b28, 0x8080808, 0x10)
github.com/zu1k/nali/pkg/qqwry/qqwry.go:124 +0x360
github.com/zu1k/nali/pkg/qqwry.QQwry.Find(0x400002d170, 0x1ae419277acaa757, 0x7fcaa9e413, 0x7, 0x0, 0x0)
github.com/zu1k/nali/pkg/qqwry/qqwry.go:66 +0xb0
github.com/zu1k/nali/internal/app.ParseIPs(0x400005da80, 0x1, 0x1)
github.com/zu1k/nali/internal/app/parse.go:48 +0xe0
github.com/zu1k/nali/cmd.glob..func3(0x76bce0, 0x400005da80, 0x1, 0x1)
github.com/zu1k/nali/cmd/root.go:72 +0x1d0
github.com/spf13/cobra.(*Command).execute(0x76bce0, 0x400000c090, 0x1, 0x1, 0x76bce0, 0x400000c090)
github.com/spf13/[email protected]/command.go:846 +0x1c4
github.com/spf13/cobra.(*Command).ExecuteC(0x76bce0, 0x42d1c, 0x40000240b8, 0x0)
github.com/spf13/[email protected]/command.go:950 +0x260
github.com/spf13/cobra.(*Command).Execute(...)
github.com/spf13/[email protected]/command.go:887
github.com/zu1k/nali/cmd.Execute()
github.com/zu1k/nali/cmd/root.go:79 +0x30
main.main()
github.com/zu1k/nali/main.go:14 +0x24
➜ doc
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.