地方エンジニアの学習日記

興味ある技術の雑なメモだったりを書いてくブログ。たまに日記とガジェット紹介。

【Python】サブネット形式で値を渡すと国を判別するツールを書いた

github.com

サブネット形式で値を渡すと国を判別するツールを書いてみました。ちなみにGeoLite2をローカルに置いてそこを参照するので外部サイトへの確認なんかを行わない作りになっています。(問い合わせし放題)

使い方はこんな感じ。slackとかから呼べると便利そう。

# 引数で渡す
$ python3 iptokuni.py 1.1.1.1
build_date: 2021-08-31 10:29:40
1.1.1.1: AU

# サブネット形式で渡す
$ python3 iptokuni.py 1.1.1.1/29
build_date: 2021-08-31 10:29:40
1.1.1.1: AU
1.1.1.2: AU
1.1.1.3: AU
1.1.1.4: AU
1.1.1.5: AU
1.1.1.6: AU

# ファイルで渡す
$ cat test.txt
1.1.1.1
8.8.8.8
11.22.33.44

$ cat test.txt | python3 iptokuni.py
build_date: 2021-08-31 10:29:40
1.1.1.1: AU
8.8.8.8: US
11.22.33.44: US

GeoLite2のデータベースを落としてくる必要があります。

https://dev.maxmind.com/geoip/geolite2-free-geolocation-data?lang=en