FC2ブログ

下流ネットワークエンジニアの生活

上流工程を夢見る下流工程のネットワークエンジニアがネットワーク技術や資格、身の回りのことを情報発信! Juniper Cisco YAMAHA DELL D-Link AlaxalA F5 CCNA CCNP CCIE ネットワークスペシャリスト

次世代版whoisのるRDAPを使い特定のIPアドレスが所属するアドレス範囲を確認するシェルスクリプト

2017.07.13 (Thu)


普段、Webアクセスのログを確認し
不正アクセスと思われるIPアドレスをCIDRブロック単位で破棄している

いちいちwhoisで検索して不正アクセス元のIPアドレスの範囲を
確認するのはとっても手間。

whoisだと管轄によってフォーマットがバラバラなので
私のスキルでは自動化はかなり手間のかかることをしなければいけない。

ということで、調査した結果、次世代版whoisであるRDAPの存在を発見!
フォーマットが統一されていることから自動化も簡単。





かなり雑だが、シェルスクリプトを公開

CentOS6と7環境で使用できます
※他の環境ではわかりません

----------------------------------------------------------------------------------------------

#!/bin/bash

IP=$1


LIST="https://rdap.apnic.net/ip
https://rdap.arin.net/registry/ip
https://rdap.db.ripe.net/ip
https://rdap.lacnic.net/rdap/ip
https://rdap.afrinic.net/rdap/ip"


for URL in ${LIST}
do

CHECK="`curl --connect-timeout 5 -s ${URL}/${IP} |egrep "startAddress|endAddress"`"
if [ "`echo "${CHECK}" | wc -l`" -eq "2" ] ; then
START=`echo "${CHECK}" |egrep "startAddress" | sed -e "s/^.*: \"//g" | sed -e "s/\",$//g"`
END=`echo "${CHECK}" |egrep "endAddress" | sed -e "s/^.*: \"//g" | sed -e "s/\",$//g"`
ipcount ${START} - ${END} | awk '{print $1}' |egrep -v ","
fi
done


----------------------------------------------------------------------------------------------


1)事前準備
yum install perl-Net-IP.noarch curl

2)スクリプト作成
vi rdap.sh
上記スクリプトをコピペ

:wqで保存

3)実行
sh rdap.sh 確認したいIPアドレス

例) sh rdap.sh 8.8.8.8
関連記事
スポンサーサイト



コメント


管理者のみに表示

トラックバック