
IP 지리 정보 및 CDN 제공자를 조회하기 위한 오프라인 도구. IP 지리 정보 및 CDN 서비스 제공자를 조회하는 오프라인 터미널 도구.
Nali는 Go >= 1.26이 미리 설치되어 있어야 합니다. 설치 후 소스에서 소프트웨어를 설치할 수 있습니다:
$ go install github.com/zu1k/nali@latest
Release 페이지에서 미리 컴파일된 실행 파일을 다운로드할 수 있습니다: Release
사용 중인 시스템과 하드웨어 아키텍처에 맞는 버전을 선택하여 다운로드하고, 압축을 풀면 바로 실행할 수 있습니다
Aur에 3개의 관련 패키지를 게시했습니다:
nali-go: Release 버전, 설치 시 컴파일nali-go-bin: Release 버전, 미리 컴파일된 바이너리 파일nali-go-git: 최신 master 브랜치 버전, 설치 시 컴파일Release 페이지에서 해당 아키텍처(amd64, i386, armhf, arm64)의 .deb 패키지를 다운로드한 후 설치합니다:
$ sudo apt install ./nali_*_amd64.deb
$ nali 1.2.3.4
1.2.3.4 [호주 APNIC Debogon-prefix네트워크]
파이프 사용$ echo IP 6.6.6.6 | nali
IP 6.6.6.6 [미국 애리조나주 후아추카 요새시 미국 국방부 네트워크 센터]
$ 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
dig 명령과 함께 사용시스템에 dig 프로그램이 미리 설치되어 있어야 합니다
$ dig nali.zu1k.com +short | nali
104.28.2.115 [미국 CloudFlare사 CDN 노드]
104.28.3.115 [미국 CloudFlare사 CDN 노드]
172.67.135.48 [미국 CloudFlare 노드]
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 노드]
nali는 파이프 처리를 지원하므로 임의의 프로그램과 함께 사용할 수 있습니다
bash abc.sh | nali
Nali는 IP 뒤에 IP 지리 정보를, CDN 도메인 뒤에 CDN 서비스 제공업체 정보를 삽입합니다
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. 서버 대역]
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)]
프로그램을 처음 실행하면 config 디렉터리에 설정 파일 config.yaml이 생성됩니다 (nali info로 구체적인 정보를 확인). 설정 파일은 데이터베이스 정보를 정의하며, 기본적으로 사용자가 수정할 필요는 없습니다
데이터베이스 형식은 기본적으로 다음과 같습니다:
- name: geoip
name-alias:
- geolite
- geolite2
format: mmdb
file: GeoLite2-City.mmdb
languages:
- ALL
types:
- IPv4
- IPv6
여기서 languages와 types는 해당 데이터베이스가 지원하는 언어와 조회 유형을 나타냅니다. 데이터베이스를 추가해야 하는 경우 설정 파일을 신중하게 수정해야 하며, 문제가 있으면 언제든지 issue를 남겨 문의해 주세요.
구버전에서 생성된 설정 파일은 수정할 필요가 없습니다: 설정 파일에서 찾을 수 없는 데이터베이스는 내장된 기본 정의를 사용합니다.
| 데이터베이스 | 이름 / 별칭 | 조회 유형 | 기본 파일 | 자동 다운로드 |
|---|---|---|---|---|
| 순진 IPv4 | qqwry, chunzhen | IPv4(기본) | qqwry.dat | ✓ |
| ZX IPv6 | zxipv6wry, zxipv6, zx | IPv6(기본) | zxipv6wry.db | ✓ |
| ip2region IPv4 | ip2region, i2r | IPv4 | ip2region.xdb | ✓ |
| ip2region IPv6 | ip2region-ipv6, i2r-ipv6 | IPv6 | ip2region_v6.xdb | ✓ |
| IPinfo Lite | ipinfo | IPv4、IPv6 | ipinfo_lite.mmdb | ✓ |
| GeoIP2 / GeoLite2 City | geoip, geoip2, geolite, geolite2 | IPv4、IPv6 | GeoLite2-City.mmdb | 수동 다운로드 필요 |
| DB-IP | dbip, db-ip | IPv4、IPv6 | dbip.mmdb | 수동 다운로드 필요 |
| IPIP | ipip | IPv4、IPv6 | ipipfree.ipdb | 수동 다운로드 필요 |
| IP2Location DB3 LITE | ip2location | IPv4、IPv6 | IP2LOCATION-LITE-DB3.IPV6.BIN | 수동 다운로드 필요 |
| CDN | cdn | 도메인(기본) | cdn.yml | ✓ |
자동 다운로드를 지원하는 데이터베이스는 처음 사용할 때 로컬 파일이 없으면 자동으로 다운로드됩니다. 수동 다운로드가 필요한 데이터베이스는 파일을 nali info에 표시되는 데이터 디렉터리에 넣거나, 설정 파일에서 절대 경로로 file을 지정하세요.
IPinfo Lite는 무료 국가 및 ASN 데이터를 제공하며 IPv4와 IPv6를 모두 지원하고, 처음 사용할 때 자동으로 다운로드됩니다:
$ NALI_DB_IP4=ipinfo NALI_DB_IP6=ipinfo nali 8.8.8.8 2001:4860:4860::8888
8.8.8.8 [United States AS15169 Google LLC]
2001:4860:4860::8888 [United States AS15169 Google LLC]
$ NALI_DB_IP4=ipinfo nali --json 8.8.8.8
{"type":0,"ip":"8.8.8.8","text":"United States AS15169 Google LLC","source":"ipinfo","info":{"network":"8.8.8.0/24","country":"United States","country_code":"US","continent":"North America","continent_code":"NA","asn":"AS15169","as_name":"Google LLC","as_domain":"google.com"}}
장기적으로 사용하려면 설정 파일에서 selected.ipv4, selected.ipv6를 ipinfo로 설정할 수 있습니다.
텍스트 출력에는 국가, ASN, AS 이름이 포함됩니다. JSON 출력에는 network, country, country_code, continent, continent_code, asn, as_name, as_domain이 포함됩니다. 데이터베이스 레코드에 network 필드가 없으면 매칭된 CIDR 대역을 사용합니다. 이름은 데이터베이스의 영어 원문입니다.
format이 mmdb인 데이터베이스는 메타데이터를 기반으로 IPinfo 형식인지 자동으로 인식하므로, IPinfo에 로그인한 후 다운로드한 ipinfo_lite.mmdb도 사용할 수 있습니다. 기본 다운로드 주소는 커뮤니티에서 유지 관리하는 미러 NetworkCats/IPinfoLite-Download이며, 설정 파일에서 download-urls를 통해 다른 주소로 변경할 수 있습니다:
- name: ipinfo
format: mmdb
file: ipinfo_lite.mmdb
download-urls:
- https://github.com/NetworkCats/IPinfoLite-Download/releases/latest/download/ipinfo_lite.mmdb
languages: [en]
types: [IPv4, IPv6]
IPinfo Lite 데이터는 CC BY-SA 4.0 라이선스로 배포되며, 해당 데이터를 공개적으로 사용할 때는 출처 IPinfo를 명시해 주세요.
ip2region은 IPv4(ip2region)와 IPv6(ip2region-ipv6) 두 개의 데이터베이스 파일로 나뉘며, 처음 사용할 때 자동으로 다운로드됩니다:
$ NALI_DB_IP4=ip2region NALI_DB_IP6=ip2region-ipv6 nali 223.5.5.5 240e::1
223.5.5.5 [중국|저장성|항저우시|알리|CN]
240e::1 [중국|베이징시|베이징시|텔레콤|CN]
구버전의 ip2region.xdb 파일도 계속 직접 사용할 수 있습니다. 설정 파일에서 유효하지 않은 구버전 다운로드 주소는 시작 시 자동으로 ip2region_v4.xdb로 마이그레이션됩니다.
$ nali --help
Usage:
nali [flags]
nali [command]