ApacheWebサーバーにアクセスする上位10個のIPアドレスを検索する


インターネットなどのオープンネットワークまたはパブリックネットワークからアクセスできる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

上記のコマンドでは:

  1. awk – prints the access.log.2016-05-08 file.
  2. sort – helps to sort lines in a access.log.2016-05-08 file, the -n option compares lines based on the numerical value of strings and -r option reverses the outcome of the comparisons.
  3. uniq – helps to report repeated lines and the -c option helps to prefix lines according to the number of occurrences.

Linuxでawkコマンドを使用する方法の詳細をご覧ください。

概要

これを達成するために使用できる多くの方法があります。コメントで共有するより良い方法を知っている場合、また提案や質問がある場合は、下のコメントセクションにコメントを残すことを忘れないでください。一緒に議論します。この記事がお役に立てば幸いです。常にTecmintとの接続を維持することを忘れないでください。