iT邦幫忙

DAY 23
3

現代環境下的 Linux 裡的新工具系列 第 20

查詢IP的所在地 geoiplookup

隨便一個IP,怎麼知道是從什麼地方來的?過去常要到網路上的 ip location 之類的網站查,但現在從 shell 的指令查詢就有。
近來較新的Linux版本裡,竟會直接就會有 geoip 的相關套件

$ pacman -Q |grep geoip
geoip 1.5.1-1
geoip-database 20130919-1

並且所附帶的資料檔,也應會一直提供更新。

使用上很簡單,只要指令後面再加 IP 即可查詢,若加 -i 的參數,會有比較多的相關訊息:

$ geoiplookup 8.8.8.8
GeoIP Country Edition: US, United States
$ geoiplookup -i 8.8.8.8
GeoIP Country Edition: US, United States
  ipaddr: 8.8.8.8
  range_by_ip:  8.7.245.0 - 8.10.6.242
  network:      8.8.0.0 - 8.9.255.255 ::15
  ipnum: 134744072
  range_by_num: 134739200 - 134874866
  network num:  134742016 - 134873087 ::15
$ geoiplookup -v 8.8.8.8
GeoIP Country Edition: GEO-106FREE 20130903 Build 1 Copyright (c) 2013 MaxMind Inc All Rights Reserved
GeoIP Country V6 Edition: GEO-106FREE 20130903 Build 1 Copyright (c) 2013 MaxMind Inc All Rights Reserved

在 shell 命令列模式上,主要是執行給人簡單查詢用,並不需要太留意怎麼取資料欄位的問題,通常這是在需要寫程式或一些服務器上,要利用 geoip 來辨識IP的時候需搞清楚的。
在本站裡有一篇:利用 GeoIP 列出某地區的所有IP網段,把裡面的相關資料欄位怎麼取用,有較詳細的說明。

如果想要以何國家來的IP來作篩選,就iptables而言,可參考這篇:
The geoip match HOWTO
這樣可以直接就擋掉某國家來的IP。

若想在 web 服務裡去擋某些國家,在 nginx 上有 Module ngx_http_geoip_module 這模組也是利用 geoip 的資料來達成。


上一篇
用 vi 指令操作的檔案管理器: ranger
下一篇
TCP/IP 瑞士刀般的超強網路指令工具:netcat
系列文
現代環境下的 Linux 裡的新工具27
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 則留言

0

我要留言

立即登入留言