インターネットなどのオープンネットワークまたはパブリックネットワークからアクセスできるWebサーバーを実行している場合は、サーバーへのアクセスを監視することを常にシステム管理で行うことをお勧めします。
Webサーバーへのアクセスを監視する上での良い点の1つは、サーバーで発生するすべてのアクセスアクティビティに関する情報を格納するアクセスログファイルの存在です。
ログファイルの操作は常に非常に重要です。ログファイルは、システムまたはアプリケーション(この場合はApache Webサーバー)内で発生したすべてのことを説明するためです。パフォーマンスやアクセスに関連する問題が発生した場合は、ログファイルを使用して、何が間違っているか、何が起こっているかを指摘できます。
Linuxでのログ管理についてもっと読む:Linux用の4つの最高のログ管理ツール
この記事では、ApacheWebサーバーにアクセスしている上位10個のIPアドレスを見つける方法を見ていきます。
ApacheWebサーバーログのデフォルトパスは次のとおりです。
/var/log/http/access_log [For RedHat based systems] /var/log/apache2/access.log [For Debian based systems] /var/log/http-access.log [For FreeBSD]
ドメインのApacheWebサーバーにアクセスする上位10個のIPアドレスを見つけるには、次のコマンドを実行するだけです。
# awk '{ print $1}' access.log.2016-05-08 | sort | uniq -c | sort -nr | head -n 10
サンプル出力
5482 103.28.37.178 5356 66.249.78.168 1977 66.249.93.145 1962 157.55.39.251 1924 66.249.93.142 1921 66.249.93.148 1890 64.233.173.178 1860 108.61.183.134 1841 64.233.173.182 1582 157.55.39.251
上記のコマンドの場合:
-
awk
– access.log.2016-05-08を印刷します ファイル。 sort
– access.log.2016-05-08の行を並べ替えるのに役立ちます ファイル、-n
オプションは、文字列と-r
の数値に基づいて行を比較します オプションは、比較の結果を逆にします。-
uniq
–繰り返し行と-c
を報告するのに役立ちます オプションは、出現回数に応じて行に接頭辞を付けるのに役立ちます。
Linuxでawkコマンドを使用する方法の詳細をご覧ください。
概要
これを達成するために使用できる方法はたくさんあります。コメントで共有するより良い方法を知っている場合、また提案や質問がある場合は、下のコメントセクションにコメントを残すことを忘れないでください。一緒に話し合います。この記事がお役に立てば幸いです。常にTecmintとのつながりを保つことを忘れないでください。