クリーム色の背景、色付き表示、高コントラスト、大きな文字のほうが読みやすいですか?配色と文字を選ぶと、すべてのページに一度で反映されます。

無料レッスン

ログからタイムラインを作る

このレッスンのあとで: ログの行から時刻と出来事を読み取り、複数のログを時間順に並べることができる。

55分のレッスンコマンド4件インシデント対応とフォレンジックのラボ:侵入されたサーバーをブラウザーで調べる

タイムラインとは

タイムラインとは、事件の出来事を時間の順に並べた一覧です。サーバーのログには、何が、いつ起きたかが残っています。これを並べると、事件の流れが見えてきます。

ログが2つ以上あるときは、コツがあります。時刻の書き方をそろえてから、並べることです。

このレッスンのゴール

メモ

ログの行から時刻と出来事を読み取り、複数のログを時間順に並べることができる。

キーワード

ことばいみ
ログの行1件の記録。時刻、出どころ、出来事が並ぶ
タイムスタンプログの行に書かれた日付と時刻
タイムライン複数のログの出来事を、時間順に並べた一覧
相関づけ別のログの行を、同じ人や同じアドレスでつなぐこと
UTC世界共通の基準で書く時刻。日本時間は、これより9時間進む
時刻のずれログごとにタイムゾーンや時計が違って、時刻が合わないこと

学生が入力するセルは、このプレビューでは空白です。

ログの1行は、どう読むか

ログの1行は、決まった並びで書かれています。まず時刻、次に出どころ、最後に出来事です。

出来事には、誰が、どこから、何をしたか、うまくいったか、が入っています。型が分かれば、ツールで絞ったり数えたりできます。

例: 2つのログの抜粋

コード: bash
# ログインのログ(認証サーバー)
2026-11-03 09:15:02 login failed user=sato from=192.0.2.40
2026-11-03 09:15:09 login failed user=sato from=192.0.2.40
2026-11-03 09:16:30 login ok user=sato from=192.0.2.40

# Webのログ(Webサーバー)
2026-11-03 09:14:58 GET /admin 403 192.0.2.40
2026-11-03 09:16:41 GET /files 200 192.0.2.40

ログによって時刻の書き方が違う

ログの種類時刻の書き方の例気をつけること
ログインのログNov 03 09:15:02年が書かれていない
Webサーバーのログ[03/Nov/2026:09:14:58 +0900]日と月が先。+0900 は日本時間
アプリのログ2026-11-03T00:14:58ZZ は UTC のしるし

学生が入力するセルは、このプレビューでは空白です。

時刻の形をそろえてから並べる

時刻を「年-月-日 時:分:秒」の形にそろえると、文字として並べるだけで、時間の順になります。ツールの sort で足ります。

これは、上の位から順に書いてあるからです。年、月、日、時、分、秒の順なので、文字の並びと時間の並びが一致します。

ログインのログの例を作る

コマンド
printf '2026-11-03 09:15:02 login failed user=sato from=192.0.2.40\n2026-11-03 09:15:09 login failed user=sato from=192.0.2.40\n2026-11-03 09:16:30 login ok user=sato from=192.0.2.40\n' > a.log

ここでは表示のみで、実行されません。無料アカウントを作成すると、実行ボタンで自分のラボのターミナルに入力できます。

Webのログの例を作る

コマンド
printf '2026-11-03 09:14:58 GET /admin 403 192.0.2.40\n2026-11-03 09:16:41 GET /files 200 192.0.2.40\n2026-11-03 09:15:20 GET /index 200 198.51.100.8\n' > w.log

ここでは表示のみで、実行されません。無料アカウントを作成すると、実行ボタンで自分のラボのターミナルに入力できます。

2つのログを時間順に並べる

コマンド
sort a.log w.log

ここでは表示のみで、実行されません。無料アカウントを作成すると、実行ボタンで自分のラボのターミナルに入力できます。

例: 並べたタイムラインの読み方

時刻出どころ出来事読み取れること
09:14:58Web/admin を要求、403管理ページを試して、断られた
09:15:02ログインsato の失敗直後に、ログインを試した
09:15:09ログインsato の失敗もう一度、失敗した
09:16:30ログインsato の成功3回目で、入れた
09:16:41Web/files を要求、200入ったあと、ファイルを見た

学生が入力するセルは、このプレビューでは空白です。

1つのアドレスの動きだけを追う

コマンド
cat a.log w.log | sort | grep 192.0.2.40

ここでは表示のみで、実行されません。無料アカウントを作成すると、実行ボタンで自分のラボのターミナルに入力できます。

時刻がずれると、順番が逆になる

ログごとに、時刻のゾーンが違うことがあります。日本の会社のサーバーは日本時間で、海外のサービスはUTCで書くことが多いです。

そのまま並べると、順番が逆になります。並べる前に、同じゾーンにそろえましょう。日本時間から9時間引くと、UTCになります。

例: 同じ出来事の時刻のずれ

ログ書かれた時刻ゾーンUTCにそろえた時刻
ログインのログ09:15:02日本時間00:15:02
アプリのログ00:14:58UTC00:14:58
並べた結果アプリのログが4秒先そろえたあと00:14:58 が先

学生が入力するセルは、このプレビューでは空白です。

よくある間違い

注意

ゾーンを確かめずに、別々のログを並べる人がいます。日本時間の09:15と、UTCの00:14では、同じ出来事なのに、9時間離れて見えます。並べる前に、各ログのゾーンを調べて、記録に書きましょう。

このラボとソースについて: インシデント対応とフォレンジックのラボ:侵入されたサーバーをブラウザーで調べる

授業で使いますか?このモジュールを学生に割り当てると、教員用ガイド、自動採点つきの課題、学生ごとのラボを使えます。