HAR ビューアー・マスキング
開発ツール
読み込み中
ツールを読み込んでいます
ツールのコードは開いたときにのみ読み込まれます。
このツールの処理はすべてブラウザー内で行われ、入力内容はサーバーへ送信されません。
このツールについて
HAR 1.2 ファイルを選ぶか JSON を貼り付けると、記録済みのネットワーク通信をブラウザー内で確認できます。ドメインや HTTP ステータスで絞り込み、ヘッダー、本文、各段階の所要時間をプレーンテキストで表示します。アーカイブのアップロード、リクエストの再実行、記録された URL へのアクセス、読み込んだデータの永続保存は行いません。エクスポートでは設定に応じてマスキングした別の HAR を作成し、閲覧中は元の詳細を確認できます。マスキングは情報露出を減らすもので、完全な匿名化ではありません。共有前に出力ファイル全体を確認してください。
主な用途
- サーバーへ再アクセスせず、記録された接続・待機・受信時間を比較して遅い API リクエストを調べる。
- ブラウザーの通信記録から、特定ドメインで失敗したリクエストを探す。
- 一般的な認証情報や本文を除いたサポート提出用 HAR を作り、残る識別情報を自分で確認する。
使い方
- 1.ブラウザーの Network(ネットワーク)パネルから HAR を出力し、ファイルを選ぶか完全な JSON を貼り付けます。HAR 1.2、UTF-8 で 5 MiB 以下、最大 2,000 件の記録に対応します。
- 2.ドメインやステータスで一覧を絞り込み、リクエストを選択します。URL、ヘッダー、本文、ミリ秒単位の時間を確認してください。時間の欠落は、その段階が 0 ミリ秒だったという意味ではありません。
- 3.出力時のマスキング設定を選びます。まず全クエリ値のマスキングと両本文の削除を維持し、必要な場合だけ変更して HAR をダウンロードします。表示フィルターは出力範囲を限定しないため、共有前に全記録を確認してください。
架空データによる HAR の例
SSL が接続時間に含まれる 100 ミリ秒のリクエスト
{"log":{"version":"1.2","creator":{"name":"Synthetic example","version":"1.0"},"entries":[{"startedDateTime":"2026-01-01T00:00:00.000Z","time":100,"request":{"method":"GET","url":"https://example.com/api/items","httpVersion":"HTTP/1.1","cookies":[],"headers":[],"queryString":[],"headersSize":-1,"bodySize":0},"response":{"status":200,"statusText":"OK","httpVersion":"HTTP/1.1","cookies":[],"headers":[],"content":{"size":0,"mimeType":"application/json"},"redirectURL":"","headersSize":-1,"bodySize":0},"cache":{},"timings":{"blocked":0,"dns":0,"connect":30,"ssl":10,"send":5,"wait":50,"receive":15}}]}}GET example.com · 200 合計:100 ms 接続:30 ms(うち SSL:10 ms) 送信:5 ms · 待機:50 ms · 受信:15 ms
架空データだけを使った完全な HAR です。各段階は 0 + 0 + 30 + 5 + 50 + 15 = 100 ms です。SSL をもう一度足すと誤って 110 ms になります。開いても example.com にリクエストは送信しません。
既定のマスキング後にも確認が必要
GET https://example.com/users/demo-42?token=demo-token&page=2 Authorization: Bearer demo-token Cookie: session=demo-session X-Account: demo-42
Authorization と Cookie:削除 クエリ値:マスキング ドメインと /users/demo-42 パス:保持 X-Account の値:要確認
架空のリクエストの抜粋であり、そのまま読み込める完全な HAR ではありません。既定の設定は一般的な認証情報と全クエリ値を隠しますが、パスや認識されない識別用ヘッダーは残る場合があります。匿名化を保証すると思わず、実際の出力を確認してください。
JSON の指定キーだけを隠す
Content-Type: application/json
{"TOKEN":"demo-token","customer":"demo-42","count":2}
指定する本文キー:tokenTOKEN の値:マスキング customer:demo-42 count:2
対応する JSON 本文のキー指定マスキングを示す架空の抜粋であり、完全な HAR ではありません。token は TOKEN にも一致します。ほかのフィールドは残るため、customer の識別情報は確認が必要です。本文を残す理由がなければ、本文削除を有効なままにしてください。
HAR の確認でよくある間違い
- リクエスト単体や JavaScript のオブジェクトを貼り付ける:log.version と log.entries を含む完全な HAR JSON を読み込んでください。キーには二重引用符が必要で、末尾のカンマは使えません。
- 5 MiB または 2,000 件を超える記録を開く:再現操作を短く記録するか、信頼できるローカルの手順で先にファイルを小さくしてください。
- 合計を求める際に SSL と connect を加算する:SSL はすでに connect に含まれます。
- -1 や未記録の時間を 0 とみなす:記録元がその段階を測定できなかった可能性があります。
- 1 件に絞り込めば出力も 1 件になると思う:読み込んだ全記録が出力されます。
- 元のファイルを共有する、またはマスキング結果を無確認で信頼する:実際の出力ファイルでドメイン、パス、タイトル、残るヘッダー、保持した本文とクエリ値を確認してください。
制限と注意事項
- 読み込めるのは 5 MiB(5,242,880 UTF-8 バイト)以下、最大 2,000 件で、リクエスト URL が HTTP(S) の HAR 1.2 JSON です。入力範囲を限定したビューアーであり、ライブ記録、完全な HAR 検証、パケット解析、リクエスト再実行のツールではありません。 入力の上限はさらに、入れ子 64 階層、JSON の値 100,000 個です。
- 時間はアーカイブの記録値で、単位はミリ秒です。欠落や -1 は不明を意味し、0 とは異なります。SSL は connect に含まれるため二重に加算しません。並行リクエストは重なるので、各リクエストの時間の合計はページ読み込み時間になりません。
- 既定の出力では Cookie、認識済みの認証ヘッダー、リクエストとレスポンスの本文、コメント、独自・未知のフィールドを削除し、すべてのクエリ値をマスクします。クエリ名や本文キーを指定する場合、大文字・小文字は区別しません。あらゆる機密情報を検出するものではありません。
- 本文のキー指定マスキングは、このツールが対応する JSON と URL エンコード形式のフォームに限ります。このモードでは未対応、不正な形式、base64 エンコードの本文を除外しますが、「保持」を選ぶと機密情報を含めて残る場合があります。出力は既知のフィールドを再構築し、ページや未対応のメタデータを除外するため、元のアーカイブとバイト単位では一致しません。
- 表示フィルターにかかわらず、読み込んだ全記録を出力します。保持したドメイン、URL パス、ヘッダー値、残すよう選んだ内容から、個人や秘密が特定される可能性があります。元の HAR には識別につながるページタイトルも含まれ得ます。プレーンテキスト表示は埋め込み内容の実行を防ぎますが、安全に共有できる保証にはなりません。 記録時刻や URL のホスト・パス・通常のヘッダーに含まれる IP アドレスでも個人が特定される可能性があります。
よくある質問
HAR はどう取得しますか?ブラウザーのマスキング済み出力だけで十分ですか?
ブラウザーの Network(ネットワーク)パネルで対象の操作を記録し、エクスポート機能を使います。Chrome には一部の機密ヘッダーを除く HAR 出力がありますが、URL などの記録内容は別途確認が必要です。可能なら短い記録と架空のテストデータを使ってください。このビューアーは独自の出力設定を適用しますが、公開してよいファイルだと認定するものではありません。
既定のマスキングとキー指定では何が違いますか?
既定ではすべてのクエリ値を隠し、両方の本文を除外します。キー指定では、クエリ名や対応する本文フィールドを大文字・小文字を区別せず照合し、それ以外の値は残る場合があります。記録に必要なキーを指定し、結果を確認してください。一般的な認証情報を除いても、パス内の ID、未知のヘッダー、未選択のフィールドは自動的に消えません。
各段階の時間を足しても予想どおりにならないのはなぜですか?
HAR は記録元のツールが測定した値を保存します。SSL は connect の一部で、測定できなかった段階は -1 または未記録になり、複数のリクエストは並行して進むことがあります。wait が長いだけで、サーバーだけが原因とは断定できません。時間の内訳は調査の手がかりとして使ってください。
絞り込みや出力で元の HAR は変更されますか?
いいえ。フィルターは表示する一覧だけを変え、エクスポートは読み込んだ全記録を含む別のアーカイブを構築します。元のファイルを上書きせず、読み込んだデータを履歴として保存しません。ただしダウンロードすると生成ファイルは端末に保存されるため、機密情報を含み得るファイルとして管理してください。