• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:5秒に1回以上アクセスしてくる接続元IPをアクセスログから抽出したい)

アクセスログから過去1分間に12回以上アクセスしているIPを抽出する方法

uwiの回答

  • ベストアンサー
  • uwi
  • ベストアンサー率74% (55/74)
回答No.3

AWK で行単位に処理してるだけです。 まず前提としてAWKは行単位で処理して、 66.77.88.99 - - [01/Mar/2010:21:56:39 +0900] "GET /cgi/test.cgi? ... という行があった場合、空白で分割して $1 = 66.77.88.99, $2 = -, $3 = -, $4 = [01/Mar/2010:21:56:39, ... となります。 以下、改行してコメント。 /\/cgi\/test.cgi/ { # 行に/cgi/test.cgiを含む場合に以下の処理  # $4 = [01/Mar/2010:21:56:39 を:で分割してdに代入  split($4,d,/:/);  # d[2]=時,d[3]=分,$1=IPアドレスをつなげた添字の配列cに1を足す。  # 添字が同じだった場合は当然、数が増えていく。  c[d[2]":"d[3]" "$1]++; } END { # 上の処理が終わったあと最後に処理  for(i in c)  # 配列cの添字をiに代入してループ   if(c[i]>=12)  # カウントが12以上だった場合    print i" "c[i];  # 添字、空白、カウントを表示する }

tanpopo012
質問者

お礼

ありがとうございます。よく分かりました。 これを自分で書けるようになるには相当時間がかかりそうです。

関連するQ&A

  • アクセスログについて

    サーバーを運営していますが、アクセスログに 同じところからのアクセスにもかかわらず、IP表示とドメイン名表示の2種類あるのはどうしてでしょうか?よろしくお願いします。

  • Apacheのアクセスログについて

    下記のディレクトリにスクリプトが格納されています。 ・/home/ユーザ/html/site/ ブラウザで上記のサイトにアクセスした際のApacheのアクセスログを下記のディレクトリにaccess_logファイルに格納する事は可能ですか。 ※できれば上記のサイトのみのアクセスログ。 ・/home/ユーザ/html/site/log もし可能であるならどのようにすればいいのでしょうか。 申し訳ありませんがアドバイス宜しくお願いします。

  • アクセスログのGCIスクリプト

    アクセスログGCIスクリプトを探してます ・無料で ・リンク元 ・IPアドレス ・ドメイン名 ・OSブラウザ が分かるものってないでしょうか? 最低でも ・無料で ・リンク元 ・IP がわかればいいです 動作が重くないもので、オススメなものはありませんか?

    • ベストアンサー
    • CGI
  • アクセスログを削除してもいいでしょうか

    LinuxでWebサーバ(Apache)を動かしていますが、アクセスログとエラーログのファイルサイズが大きくなりvarパーティションを圧迫しています。このログはログローテーションにより毎週日曜日に更新されるのですが、古いログを削除しようと思っています。たとえばaccess_log(更新中のファイル)、access_log.1、access_log.2、access_log.3、access_log.4とある内access_log.3とaccess_log.4を削除しても問題ないのでしょうか? OSはRedHatLinux7.0jです。

  • アクセスログの取得について

    cgiでアクセスログの作り方を勉強しました。 そこで疑問なんですが、作ったホームページにアクセスしてきた人のログをとるには、ログを取るために作ったcgiファイルにアクセスさせないといけないんでしょうか? トップページのアクセスログを取りたいのですが、トップと別のcgiファイルを実行することでトップのログを取ることはできませんか? わけの分からないことを言っているかもしれませんがよろしくお願いします。

    • ベストアンサー
    • CGI
  • access.log , error.log の置き場所について

    現在、専用サーバで複数ドメイン運用しています。 Red Hat 8.0です。 ユーザファイル等を/var/www/以下においておりますが、 アクセスログが多量にたまり、/var/以下は90%近くになっております。 このアクセスログ[access.log ,error.log]は/var以外に 置いても良い物なのでしょうか? また、そのような事は可能でしょうか? 設定は他者にお願いしておりましたので初心者です。 今回、自分で設定してみようと思っております。 宜しくお願い致します。

  • apacheのアクセスログのファイル名について

    【環境】 centos4.5 apache2.2.6 現在、テストの為、アクセスログを5分ごとにローテーションさせて、 ファイル名には「年月日時分秒」が入るように設定してますが、 出力されるアクセスログファイル名の時刻がおかしくて困ってます。 【httpd.confの設定値】 CustomLog "|/usr/local/apache2/bin/rotatelogs /usr/local/apache2/logs/access_log.%Y%m%d%H%M%S 300" combined 15時55分に出力されたファイル名 access_log.20071104065500 16時5分に出力されたファイル名 access_log.20071104070500 上記のように 15時だと06 16時だと07 になってしまいます。 年・月・日・分・秒は正確にファイル名に入るのですが、 時だけおかしいです。 dateコマンドだと正常に表示されます 2007年 11月 4日 日曜日 16:44:02 JST 原因が分からず困っています。 どなたか教えて下さい。宜しくお願いします。

  • Webアクセスログの抽出

    Webアクセスログの解析をしており、一定期間にあるファイルにアクセスしたユーザ数を調べたいのですが、同一ファイルでのIPアドレスが重複しているものを一つにしたいと思います。 EXELでとりこめないくらいの行数があるので、grepなどで 処理すればよいと思いますが、その方法がわかりません。 どなたかご教示をおねがいできますでしょうか。

  • Apacheでアクセスログの送信元

    Apacheにおいてアクセスログを確認してみたのですが、送信元がIPアドレスの場合とホスト名の場合がありました。 その変化の間に特に設定はいじっておりません。 数秒間のアクセス間にもそれが変化するときがあります。 連続してIPアドレスだったりホスト名だったり、一個だけホスト名であとはIPアドレスが続いたりと様々です。 自分で同じブラウザを使って同じように何度もアクセスしています。 サーバはレンタルサーバを使っています。 ちなみにHostnameLookupsという設定は、探してみましたが確認方法がわかりませんでした。 この変化にどういう法則があるのでしょうか。

  • ApacheのアクセスログからURL毎のアクセス数を簡単に抜き出せるソフトについて

    access_log access_log.1.gz のようなファイルから、各URL毎のアクセス数のみを、 お手軽に集計できるソフトはあるでしょうか? LinuxのApacheのアクセスログをWindowsへ持ってきて、 集計することでも構いません。 よろしくお願いします。