是否有一个控制台命令将 IP 地址作为输入并显示其地理信息,如城市、国家、ISP 等?
答案1
这个技巧更好,不需要任何外部包:
curl ipinfo.io/23.66.166.151
答案2
命令是简单的部分,困难的部分是访问数据库。
例如,Ubuntu 有一个免费的数据库,带有命令行查询工具(geoiplookup
) 在里面geoip-bin
安装 geoip-bin。包裹。但它仅显示国家/地区信息,并使用静态(因此过时)数据库。这个工具还可以查询麦克斯敏德GeoIP 数据库(如果您订阅了该数据库)。
您可以查找各种 GeoIP 数据库。它们通常是通过网络浏览器查看的,但您可以查找抓取脚本。例如,这是一个ruby 脚本从 MaxMind 数据库检索数据。请注意,抓取可能违反数据库的服务条款。
答案3
或者使用whois
$ whois 8.8.8.8 |grep country -i -m 1 |cut -d ':' -f 2 |xargs US
答案4
这是我的小命令行工具,名为“gip”:
https://github.com/softhub-software-development/gip
# gip -h 用法: gip [-C] [-c] [-g] [-h] [-tT] [ip 地址或域 ...] 不带参数调用 gip 会启动 gip 服务器 -C 打印国家 -c 打印城市 -g 仅打印地理坐标 -d 如果可能的话打印域信息 -h 打印此帮助信息 -t 跟踪路由,省略重复项 -T 追踪路线
在服务器模式下,它会呈现一个带有针头的地图,指示请求的来源。