web-dev-qa-db-ja.com

IPアドレスからジオロケーションを見つける

IPアドレスから都市/州や国などの場所を見つけるにはどうすればよいですか?

これを行うためのRuby gemまたはPythonモジュールはありますか?または、APIを備えたWebサイトはありますか?

9
ed1t

これには http://ipinfo.io APIを使用できます:

$ curl ipinfo.io/8.8.8.8
{
  "ip": "8.8.8.8",
  "hostname": "google-public-dns-a.google.com",
  "city": "Mountain View",
  "region": "California",
  "country": "US",
  "loc": "37.3860,-122.0838",
  "org": "AS15169 Google Inc.",
  "postal": "94040"
}

1つのフィールドのみに関心がある場合は、それをURLに追加して、プレーンテキストとして取得できます。

$ curl ipinfo.io/8.8.8.8/loc
37.3860,-122.0838

$ curl ipinfo.io/8.8.8.8/country
US

pythonモジュール https://github.com/juanpabloaj/pyipinfo は単純なラッパー、または http:// geocoder.readthedocs.org/en/stable/ はより完全な機能を備えており、ipinfo.ioおよびその他のプロバイダーのサポートが組み込まれています。

9
Ben Dowling

はい、IPジオロケーションAPIを使用して、IPアドレスの都市、州、または国の場所を見つけることができます。私はあなたや私のような企業や好奇心旺盛な個人にそのようなサービスを提供しているいくつかのウェブサイトを知っています。

ただし、利用可能なものはすべて機能が異なるため、要件に適したソフトウェアを決定する前に、それらを注意深く確認する必要があります。あなたが言及したプログラミング言語に関しては、通常 最高のIPジオロケーションAPI はRubyとPythonを含む複数のプログラミング言語をサポートします。

また、都市、州、国などの詳細も指定しました。ええと、どのAPIを選択しても、クエリを実行するたびに、これらの地理データポイントが出力結果の最上位になります。ただし、IPジオロケーションAPIは通常、タイムゾーンや郵便番号などの詳細を提供します。これらは、ジオロケーションしているIPアドレスのより明確な画像を作成する場合に重要です。

これが私が個人的に使用しているAPIです。

https://geoipify.whoisxmlapi.com/

このAPIは、250か国の950万を超えるIPブロックからIPアドレスの地理的位置を見つけるのに役立ちます( ここでサンプル出力を確認してください )。私の意見では、その数は、現在使用されている既知のIPアドレスのほとんどすべてを含めるのに十分なはずです。

このプロバイダーには、IPv4アドレスとIPv6アドレスの両方を含むジオロケーションデータベースもあり、世界中の120,000以上の町や都市に340,000を超える場所があります。私が気に入っているのは、毎週更新され、CSVまたはJSON形式でダウンロードできることです。

リクエストを行う前に、ウェブサイトの「マイプロダクト」ページから取得できる個人用APIキーが必要です。ロケーション検索を行うには、ターゲットのIPv4またはIPv6アドレス、ドメイン名、または電子メールアドレスのいずれかを入力するオプションがあります。

検索結果には、ターゲットの国、地域、都市、緯度、経度、郵便番号、タイムゾーン、ISP、ドメインの配列、自律システム番号、システム名、APIシステムルート、自律システムWebサイトのURLが含まれます。

これらはデフォルトのJSON形式で表示されますが、JSONまたはXMLのいずれかで表示することもできます。出力はRubyとPythonを含む9つのプログラミング言語をサポートしているため、システムの互換性は問題にはなりません。

複数のジオロケーションリクエストを行う必要がある場合は、オンラインのバルクIPジオロケーションルックアップサービスもあり、一度に最大100,000個のIPアドレスを確認できると主張しています。

https:// https://geo.ipify.org/

私が使用する2番目のプロバイダーは、250か国の800万を超えるIPブロックからリアルタイムのジオロケーションを提供するという主張を使用しています。

また、既存のIPアドレスのほぼすべてからの約500万の累積レコードを含むIPジオロケーションデータベースもあります( ここでサンプル出力を確認してください )。彼らはそれを毎月更新し、40Mbのzip形式の比較的小さなファイルサイズでダウンロードできます。

検索リクエストを行うには、このプロバイダーのサブスクリプションページから取得できる個人用APIキーが必要です。場所を検索するには、ターゲットのIPv4アドレスを入力する必要があります。

