すべてのプロダクト
Search
ドキュメントセンター

CDN:オフラインログの分析

最終更新日:Sep 17, 2026

コマンドラインツールを使用してオフラインログファイルを解析し、リクエスト数、ユーザーエージェント、リファラーごとの上位 10 件の IP アドレスなどの情報を抽出できます。このトピックでは、Linux 環境でコマンドラインツールを使用して CDN のオフラインアクセスログを分析する方法について説明します。

ログデータの収集と準備

  1. クイックスタート を参照して、ログファイル aliyundoc.com_2018_10_30_000000_010000.gz を取得します。

  2. ログファイルをローカルの Linux サーバーにアップロードします。

    ログエントリの例:

    [9/Jun/2015:01:58:09 +0800] 10.10.10.10 - 1542 "-" "GET http://www.aliyun.com/index.html" 200 191 2830 MISS "Mozilla/5.0 (compatible; AhrefsBot/5.0; +http://example.com/robot/)" "text/html"
  3. ローカルの Linux サーバーにログオンし、次のコマンドを実行してログファイルを解凍します。

    gzip -d aliyundoc.com_2018_10_30_000000_010000.gz

    展開により、aliyundoc.com_2018_10_30_000000_010000 という名前のログファイルが作成されます。

    ログファイルの命名規則: 加速ドメイン名_年_月_日_開始時刻_終了時刻[拡張フィールド].gz。拡張フィールドはアンダースコア (_) で始まります。例: aliyundoc.com_2018_10_30_000000_010000_xx.gz。

    説明

    特定のログファイル名には、拡張フィールドが含まれない場合があります。例: aliyundoc.com_2018_10_30_000000_010000.gz。

異常な動作の特定とフィルタリング

リクエスト数の確認

オフラインアクセスログデータ内の IP リクエスト数を分析することで、異常なリクエストを特定できます。異常なリクエストには、通常、次のような特徴があります。

  • 異常に高いリクエスト数:単一の送信元 IP アドレスからのアクセス頻度を詳細に確認します。特定の期間内に、ある IP アドレスからのリクエスト数がベースラインから著しく逸脱していることが検出された場合、トラフィックの不正利用が強く疑われます。

  • 短期間での大量リクエスト:突然のトラフィックスパイク、または異常な周期的なリクエストパターン。

    リクエスト数が最も多い上位 10 件の IP アドレスを一覧表示します。

    cat [$Log_Txt] | awk '{print $3}' |sort|uniq -c|sort -nr |head -n 10
    説明
    • awk '{print $3}':ログファイルの 3 列目 (IP アドレス) を抽出します。列はスペースで区切られます。

    • sort:IP アドレスをソートします。

    • uniq -c:各 IP アドレスの出現回数をカウントします。

    • sort -nr:結果をカウントの降順でソートします。

    • head -n 10:リクエスト数が最も多い上位 10 件の IP アドレスを取得します。

    • [$Log_Txt]:お使いのログファイル名 (例: aliyundoc.com_xxxxxxx) に置き換えます。

ユーザーエージェントの分析

オフラインアクセスログのユーザーエージェントを分析して、異常なリクエストを特定します。異常なユーザーエージェントには、通常、次のような特徴があります。

  • 異常または偽装されたユーザーエージェント:多くのスクレイピングツールは、デフォルトまたは偽装されたユーザーエージェントを使用します。これらは、一般的でない、疑わしい、または空のユーザーエージェントをフィルタリングすることで見つけることができます。

    ユーザーエージェントを抽出してカウントします。

     grep -o '"Mozilla[^"]*' [$Log_Txt] | cut -d'"' -f2 | sort | uniq -c | sort -nr | head -n 10

    一般的なユーザーエージェントを除外して、疑わしいものを特定できます。

    grep -v -E "Firefox|Chrome|Safari|Edge" [$Log_Txt]

    ユーザーエージェントに "Mozilla" が含まれていないリクエスト数をカウントします。

    awk '!/Mozilla/' [$Log_Txt] | wc -l
    説明

    grep -o:一致したコンテンツのみを出力します。

    grep -v -E:一致を反転させ、指定したパターンに一致しない行を表示します。

    wc -l:行数をカウントします。

リクエストパターンの分析

オフラインアクセスログでリクエストされた URL を分析して、異常なリクエストパターンを特定します。異常な URL リクエストには、通常、次のような特徴があります。

  • 高い URL 類似性:トラフィックのスクレイピングでは、類似または同一の URL への大量のリクエストが頻繁に伴います。URL パターンを分析することで、これらの異常なリクエストを検出できます。

  • 特定のリソースタイプに対する高いリクエスト率:画像、CSS、JS ファイルなどの特定のリソースに対するリクエスト数が異常に多い場合は、トラフィックのスクレイピングを示している可能性があります。

    リクエスト数が最も多い上位 10 件の URL を一覧表示します。

    grep -oP 'https?://[^" ]+' [$Log_Txt] | sort | uniq -c | sort -nr | head -n 10

ステータスコードの分析

オフラインログのステータスコードを分析して、異常なリクエストを特定します。

4xx または 5xx レスポンスの高い比率:単一の IP アドレスから 4xx または 5xx ステータスコードが多数ある場合、悪意のあるクローリングの試みを示している可能性があります。

さまざまなステータスコードの出現回数をカウントします。

awk '{print $9}' [$Log_Txt] | sort | uniq -c | sort -nr

400 ステータスコードを生成した上位 10 件の IP アドレスを一覧表示します。

grep ' 400 ' [$Log_Txt] | awk '{print $3}' | sort | uniq -c | sort -nr | head -n 10