IP 到国家/地区控制台命令

BuZ*_*ain 49 command-line ip

是否有将 IP 地址作为输入并显示其地理信息(如城市、国家/地区、ISP 等)的控制台命令?

zmo*_*eca 70

这个技巧更好,不需要任何外部包:

curl ipinfo.io/23.66.166.151
Run Code Online (Sandbox Code Playgroud)

  • 另一种选择:`curl ipinfo.io/$(dig +short yourdomain.com)` (5认同)
  • 如果 ipinfo.io 有一天离线,ifconfig.me 会提供类似的服务(加上一个类似 REST 的 API)。但是 ifonfo.io 似乎要快得多。 (3认同)
  • ipinfo.io 每天 1000 个请求是免费的(请参阅他们的 [定价文档](http://ipinfo.io/pricing))。 (3认同)
  • 如果有人在 ipinfo.io API 上达到了上限(你幸运吗?),还有 https://freegeoip.net/ 每小时 15,000 个请求的限制。(在幕后似乎正在从其他答案中运行 geoiplookup) (3认同)

Gil*_*il' 29

命令是简单的部分,困难的部分是访问数据库。

例如,Ubuntu 有一个免费的数据库,geoiplookupInstall geoip-bin 中有一个命令行查询工具 ( ) 包裹。但它只显示国家信息,并使用静态(因此已过时)数据库。如果您有订阅,此工具还可以查询MaxMind GeoIP 数据库。geoip-bin

您可以查找各种 GeoIP 数据库。它们通常旨在通过 Web 浏览器查看,但您可以查找抓取脚本。例如,这里有一个ruby 脚本,用于从 MaxMind 数据库中检索数据。请注意,抓取可能违反数据库的服务条款。


小智 9

这是另一个不错的选择。这里的说明:http : //kbeezie.com/geoiplookup-command-line/

例如,在 Centos 上

$ sudo yum install GeoIP GeoIP-data
$ geoiplookup 8.8.4.4
Run Code Online (Sandbox Code Playgroud)

完美运行。

当然,您始终可以将其设置为 cron:

$ /usr/bin/geoipupdate
Run Code Online (Sandbox Code Playgroud)


小智 8

或者使用 whois

$ whois 8.8.8.8 |grep country -i -m 1 |cut -d ':' -f 2 |xargs US