はじめに
アクセス元IPアドレスをTOP10で抽出したい!という時に使うコマンド。発行コマンド
$ cat access_log |cut -f 1 -d ' ' | sort |uniq -c|sort -nr|head -10
中身
◆cut -f 1 -d ' ' access_logの中身を「 」(スペース)で区切り、1項目を表示する◆sort | uniq -c
で重複行をカウント
◆sort -nr
数字が大きい順に並べかえる
◆head -10
TOP10のみ出力
実際に発行してみた
実際に発行してみると、$ cat access_log |cut -f 1 -d ' ' | sort |uniq -c|sort -nr|head -10
103 X.X.X.X
99 X.X.X.X
93 X.X.X.X
91 X.X.X.X
88 X.X.X.X
50 X.X.X.X
33 X.X.X.X
29 X.X.X.X
18 X.X.X.X
6 X.X.X.X
左からアクセス数、つぎに接続元IPアドレスが出力されます。
例えば、接続数が多いIPアドレスが海外のブラックリストに登録されているIPアドレスだった場合は、拒否したりすることもできます。