以前紹介した、ログ等のテキストファイルに記述されているIPアドレスの国名を出力するスクリプトの、その2です。
下記のように、IPアドレス部分の後に、そのIPアドレスの国名を加えます。
Jul 17 04:36:08 test-sv kernel: [1098792.368368] IN=eth1 OUT= MAC=xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx SRC=213.202.253.7(ドイツ連邦共和国) DST=59.106.13.75(日本) LEN=416 TOS=0x00 PREC=0x00 TTL=42 ID=3878 DF PROTO=UDP SPT=5267 DPT=15066 LEN=396 Jul 17 04:39:39 test-sv kernel: [1099003.589788] IN=eth1 OUT= MAC=xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx SRC=185.208.209.6(オランダ) DST=59.106.13.75(日本) LEN=40 TOS=0x00 PREC=0x00 TTL=238 ID=97 PROTO=TCP SPT=58729 DPT=15525 WINDOW=1024 RES=0x00 SYN URGP=0 Jul 17 04:39:43 test-sv kernel: [1099007.625799] IN=eth1 OUT= MAC=xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx SRC=60.217.72.12(中華人民共和国) DST=59.106.13.75(日本) LEN=40 TOS=0x00 PREC=0x00 TTL=238 ID=20618 PROTO=TCP SPT=49305 DPT=42836 WINDOW=1024 RES=0x00 SYN URGP=0
まず、スクリプトで使用する為の、世界の国別 IPv4 アドレス割り当てリストのCIDR形式のファイルを取得します。
wget -q -N http://nami.jp/ipv4bycc/cidr.txt.gz gunzip -q -f -c cidr.txt.gz > cidr.txt
同じ個所に、スクリプト add_countryname.pl を下記からダウンロードします。
https://pcvogel.sarakura.net/pub/files/add_countryname.pl
実行は、IPアドレスが含まれたテキストを以下のようにパイプで渡してください。
cat /var/log/secure | perl add_countryname.pl
コメント