クエリ結果には、国、地域、都市、緯度、経度、郵便番号、タイムゾーンなどのターゲットの正確な場所の詳細が表示されます。出力は、XMLまたはJSON形式で表示できます。

APIは、Javascript、C#、Java、PHP、NodeJS、Perl、PowerShell、Python、Ruby)の9つのプログラミング言語もサポートしています。

IPジオロケーションAPIを使用すると、IPアドレスの都市、州、または国の場所を簡単に見つけることができます。ただし、検索対象を提供するには、十分なカバレッジとプログラミング言語の互換性を提供できる必要があることに注意してください。 Geoipify.whoisxmlapi.comとGeo.Ipfyは、その点で間違いなく役立ちます。

2

あなたはここに行くことができます...そのようなサービスはすべてのIPアドレスの概算にすぎませんが、これはあなたが探しているものです。

http://www.geobytes.com/iplocator.htm (「検索するIPアドレス」を入力して送信を押すだけです)

1
KCotreau

Hostip.info は、IPアドレスを都市にマッピングするデータベースを構築/維持することを目的としたオープンソースプロジェクトです。彼らの概要ページでは、このデータベースにデータを入力するために依存するデータソースについて説明しています。

HostIPを使用して、IPアドレスから位置データを取得する方法は2つあります。

また、適切に設計された使いやすいRESTFUL APIもあります。GETリクエスト文字列のip =の後にIPアドレスを渡すだけです。 )::

import urllib

response = urllib.urlopen('http://api.hostip.info/get_html.php?ip=12.215.42.19&position=true').read()

print(response)

第二に、プロジェクトのウェブサイトはその 完全なデータベースをダウンロード可能 にします。

0
Fabien

geoIPパッケージのgeoiplookupを使用できます

geoiplookup -i 88.157.160.26

GeoIP Country Edition: PT, Portugal
ipaddr: 88.157.160.26
range_by_ip:  88.157.0.0 - 88.157.255.255
network:      88.157.0.0 - 88.157.255.255 ::16
ipnum: 1486725146
range_by_num: 1486684160 - 1486749695
network num:  1486684160 - 1486749695 ::16
GeoIP City Edition, Rev 1: PT, 14, Lisboa, Lisbon, 1350-008, 38.716702, -9.133300, 0, 0
ipaddr: 88.157.160.26
range_by_ip:  88.157.160.0 - 88.157.162.255
network:      88.157.160.0 - 88.157.161.255 ::23
ipnum: 1486725146
range_by_num: 1486725120 - 1486725887
network num:  1486725120 - 1486725631 ::23
GeoIP ASNum Edition: AS2860 Nos Comunicacoes, S.A.
ipaddr: 88.157.160.26
range_by_ip:  88.157.0.0 - 88.157.203.255
network:      88.157.128.0 - 88.157.191.255 ::18
ipnum: 1486725146
range_by_num: 1486684160 - 1486736383
network num:  1486716928 - 1486733311 ::18

rpm -qa | grep -iP "geoip | geolite"

GeoIP-GeoLite-data-extra-2018.06-4.el7.noarch
GeoIP-GeoLite-data-2018.06-4.el7.noarch
geolite2-country-20190806-1.el7.noarch
GeoIP-1.6.12-6.0.cf.rhel7.x86_64
geoipupdate-2.5.0-1.el7.x86_64
geolite2-city-20190806-1.el7.noarch
0
Sérgio

何もインストールせずにプロキシ出口の場所を確認する

torが更新された出口ノード設定を読み取ることを確認するためにこれが必要でした。

curl ipinfo.io/"$(curl -s --proxy socks5://localhost:9050 ifconfig.me)"

この出口ノードでipinfo.ioの制限を超えたため、2つの要求を実行する必要がありました。あなたがそれについて考えるならば、便利なエイリアスのように見えます。

0
seeker_of_bacon

ナビゲートしているWebサイトから地理的位置を簡単に確認したい場合は、インストールする必要があります Firefox用Flagfoxアドオン :アドレスバーの近くにフラグを表示し、その上で詳細情報(都市)をクリックします、IP ...)。

また、 http://geo.flagfox.net を使用して、任意のIPアドレスまたはサーバー名の同じ詳細を表示できます。

0
kokbira