メインコンテンツまでスキップ

Connection Log(接続ログ)

Proxyman の接続ログ(Connection Log)で、リクエストごとの DNS 名前解決、TCP 接続、TLS ハンドシェイク、証明書、HTTP ヘッダーを確認できます。

1. 接続ログとは​

Connection Log には、Proxyman がサーバーにどのように接続し、リクエストを送信したかが表示されます。形式は curl -v に似たテキスト形式で、色を使って重要な情報を見つけやすくしています。

  • DNS 名前解決から HTTP レスポンスまで、接続の流れをたどれます。
  • リクエストの処理中に Proxyman が記録した手順を確認できます。
  • Proxyman と上流サーバーの間の接続を調べられます。
  • Request パネルの Summary の隣にあるログを読めます。
DNS の結果、TLS ハンドシェイク、証明書の詳細、リクエストヘッダーを表示している Request パネルの Connection Log

HTTPS リクエストの手順を示す Connection Log

2. メリット​

  • 接続に失敗した箇所を特定できます:DNS 名前解決、TCP 接続、TLS ハンドシェイクのいずれか。
  • Proxyman が接続したホスト名と IP アドレスを確認できます。
  • サーバーが受け入れた TLS バージョンと HTTP プロトコルを確認できます。
  • サーバー証明書の名前、発行者、有効期限を確認できます。
  • リクエストが既存の接続を再利用したかどうかを確認できます。
  • 取得した詳細を保存して後で確認したり、チームと共有したりできます。

3. 使い方​

  1. Proxyman for macOS を開き、リクエストをキャプチャします。
  2. メインリストでリクエストを選択します。
  3. Request パネルで、Summary の直後にある Connection Log をクリックします。

このタブは、新規ユーザーと、アップグレード後の既存ユーザーに対して既定で有効になっています。ログは、選択中の接続がアクティブな間に更新されます。

表示または非表示を切り替えるには:

  • Request タブバーの + ボタンをクリックして、カスタムプレビュータブ を開きます。
  • Request の下で、Connection Log にチェックを入れると表示され、チェックを外すと非表示になります。
  • Proxyman は、再起動後も選択内容を記憶します。

HTTPS のリクエストとレスポンスの内容を見るには、Proxyman の証明書をセットアップし、対象のドメインで SSL Proxying を有効にしてください。SSL Proxying を使わない場合、暗号化された内容は表示されず、表示される接続情報も少なくなります。

4. 表示される内容​

ログには、選択したリクエストで利用可能な詳細が一覧表示されます。

DNS と TCP 接続​

  • ホスト名とポート。
  • DNS 名前解決で返された IPv4 および IPv6 アドレス。
  • 各接続の試行と、失敗した試行。
  • 接続先サーバーの IP アドレスとポート。
  • 上流プロキシ(使用している場合)。
  • 接続が再利用されたか、開いたままか、閉じられたか。

TLS ハンドシェイクと証明書​

  • ALPN で提示されたプロトコル(h2 や http/1.1 など)。ALPN を使うと、Proxyman とサーバーがアプリケーションプロトコルを選択できます。
  • Client hello、Server hello、Certificate、Finished などのハンドシェイクの手順。
  • SSL connection using の行に表示される、ネゴシエートされた TLS バージョンと暗号スイート。
  • サーバーが受け入れたプロトコル。
  • 証明書のサブジェクト、発行者、DNS / IP 名、有効期間。
  • 証明書とホスト名の検証結果、および TLS のアラートや失敗。

HTTP のリクエストとレスポンス​

  • リクエストのメソッド、パス、HTTP バージョン、ヘッダー。
  • レスポンスのステータスとヘッダー。
  • 利用可能な場合は、テキスト形式のレスポンスボディのプレビュー。
  • ボディがデコード、変更、または表示用に短縮されたことを示すメッセージ。

DNS、TCP、TLS の所要時間を比べたい場合は、Timing タブを使ってください。

5. ログの読み方​

  • * は、接続イベントまたは診断メッセージを示します。
  • > は、サーバーに送信されたリクエストヘッダーを示します。
  • < は、サーバーから受信したレスポンスヘッダーを示します。
  • OUT と IN は、Proxyman 側から見た TLS メッセージの方向を示します。

色を使うと、ログを見つけやすくなります:

  • シアン:ホスト名と IP アドレス。
  • 紫:TLS バージョンと ALPN プロトコル。
  • 青:ハンドシェイクの手順。HTTP ヘッダー名は Raw タブと同じスタイルで表示されます。
  • 緑:成功したハンドシェイクの手順と検証結果。
  • アンバー:警告(証明書の検証が無効になっている場合など)。
  • 赤:失敗(証明書の拒否や接続のタイムアウトなど)。

Certificate verification disabled は、Proxyman がその接続でサーバー証明書を検証しなかったことを意味します。証明書が無効であることを意味するわけではありません。同様に、Hostname verification: not performed は、そのチェックがスキップされたことを意味します。

再利用された接続では、リクエストごとに新しい DNS 名前解決や TLS ハンドシェイクが表示されない場合があります。

6. ログの保存と再度開く​

  • フローを Proxyman Log(.proxymanlogv2)として エクスポート するか、Save Session を使ってセッションを保存します。
  • ファイルを開き、Connection Log を選択すると、保存された接続の詳細を表示できます。
  • Proxyman は、記録されたイベントを保存し、タブを開いたときに表示されるログを組み立てます。
  • 証明書の詳細はテキストフィールドとして保存されます。完全な証明書、証明書チェーン、秘密鍵は接続の詳細として保存されません。
  • 接続の詳細がない古いキャプチャも開けます。その場合、ログには保存された HTTP データが表示され、接続の詳細が記録されていなかったことが説明されます。

関連情報​