回答:
コマンドは簡単な部分であり、難しい部分はデータベースにアクセスすることです。
たとえば、Ubuntuにはgeoiplookup
、パッケージにコマンドラインクエリツール()を備えた無料のデータベースがあります。ただし、国の情報のみが表示され、静的な(したがって古い)データベースが使用されます。サブスクリプションがある場合、このツールはMaxMind GeoIPデータベースを照会することもできます。geoip-bin
検索できるさまざまなGeoIPデータベースがあります。これらは通常、Webブラウザーで表示することを目的としていますが、スクレイピングスクリプトを探すことができます。たとえば、MaxMindデータベースからデータを取得するrubyスクリプトは次のとおりです。スクレイピングはデータベースの利用規約に違反する可能性があることに注意してください。
geoipupdate; geoiplookup ...
このトリックはさらに優れており、外部パッケージを必要としません。
curl ipinfo.io/23.66.166.151
curl ipinfo.io/$(dig +short yourdomain.com)
別の素晴らしいオプションがあります。こちらの手順:http : //kbeezie.com/geoiplookup-command-line/
たとえば、Centosの場合:
$ sudo yum install GeoIP GeoIP-data
$ geoiplookup 8.8.4.4
完全に動作します。
そしてもちろん、いつでもこれをcronとして設定できます:
$ /usr/bin/geoipupdate
geoipupdate
はMaxMindツールです/etc/GeoIP.conf
。サブスクリプションとライセンスキーが必要です。無料の代替手段を使用できませんでした(予期しないHTTPステータスコード401を受け取りました)。