「GeoIP」の版間の差分
提供: FreeBSD入門
(ページの作成:「GeoIP とは '''IPアドレス''' や '''ホスト名''' から、どこの国に属するのか調べるためのツールとライブラリを提供します。 ''...」) |
|||
(同じ利用者による、間の1版が非表示) | |||
行1: | 行1: | ||
− | [[GeoIP]] とは '''IPアドレス''' や '''ホスト名''' から、どこの国に属するのか調べるためのツールとライブラリを提供します。 | + | [[GeoIP]] とは '''IPアドレス''' や '''ホスト名''' から、どこの国に属するのか調べるためのツールとライブラリを提供します。 IPアドレス から簡単に国判別ができます。 |
'''読み方''' | '''読み方''' | ||
行32: | 行32: | ||
/usr/local/share/GeoIP/GeoIPupdate.XxIHDw/GeoI100% of 459 kB 2308 kBps 00m00s | /usr/local/share/GeoIP/GeoIPupdate.XxIHDw/GeoI100% of 459 kB 2308 kBps 00m00s | ||
/usr/local/share/GeoIP/GeoIPupdate.1PQYw6/GeoI100% of 741 kB 2524 kBps 00m01s | /usr/local/share/GeoIP/GeoIPupdate.1PQYw6/GeoI100% of 741 kB 2524 kBps 00m01s | ||
+ | </syntaxhighlight> | ||
+ | == crontab で更新を自動化する == | ||
+ | geoipupdate.sh を毎日自動実行すると簡単です。実行した情報は、messages に落ちます。 | ||
+ | <syntaxhighlight lang="bash"> | ||
+ | 0 6 * * * root /usr/local/bin/geoipupdate.sh 2>&1 | logger -t GeoIP | ||
</syntaxhighlight> | </syntaxhighlight> | ||
== コマンドライン引数 == | == コマンドライン引数 == |
2015年12月25日 (金) 01:54時点における最新版
GeoIP とは IPアドレス や ホスト名 から、どこの国に属するのか調べるためのツールとライブラリを提供します。 IPアドレス から簡単に国判別ができます。
読み方
- GeoIP
- じお あいぴー
概要
GeoIPは、ホスト名やIPアドレスを元に、どこの国のアドレスであるか、調べることができます。通信相手がどこの国に属しているか簡単に調べることができます。
GeoIP を使うシーンをいくつか挙げてみます。
- 国内からのアクセスに限定したい
- ウェブサイトのアクセス解析で、国ごとのアクセスを調べたい
- ハニーポットに遊びにきたソースアドレスの国が調べたい
GeoIP は、いろいろなプログラミング言語から利用できます。
GeoIP のパッケージには、実際のデータファイルが含まれないため、別途ダウンロードが必要です。
インストール
pkgコマンドでインストールする場合
sudo pkg install GeoIP
設定
国を判別するためのデータをダウンロードする必要があります。
# sudo /usr/local/bin/geoipupdate.sh
以下は実行例です。
$ sudo /usr/local/bin/geoipupdate.sh パスワード: Fetching GeoIP.dat and GeoIPv6.dat... /usr/local/share/GeoIP/GeoIPupdate.XxIHDw/GeoI100% of 459 kB 2308 kBps 00m00s /usr/local/share/GeoIP/GeoIPupdate.1PQYw6/GeoI100% of 741 kB 2524 kBps 00m01s
crontab で更新を自動化する
geoipupdate.sh を毎日自動実行すると簡単です。実行した情報は、messages に落ちます。
0 6 * * * root /usr/local/bin/geoipupdate.sh 2>&1 | logger -t GeoIP
コマンドライン引数
$ geoiplookup -h Usage: geoiplookup [-h] [-?] [-d custom_dir] [-f custom_file] [-v] [-i] [-l] <ipaddress|hostname>
使い方
FQDNで引いた例です。
$ geoiplookup yahoo.co.jp GeoIP Country Edition: JP, Japan $ geoiplookup google.com GeoIP Country Edition: US, United States $ geoiplookup baidu.com GeoIP Country Edition: CN, China
プライベートアドレスなどでは、以下の結果になります。
$ geoiplookup 127.0.0.1 GeoIP Country Edition: IP Address not found $ geoiplookup localhost GeoIP Country Edition: IP Address not found $ geoiplookup 192.168.0.0 GeoIP Country Edition: IP Address not found
0.0.0.0 だとこのようになります。
$ geoiplookup 0.0.0.0 GeoIP Country Edition: can't resolve hostname ( 0.0.0.0 ) GeoIP Country V6 Edition: can't resolve hostname ( 0.0.0.0 )
プログラミング言語からの利用
C, Go, Java, Perl, Python, PHP, Ruby など、様々な言語から利用できます。
- GeoIP-1.6.6
- Find the country that any IP address or hostname originates from
- ap24-mod_geoip2-1.2.10
- Apache module that provides the country code of the client IP
- geoip-java-1.2.8_1
- Java bindings for GeoIP API
- geoipupdate-2.2.1
- Fetch the latest copies of the paid GeoIP database
- go-geoip-0.0.0.20131016
- Go library to wrap the libgeoip C library
- p5-GeoIP2-2.002000
- Perl API for MaxMind GeoIP2 web services and databases
- pear-Net_GeoIP-1.0.0.r1_1
- Library to perform geo-location lookups of IP addresses
- pecl-geoip-1.1.0
- Map IP address to geographic places
- proftpd-mod_geoip-1.3.5a
- GeoIP ProFTPD module
- py27-GeoIP-1.3.2_1
- Mapping of IP addresses/hostnames to country names in Python
- py27-GeoIP2-2.2.0
- MaxMind GeoIP2 Python API
- py27-pygeoip-0.3.2
- Pure Python GeoIP API
- rubygem-geoip-1.5.0
- Geoip implementation for rubygems
- webalizer-geoip-2.23.8_3
- Web server log file analysis program
geoipupdate
MaxMind から geoipupdate (GeoIP Update) というパッケージが提供されています。
geoipupdate (geoIP Update) は、 GeoIP2 と GeoIP レガシーなバイナリデータベースを自動的にアップデートするためのプログラムです。