仕事でサーバを運用していると某国からのアタックがそこそこ多いのだけど、出来れば早急にブロックしてしまいたかったので IP アドレスから whois を引いて CIDR 形式で表示出来るツールを作った。昔はこういうの Perl で書いた気がする。
GitHub - mattn/iputil
https://github.com/mattn/iputil
ライブラリとして作ったけど、コマンドも用意してあります。
$ go get github.com/mattn/iputil/cmd/iprange
実行結果のイメージはこんな感じ。
$ iprange [IPアドレス]
XXX.XXX.XXX.XXX/16
YYY.YY.YYY.YY/16
...
あとはこの結果を使って ufw (Universal FireWall) を使っているのであれば
$ iprange [ヤバいIPアドレス] | xargs -n 1 sudo ufw insert 1 deny from
とかすれば一発でアクセス元をブロック出来る。(はず)