<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>ログ分析 &#8211; セキュリティエンジニアの雑多ブログ</title>
	<atom:link href="https://cybermemo.blog/tag/log-analysis/feed" rel="self" type="application/rss+xml" />
	<link>https://cybermemo.blog</link>
	<description>セキュリティエンジニアの学習記録</description>
	<lastBuildDate>Wed, 22 Oct 2025 12:52:29 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.1</generator>

<image>
	<url>https://cybermemo.blog/wp-content/uploads/2025/10/cropped-トップアイコン-32x32.jpg</url>
	<title>ログ分析 &#8211; セキュリティエンジニアの雑多ブログ</title>
	<link>https://cybermemo.blog</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Chrome DevTools による簡易調査メモ</title>
		<link>https://cybermemo.blog/chrome-devtools-overview</link>
					<comments>https://cybermemo.blog/chrome-devtools-overview#respond</comments>
		
		<dc:creator><![CDATA[miyuki]]></dc:creator>
		<pubDate>Sat, 18 Oct 2025 09:51:47 +0000</pubDate>
				<category><![CDATA[セキュリティ]]></category>
		<category><![CDATA[web-security]]></category>
		<category><![CDATA[ログ分析]]></category>
		<guid isPermaLink="false">https://cybermemo.blog/?p=497</guid>

					<description><![CDATA[<p><img src="https://cybermemo.blog/wp-content/uploads/2025/10/Chrome-DevTools-簡易調査_アイキャッチ-1-1024x683.jpg" class="webfeedsFeaturedVisual" /></p>はじめに 不審サイトの調査などで Chrome DevTools をよく使うので自分用メモ。ここでは概要をつかむための簡単な解説だけ。詳細はいずれ別記事で書けたら書く。 DevTools とは DevTools（デブツー [&#8230;]]]></description>
										<content:encoded><![CDATA[<p><img src="https://cybermemo.blog/wp-content/uploads/2025/10/Chrome-DevTools-簡易調査_アイキャッチ-1-1024x683.jpg" class="webfeedsFeaturedVisual" /></p>
<h2 class="wp-block-heading">はじめに</h2>



<p>不審サイトの調査などで Chrome DevTools をよく使うので自分用メモ。<br>ここでは概要をつかむための簡単な解説だけ。詳細はいずれ別記事で書けたら書く。</p>



<h2 class="wp-block-heading">DevTools とは</h2>



<p>DevTools（デブツールズ）は、Webブラウザに標準搭載されている「開発者向けツール」。<br>画面上の要素を調べてデザイン崩れを修正したり、ネットワーク通信を確認して読み込みエラーを特定したり、<br>コンソールでエラーメッセージやログを確認したりできる。<br>名前の通り、本来は開発者向けツールだがセキュリティ調査でも補助ツールとして使われる。<br><br>今回は Chrome に搭載されている DevTools の機能を解説。</p>



<h2 class="wp-block-heading">DevTools の概要</h2>



<h3 class="wp-block-heading">DevTools の開き方</h3>



<p>Macの場合<br>Cmd + option + I<br><br>Windowsの場合<br>Ctrl + Shift + C もしくは F12</p>



<p>DevTools 画面例</p>



<figure class="wp-block-image size-full is-resized"><img decoding="async" width="544" height="663" src="https://cybermemo.blog/wp-content/uploads/2025/10/DevTools-の開き方-1.png" alt="DevTools" class="wp-image-502" style="width:347px;height:auto" srcset="https://cybermemo.blog/wp-content/uploads/2025/10/DevTools-の開き方-1.png 544w, https://cybermemo.blog/wp-content/uploads/2025/10/DevTools-の開き方-1-246x300.png 246w" sizes="(max-width: 544px) 100vw, 544px" /></figure>



<h3 class="wp-block-heading">DevTools のパネルメニュー</h3>



<p>セキュリティの観点で各パネルをどのように利用するか記載。</p>



<h4 class="wp-block-heading">Elements（エレメンツ）</h4>



<p>用途：Webページの構造（HTML）やクライアント側のDOM要素<sup data-fn="0d177dac-0798-40bc-91b9-fd7f9c962937" class="fn"><a href="#0d177dac-0798-40bc-91b9-fd7f9c962937" id="0d177dac-0798-40bc-91b9-fd7f9c962937-link">1</a></sup>を確認。<br><br>使用例：<br>悪意あるスクリプト（例：&lt;script&gt;タグ内のXSSペイロード）をページ内で検出できる。<br>inputフォームの属性（maxlengthやrequiredなど）を確認してクライアントサイド検証の甘さを見抜く。<br>非表示（display:none）の要素や、意図的に隠されたトークン値などもDOM上で確認可能。</p>



<h4 class="wp-block-heading">Console（コンソール）</h4>



<p>用途：ブラウザで発生しているJavaScriptエラー・警告の確認。<br><br>使用例：<br>脆弱なスクリプト読み込み（HTTP通信など）が警告として出る。<br>エラー文から内部APIのエンドポイントや認証処理の構造が推測できる場合もある。<br>XSSテスト時にペイロードが実行されているか確認するのにも使える。</p>



<h4 class="wp-block-heading">Sources（ソース）</h4>



<p>用途：JavaScriptやCSS、画像ファイルの確認。<br><br>使用例：<br>公開されている .js ファイルから機密ロジックやAPIキーのハードコーディング<sup data-fn="6fd2bd1f-44cc-4125-8fc1-faa433a28694" class="fn"><a href="#6fd2bd1f-44cc-4125-8fc1-faa433a28694" id="6fd2bd1f-44cc-4125-8fc1-faa433a28694-link">2</a></sup>を発見できる。<br>JSのマップファイル（.map）が残っていると難読化されたコードを簡単に復元できる。<br>コメント内に内部仕様やURLが書かれていないか確認できる。</p>



<h4 class="wp-block-heading">Network（ネットワーク）</h4>



<p>用途：Webページがやり取りしている通信（HTTPリクエスト・レスポンス）を確認。<br><br>使用例：<br>HTTPヘッダー（Cookie, Authorization, CSP, CORSなど）を確認できる。<br>CookieのSecure / HttpOnly / SameSite 属性の設定をチェック。<br>API通信のレスポンスを観察して、過剰情報漏えい（PII<sup data-fn="1b11e591-98e9-4503-88cf-994c32c45d48" class="fn"><a href="#1b11e591-98e9-4503-88cf-994c32c45d48" id="1b11e591-98e9-4503-88cf-994c32c45d48-link">3</a></sup>や内部ID）がないか確認できる。</p>



<h4 class="wp-block-heading">Performance（パフォーマンス）</h4>



<p>用途：処理や描画のタイミングを計測し、スクリプト挙動を把握。（Webページが“どんなタイミング”で“何をしているか”を記録して、時間軸で見える化するツール）<br><br>使用例：<br>攻撃者が仕込んだマルウェアスクリプトや追跡コードが異常にCPUを消費していないかを確認できる。<br>通常とは異なるタイミングで外部通信が発生していないかを監視可能。</p>



<h4 class="wp-block-heading">Memory（メモリ）</h4>



<p>用途：Webアプリの動作中に使われるメモリの状態を分析。<br><br>使用例：<br>クライアント側で扱っているデータが、不要に保持・漏洩していないか確認できる。<br>セッション情報やトークンがメモリ上に残り続けていないかを調査。</p>



<h4 class="wp-block-heading">Application（アプリケーション）</h4>



<p>用途：ブラウザに保存されたデータ（Cookie、LocalStorageなど）を確認。<br><br>使用例：<br>LocalStorageやSessionStorageにアクセストークンや個人情報が保存されていないか確認。<br>Cookie設定（Secure / HttpOnly / SameSite）を確認して脆弱な設定を検出。<br>キャッシュデータやService Workerの構成から、古いリソースが残っていないか確認。</p>



<h4 class="wp-block-heading">Privacy and Security（プライバシーとセキュリティ）</h4>



<p>用途：通信の安全性と証明書状態を確認。<br><br>使用例：<br>SSL/TLS証明書の有効期限・暗号スイートを確認。<br>Mixed Content（HTTPSページ内でHTTPリソースを読み込む危険な構成）があるか検出。<br>Cookieの追跡情報やセキュリティポリシーの確認にも使える。</p>



<h4 class="wp-block-heading">Lighthouse（ライトハウス）</h4>



<p>用途：Webサイト全体を自動診断（パフォーマンス・セキュリティ・アクセシビリティなど）。<br><br>使用例：<br>HTTPSが有効か、セキュリティヘッダー（CSP、X-Frame-Optionsなど）が設定されているか自動チェック。<br>セキュリティ的な改善ポイントをレポート形式で提示してくれる。</p>



<h4 class="wp-block-heading">Recorder（レコーダー）</h4>



<p>用途：操作の記録・再生（Webアプリの自動テスト）。<br><br>使用例：<br>CSRFテストなどで再現性を保つための操作手順を自動記録できる。<br>ペネトレーションテスト時に攻撃パターンを再生・再現する用途でも使われる。　&#8230;かも。（ChatGPTに聞いたけど、本当にそのような使い方がされているのか調べきれなかった。）</p>


<ol class="wp-block-footnotes"><li id="0d177dac-0798-40bc-91b9-fd7f9c962937">DOM（ブラウザがHTMLを解析して作るページの構造モデル）内の1つ1つの部品（例：div, p, inputなど）。 <a href="#0d177dac-0798-40bc-91b9-fd7f9c962937-link" aria-label="脚注参照1にジャンプ">↩︎</a></li><li id="6fd2bd1f-44cc-4125-8fc1-faa433a28694">設定や機密情報をプログラムの中に直接書いてしまうこと。 <a href="#6fd2bd1f-44cc-4125-8fc1-faa433a28694-link" aria-label="脚注参照2にジャンプ">↩︎</a></li><li id="1b11e591-98e9-4503-88cf-994c32c45d48">個人情報。 <a href="#1b11e591-98e9-4503-88cf-994c32c45d48-link" aria-label="脚注参照3にジャンプ">↩︎</a></li></ol>


<h2 class="wp-block-heading">最後に</h2>



<p>簡易調査で限られた機能しか使っていなかったので、まとめ用に調べてみると思っていたよりもできることが多そう。もう少し使いこなせるようになりたい。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://cybermemo.blog/chrome-devtools-overview/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>初心者向けawkコマンドの使い方</title>
		<link>https://cybermemo.blog/awk-beginner-guide</link>
					<comments>https://cybermemo.blog/awk-beginner-guide#respond</comments>
		
		<dc:creator><![CDATA[miyuki]]></dc:creator>
		<pubDate>Sun, 12 Oct 2025 15:07:28 +0000</pubDate>
				<category><![CDATA[コマンド]]></category>
		<category><![CDATA[awk]]></category>
		<category><![CDATA[SOC]]></category>
		<category><![CDATA[ログ分析]]></category>
		<guid isPermaLink="false">https://cybermemo.blog/?p=465</guid>

					<description><![CDATA[<p><img src="https://cybermemo.blog/wp-content/uploads/2025/10/コマンド用アイキャッチ.jpg" class="webfeedsFeaturedVisual" /></p>awkコマンドとは awk（オーク）はテキストを1行ずつ読みながら、1行をくつかの列（フィールド）に分けて読む・抜き出す・加工するためのコマンド。たとえば、ログの「3列目だけ取りたい」時にawkが便利。 awkの基本構文 [&#8230;]]]></description>
										<content:encoded><![CDATA[<p><img src="https://cybermemo.blog/wp-content/uploads/2025/10/コマンド用アイキャッチ.jpg" class="webfeedsFeaturedVisual" /></p>
<h2 class="wp-block-heading">awkコマンドとは</h2>



<p>awk（オーク）はテキストを1行ずつ読みながら、1行をくつかの列（フィールド）に分けて読む・抜き出す・加工するためのコマンド。<br>たとえば、ログの「3列目だけ取りたい」時にawkが便利。</p>



<h2 class="wp-block-heading">awkの基本構文</h2>



<p>awk の基本構文は以下。</p>



<pre class="wp-block-code"><code>awk 'パターン { アクション }' ファイル名</code></pre>



<p>パターン＝どんな行を選ぶか<br>アクション＝その行で何をするか<br><br>ざっくり言うと 「ファイルの中で、〇〇な行があったら、△△をする」。</p>



<h2 class="wp-block-heading">awkの基本をサンプルから覚える</h2>



<h3 class="wp-block-heading">サンプル</h3>



<p>サンプルとして使用するファイルの内容。<br>各行は「名前・年齢・都市・職業」の4つのフィールドで構成されている。</p>



<pre class="wp-block-code"><code># sample.txt
Alice   25  Tokyo     Engineer
Bob     30  Osaka     Manager
Charlie 28  Nagoya    Designer
David   35  Fukuoka   Engineer
Eve     22  Tokyo     Intern</code></pre>



<h3 class="wp-block-heading">サンプルファイルの分解</h3>



<p>タブやスペースごとに awk が自動で以下表のように読み込んでくれる。</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>フィールド番号</th><th>内容（意味）</th><th>awkで書くと</th></tr></thead><tbody><tr><td><code>$1</code></td><td>名前（Name）</td><td>Alice</td></tr><tr><td><code>$2</code></td><td>年齢（Age）</td><td>25</td></tr><tr><td><code>$3</code></td><td>都市（City）</td><td>Tokyo</td></tr><tr><td><code>$4</code></td><td>職業（Job）</td><td>Engineer</td></tr></tbody></table></figure>



<h3 class="wp-block-heading">実際に動かしてみる</h3>



<h4 class="wp-block-heading">行全体を表示</h4>



<p>print で出力し、$0 でその行全体（すべてのフィールド）を指定。</p>



<pre class="wp-block-code"><code>$ awk '{print $0}' sample.txt</code></pre>



<p>ファイル全体を見たいなら cat でいい気がするので、実務では使わないかも。</p>



<pre class="wp-block-code"><code># sample.txt
Alice   25  Tokyo     Engineer
Bob     30  Osaka     Manager
Charlie 28  Nagoya    Designer
David   35  Fukuoka   Engineer
Eve     22  Tokyo     Intern</code></pre>



<h4 class="wp-block-heading">1列目（名前）だけ表示</h4>



<p>$1 で名前フィールドを出力。</p>



<pre class="wp-block-code"><code>$ awk '{print $1}' sample.txt</code></pre>



<p>これだけだとコメント（#）まで出力されてしまうので、実務ではもう少し条件を絞った方がよさそう。</p>



<pre class="wp-block-code"><code>#
Alice
Bob
Charlie
David
Eve</code></pre>



<h4 class="wp-block-heading">コメント（#）を除外</h4>



<p>! = ～でない、/文字列/ = 正規表現の始まりと終わりを示す囲み記号、^ = 先頭行 の意味。 <br>先頭行がコメント（#）でない名前フィールドを出力。</p>



<pre class="wp-block-code"><code>$ awk '!/^#/ {print $1}' sample.txt</code></pre>



<p>コメント（#）が除外され、名前のフィールドだけが出力される。</p>



<pre class="wp-block-code"><code>Alice
Bob
Charlie
David
Eve</code></pre>



<h4 class="wp-block-heading">名前と都市を表示</h4>



<p>$1 で名前フィールド、$3 で都市フィールドを指定。</p>



<pre class="wp-block-code"><code>$ awk '{print $1, $3}' sample.txt</code></pre>



<p>それぞれのフィールドが正しく抽出されている。</p>



<pre class="wp-block-code"><code># 
Alice Tokyo
Bob Osaka
Charlie Nagoya
David Fukuoka
Eve Tokyo</code></pre>



<h4 class="wp-block-heading">Tokyo に住んでいる人だけ表示</h4>



<p>$3 を == で Tokyo 指定。</p>



<pre class="wp-block-code"><code>$ awk '$3 == "Tokyo" {print $0}' sample.txt</code></pre>



<p>Tokyo に住んでいる人だけが抽出される。</p>



<pre class="wp-block-code"><code>Alice   25  Tokyo     Engineer
Eve     22  Tokyo     Intern</code></pre>



<h4 class="wp-block-heading">年齢が30歳以上の人だけ表示</h4>



<p>$2 >= 30 で指定。ついでにコメントも &amp;&amp; でつなげて除外しておく。</p>



<pre class="wp-block-code"><code>$ awk '!/^#/ &amp;&amp; $2 >= 30 {print $1, $2}' sample.txt</code></pre>



<p>30歳以上の人だけが抽出される。</p>



<pre class="wp-block-code"><code>Bob 30
David 35</code></pre>



<h4 class="wp-block-heading">Engineerの人数を数える</h4>



<p>$4 == &#8220;Engineer&#8221; で エンジニアを指定、{count++} で条件が真なら count を 1 増やす、END {print count} でファイルを全部読み終わったあとに出力。</p>



<pre class="wp-block-code"><code>$ awk '$4 == "Engineer" {count++} END {print count}' sample.txt</code></pre>



<p>きちんとカウントされている。</p>



<pre class="wp-block-code"><code>2</code></pre>



<h4 class="wp-block-heading">平均年齢を計算</h4>



<p>{sum += $2; count++} で 2 列目（年齢）の値を合計し、行数を 1 増やす。<br>END {print sum/count} でファイルをすべて読み終えたあとに平均を出力する。<br>※今回はカウント処理を行うため、コメント（#）のスキップが必須。<br><br>; は改行と同じ意味。</p>



<pre class="wp-block-code"><code>$ awk '!/^#/ {sum += $2; count++} END {print sum/count}' sample.txt</code></pre>



<p>平均年齢が出力される。</p>



<pre class="wp-block-code"><code>28</code></pre>



<p>このコマンドの動きは以下の通り。</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>行</th><th>$2（年齢）</th><th>条件 <code>!/^#/</code></th><th>sumの値</th><th>countの値</th></tr></thead><tbody><tr><td># sample.txt</td><td>&#8211;</td><td>False</td><td>0</td><td>0</td></tr><tr><td>Alice 25 Tokyo Engineer</td><td>25</td><td>True</td><td>25</td><td>1</td></tr><tr><td>Bob 30 Osaka Manager</td><td>30</td><td>True</td><td>55</td><td>2</td></tr><tr><td>Charlie 28 Nagoya Designer</td><td>28</td><td>True</td><td>83</td><td>3</td></tr><tr><td>David 35 Fukuoka Engineer</td><td>35</td><td>True</td><td>118</td><td>4</td></tr><tr><td>Eve 22 Tokyo Intern</td><td>22</td><td>True</td><td>140</td><td>5</td></tr></tbody></table></figure>



<h4 class="wp-block-heading">都市ごとの人数を集計</h4>



<p>{city[$3]++} で 3 列目（都市名）をキーとしてカウントする。<br>END { … } はファイルをすべて読み終えたあとに 1 回だけ実行される処理。<br>for (c in city) ですべての都市（キー）を順に処理し、<br>print c, city[c] で都市名と人数を出力する。<br>※今回はカウントをしているのでコメントのスキップは必須。</p>



<pre class="wp-block-code"><code>$ awk '!/^#/ {city&#91;$3]++} END {for (c in city) print c, city&#91;c]}' sample.txt </code></pre>



<p>都市ごとの人数が出力される。</p>



<pre class="wp-block-code"><code>Osaka 1
Fukuoka 1
Nagoya 1
Tokyo 2</code></pre>



<p>このコマンドの動きは以下の通り。</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>行</th><th>$3（都市）</th><th>条件 !/^#/</th><th>city[$3] の動作</th><th>city配列の内容（内部状態）</th></tr></thead><tbody><tr><td># sample.txt</td><td>―</td><td>False</td><td>実行されない</td><td>（何もない）</td></tr><tr><td>Alice 25 Tokyo Engineer</td><td>Tokyo</td><td>True</td><td><code>city["Tokyo"]++</code> → 1</td><td>Tokyo:1</td></tr><tr><td>Bob 30 Osaka Manager</td><td>Osaka</td><td>True</td><td><code>city["Osaka"]++</code> → 1</td><td>Tokyo:1, Osaka:1</td></tr><tr><td>Charlie 28 Nagoya Designer</td><td>Nagoya</td><td>True</td><td><code>city["Nagoya"]++</code> → 1</td><td>Tokyo:1, Osaka:1, Nagoya:1</td></tr><tr><td>David 35 Fukuoka Engineer</td><td>Fukuoka</td><td>True</td><td><code>city["Fukuoka"]++</code> → 1</td><td>Tokyo:1, Osaka:1, Nagoya:1, Fukuoka:1</td></tr><tr><td>Eve 22 Tokyo Intern</td><td>Tokyo</td><td>True</td><td><code>city["Tokyo"]++</code> → 2</td><td>Tokyo:2, Osaka:1, Nagoya:1, Fukuoka:1</td></tr></tbody></table></figure>



<h2 class="wp-block-heading">疑問に思ったこと</h2>



<h3 class="wp-block-heading">文章ベースのファイルにはawkコマンドは使えないのか</h3>



<p>たとえば、</p>



<pre class="wp-block-code"><code>Aliceは東京で働いています。
Bobは大阪に住んでいます。
Charlieは28歳です。</code></pre>



<p>という文章ファイルがあった場合、awk の使いどころがあるのか気になった。</p>



<p>awk の動きとしては「スペースやタブで明確に区切られていない」文章だと、</p>



<pre class="wp-block-code"><code>$1 Aliceは東京で働いています。
$1 Bobは大阪に住んでいます。
$1 Charlieは28歳です。</code></pre>



<p>となり、すべて $1 になるのでフィールド分けができず、awk の長所は活かせない。</p>



<p>一応、grep のように抽出することは可能。</p>



<pre class="wp-block-code"><code>$ awk '/東京/ {print $0}' sample_text.txt
Aliceは東京で働いています。

$ awk '/&#91;0-9]+歳/ {print $0}' sample_text.txt
Charlieは28歳です。</code></pre>



<p>行番号を付けることもできる。</p>



<pre class="wp-block-code"><code>$ awk '{print NR, $0}' sample_text.txt
1 Aliceは東京で働いています。
2 Bobは大阪に住んでいます。
3 Charlieは28歳です。</code></pre>



<p>結論としては、awk でも文章ファイルの操作はある程度できるけど、本来の用途とは離れており、わざわざ awk で文章ファイルを操作する必要はなさそう。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://cybermemo.blog/awk-beginner-guide/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
