HARビューアー・匿名化
HAR Viewer & Sanitiser
HARのキャプチャをウォーターフォールで開き、共有する前にクッキー・認証ヘッダー・トークンを削ぎ落とします。
ブラウザのネットワークパネルで保存したHARを開いて、ウォーターフォールを描きます。リクエストの一つ一つが時間をどこに使ったのか、レスポンスが実際に何を運んできたのかを見せます。機微な部分を落とした写しも作ります。手を加えていないHARはセッションの資格情報そのものであり、それを言うページがここです。
.harの記録ファイルを置く
開発者ツール → ネットワーク →「HARをすべて保存」。このタブの中で開きます。アップロードはしません。
使い方
HARを保存します
開発者ツールのネットワークパネルで、すべてをHARとして保存します。ファイルをここに置くか、JSONを貼り付けてください。このタブの中で開き、何もアップロードしません。
ウォーターフォールを読みます
棒はそれぞれ、待機・DNS・接続・SSL・送信・レスポンス待ち・受信という区間に分かれていて、凡例と色が対応しています。灰色が長ければ順番待ち、桃色が長ければサーバーが考えていたということです。
行を押して詳細を見ます
ステータス、MIMEタイプ、本文と転送の大きさ、サーバーのIP、区間ごとの時間の表、そして両方のヘッダーの一覧が出ます。
共有する前に整理します
最後のパネルが、クッキーを取り除き、機微に見えるヘッダーとURLのパラメータを伏せ、必要なら本文をすべて捨てます。それぞれ何個ずつ変えたのかを正確に報告します。
よくある質問
HARを人に送っても大丈夫ですか
整理していないものは送ってはいけません。手を加えていないHARには、記録したセッションのクッキー、`Authorization`ヘッダー、URLのトークンがすべて入っています。ログを送るというより、パスワードを送るのに近い行為です。問い合わせの過程で生きたセッションが漏れた例が実際にあります。
整理の機能はすべての秘密を見つけてくれますか
見つけません。そう主張してもいません。名前を見て伏せます。クッキーは常に、ヘッダーとクエリのパラメータは機微な名前の一覧に載っているときです。だから、目立たないキーの下のレスポンス本文に入っているトークンは残ります。本文を捨てるほうが既定になっているのは、そのためです。
ある棒がほとんど灰色なのはなぜですか
灰色は`blocked`、つまりリクエストは存在していたのに何の作業も進んでいなかった時間です。たいていは、ブラウザのホストごとの接続数の制限のもとで、接続を待っていたということです。直し方が、速いサーバーではなくリクエストを減らすかプロトコルを変えることだと教えてくれる区間です。
レスポンスの本文も見られますか
ビューアーでは見せません。見せるのは大きさ、ヘッダー、時間です。そもそも本文がファイルに入っているかどうかは、保存するときにブラウザが使った「内容を含める」の設定によります。入っているなら、その記録の中でいちばん危ないのがその部分です。
ここから渡せます
個人情報のマスキング
Text Anonymiser
自由文からメールアドレス・電話番号・カード番号・各種の識別番号を見つけて伏せ字にするか仮名に置き換えます。
curlをコードに変換
curl to Code
curlのコマンドをfetch・axios・Pythonのrequests・Go・PHP・PowerShellのコードに変換します。
ソースマップで元の位置に
Source Map Resolver
渡されたソースマップを使って、圧縮済みのスタックトレースを元のファイルと行番号に戻します。
シークレット混入スキャン
Secret Scanner
貼り付けたコード・ログ・設定から、APIキー・トークン・秘密鍵をエントロピーの目安で洗い出します。
次の一手
このツールが出したものをそのまま受け取れる道具です。
curlをコードに変換
curl to Code
curlのコマンドをfetch・axios・Pythonのrequests・Go・PHP・PowerShellのコードに変換します。
HTTPヘッダー確認
HTTP Header Inspector
URLを取得して、レスポンスヘッダーの全文・リダイレクトの連鎖・所要時間・使われた圧縮方式を表示します。
シークレット混入スキャン
Secret Scanner
貼り付けたコード・ログ・設定から、APIキー・トークン・秘密鍵をエントロピーの目安で洗い出します。
個人情報のマスキング
Text Anonymiser
自由文からメールアドレス・電話番号・カード番号・各種の識別番号を見つけて伏せ字にするか仮名に置き換えます。
Base64エンコード・デコード
Base64 Encoder & Decoder
テキストでもファイルでもBase64とBase64URLを符号化・復号し、UTF-8も正しく扱います。
JSON⇄CSV変換
JSON ⇄ CSV
入れ子のJSONをドット記法の列名で平らに開くか、表からオブジェクトを組み直します。