ApiCatcher for macOS

macOSでのHTTP/HTTPSパケットキャプチャとデバッグをよりシンプルに

macOSの低レベルメカニズムに基づいて構築されたApiCatcherは、システムプロキシ設定を自動的に切り替え、すべてのシステムトラフィックを透過的に傍受します。キーチェーン証明書の自動インポートと信頼メカニズムを内蔵し、クリーンで使いやすい体験を提供します。

ApiCatcher for macOS | HTTP Capture
ApiCatcher for macOS | HTTP Request Details
ApiCatcher for macOS | Remote Realtime Sync
ApiCatcher | Request History
ApiCatcher | Request Details
ApiCatcher | JSON Viewer
ApiCatcher | Request Details Window
ApiCatcher | JSON Diff
ApiCatcher | Request Replay

プロフェッショナルなパケットキャプチャ&APIデバッグツール

包括的なネットワークリクエストキャプチャ、Mockリライト、AIスクリプト、リクエストリプレイを一つの効率的なネットワークデバッグサービスで提供します。

HTTPSトラフィック解析

iOSデバイス上でHTTPSリクエストとレスポンスを直接キャプチャして分析します。

WebSocketトラフィックのキャプチャ

WS/WSSトラフィックのキャプチャをサポートし、データフレームをチャットメッセージリストとして表示します。

許可/拒否ホストリスト

ホスト別の許可/拒否リストを設定して通信をフィルタリングし、特定アプリ以外の不要な通信を排除できます。

リクエストリプレイ

ワンタップでリクエストを再送し、問題の再現や検証を迅速に行えます。

組み合わせリプレイ

複数のリクエストをドラッグ&ドロップで組み合わせ可能。パラメータ連携や順次実行に対応しています。

リクエストリライト

Mock、書き換え、ドロップなどのリライト処理に対応し、多様なデバッグニーズをカバーします。

スクリプト実行

複雑な書き換えや暗号化アルゴリズムに対応するスクリプト機能を搭載。その場でテストも可能です。

定時リクエストリプレイ

スケジュールに沿った自動リプレイをサポート。自動テストや回帰検証に活用できます。

リクエスト出力

リクエスト記録を出力し、チーム間での共有や問題の再現に役立てられます。

APIエクスポート

APIドキュメントを自動生成し、PostmanやApifoxへエクスポートできます。

メディア出力

画像、動画、音声を自動識別して抽出。分割ダウンロードされたファイルの統合保存も可能です。

APIスキャン

キャプチャされたトラフィックに基づき、ルールベースで情報の検知と統計を実施。カスタムスキャンルールに対応しています。

DNSマッピング

ドメイン名を特定のIPアドレスに解決するカスタムDNSルールを定義します。

Protobufデコード

Protobufエンコードされたリクエスト/レスポンスBodyを自動デコードします。

クリーンで使いやすいmacOSネットワークキャプチャ&デバッグ体験

Mac開発者がHTTPおよびWebSocketトラフィックを効率的に特定・分析できるよう支援します。

ローカルシステムプロキシの自動切り替え

macOSPROXY

ワンクリックのmacOSプロキシ管理。キャプチャ開始時に自動設定し、終了時にシームレスに復元します。Chromeやその他の主要ブラウザのトラフィックを完璧にキャプチャし、接続問題を引き起こすネットワーク残留を防止します。

スマートキーチェーン証明書インジェクション

KEYCHAINTRUST

ローカルで生成された安全なCAルート証明書をmacOSキーチェーンにワンクリックでインポートし、自動的に昇格した権限で「常に信頼」に設定します。面倒な手動手順を省略し、迅速にHTTPS復号を有効にします。

iOSトラフィックのミリ秒リアルタイム同期

WEBSOCKETSYNC

スキャンして接続!高性能WebSocketを活用し、iOSデバイス(ApiCatcherアプリ)でキャプチャしたパケットをMacデスクトップ画面に瞬時に同期し、手間のかからないオフラインパケット分析を実現します。

非常にシンプルで直感的なインタラクションデザイン

UIUX

デスクトップの大画面を最大限に活用したインタラクションデザイン。リクエストとレスポンスの詳細が一目でわかり、トラフィック分析がより効率的になります。

macOSパケットキャプチャ設定ガイドと制限事項

非システムプロキシアプリケーションのトラフィックをキャプチャするための詳細な設定と傍受ガイド

1パケットキャプチャの仕組み

1. ローカルプロキシを起動

ApiCatcherでキャプチャを有効にすると、コンピューター上で安全なHTTP/HTTPSプロキシサービスがローカルに起動します。リスニングポートはメイン画面または設定で確認・変更できます(デフォルトポート:8888)。

2. システムプロキシを自動設定

キャプチャを有効にした後、ApiCatcherはmacOSのシステムネットワーク設定を自動的に変更し、HTTPおよびHTTPSプロキシサーバーアドレスを127.0.0.1:ポートに設定します。

3. トラフィックのリダイレクトと復号

この時点で、コンピューターからのネットワークリクエストは自動的にApiCatcherプロキシサービスにリダイレクトされます。HTTPS暗号化トラフィックを復号するために、ApiCatcherはシステムにインストールされ信頼されているCAルート証明書を使用し、リクエストされたドメインの証明書を動的に発行して中間者(MITM)復号と分析を実行します。

システムプロキシをネイティブにサポートするアプリケーション(直接キャプチャ):

  • Chromeブラウザ:ChromeはデフォルトでmacOSのシステムプロキシ設定を自動的に読み取り、それに従います。キャプチャを有効にすると、Chrome上のHTTP/HTTPSトラフィックがApiCatcherに直接表示されます。
  • デフォルトでシステムネットワーク接続を使用するほとんどのデスクトップクライアント。

システムプロキシをサポートしないシナリオ(手動設定が必要):

  • コマンドラインターミナルツール(curl、wget、gitなど)はデフォルトでシステムプロキシ設定を自動的に読み取りません。
  • 多くの開発デバッグツールやプログラミング言語ランタイム(Node.js、Python、Go、Javaアプリケーションなど)は、ネットワークリクエストを送信する際にデフォルトでシステムプロキシを無視します。
  • SSL Pinning(証明書バインディング)が有効な高セキュリティクライアント。

>_コマンドラインツール(curl)プロキシ設定

macOSターミナルのcurlはデフォルトでシステムプロキシに従いません。プロキシパラメーターを明示的に指定する必要があります。

1. 単一リクエストをプロキシ経由で送信

コマンド実行時に-xパラメーターでプロキシアドレスを指定できます(ApiCatcherがポート8888でリッスンしていると仮定):

curl -x http://127.0.0.1:8888 https://api.github.com

ApiCatcherはHTTPSリクエストに対して中間者復号を実行するため、ターミナルがApiCatcher証明書をまだ信頼していない場合、curlは証明書のセキュリティエラーを表示することがあります。-kパラメーターを追加して一時的に証明書検証を無視できます:

curl -k -x http://127.0.0.1:8888 https://api.github.com

2. 現在のターミナルウィンドウ(シェルセッション)にグローバルプロキシを設定

現在のターミナルウィンドウ内のすべての後続コマンドを自動的にプロキシ経由にしたい場合は、環境変数を設定できます:

export http_proxy="http://127.0.0.1:8888"
export https_proxy="http://127.0.0.1:8888"

プロキシを解除するには、環境変数をクリアします:

unset http_proxy https_proxy