Java で Fiddler を使用して HTTPS トラフィックをキャプチャする

Shubham Vora 2024年2月15日
  1. フィドラー を構成する
  2. キーストアを生成する
  3. Fiddler を使用して HTTPS トラフィックをキャプチャするようにアプリケーション コードを構成する
  4. Fiddler で HTTPS トラフィックをキャプチャするように Eclipse を構成する
Java で Fiddler を使用して HTTPS トラフィックをキャプチャする

Fiddler は、開発者が Web アプリケーションをデバッグするのに役立つ Web デバッグ プロキシ ツールです。 ネットワーク トラフィックをキャプチャし、送受信データを監視できます。

この記事では、Fiddler をセットアップして HTTPS トラフィックをキャプチャする方法を説明します。 そのため、ユーザーは Java を使用して HTTPS トラフィックをエラーなしでキャプチャできます。

フィドラー を構成する

Fiddler を構成するには、以下の手順に従ってください。

  • Fiddler はこちら をダウンロードして、ローカル コンピューターにインストールします。
  • ここで、下の画像に示すように、Fiddler が HTTPS トラフィックをキャプチャすることを確認します。

    フィドラーで https をキャプチャ - 1

  • 次に、ツール>オプションを開きます。 ダイアログボックスがポップアップします。 接続 タブに移動します。
  • ここで、Java コードで使用する Fiddler listens on port テキスト フィールドの値を確認します。 デフォルト値は 8888 です。

    フィドラーで https をキャプチャ - 2

  • オプション ダイアログ ボックスで、HTTPS タブに移動し、HTTPS 接続のキャプチャHTTPS トラフィックの復号化 がチェックされていることを確認します。 また、HTTPS トラフィックの復号化のドロップダウン メニューで...すべてのプロセスからを選択します。

    フィドラーで https をキャプチャ - 3

  • 次に、証明書をインストールします。
  • 最後のステップとして、オプションダイアログのHTTPSタブで、アクションボタンをクリックし、ルート証明書をデスクトップにエクスポートを選択して、証明書をデバイスのデスクトップにエクスポートします。

    フィドラーで https をキャプチャ - 4

キーストアを生成する

デスクトップにエクスポートした証明書を使用して KeyStore を生成する必要があります。

  • コマンド プロンプト を管理者として実行します。
  • ルート ディレクトリを見つけるには、ターミナルに次のコマンドを入力する必要があります。
    echo %JAVA_HOME%
    
  • ターミナル内で、上記の手順で取得した Java のルート ディレクトリに移動します。
  • 次に、cmdcd bin コマンドを使用して、Java ディレクトリの bin フォルダーに移動します。
  • 以下のコマンドをターミナルで実行します。
    keytool.exe -import -file C:\Users\\\Desktop\\FiddlerRoot.cer -keystore FiddlerKeystore -alias Fiddler
    
  • パスワードを入力してから、再入力して確認する必要があります。
  • y を押して、Trust this certificate に答えます。

Fiddler を使用して HTTPS トラフィックをキャプチャするようにアプリケーション コードを構成する

Fiddler をセットアップし、証明書を使用して KeyStore を生成しました。 Java で HTTPS トラフィックをキャプチャするには、以下のコードをアプリケーションに追加する必要があります。

// To capture HTTPS traffic
System.setProperty("https.proxyHost", "127.0.0.1");
System.setProperty("https.proxyPort", "8888");
// To capture HTTP traffic
System.setProperty("http.proxyHost", "127.0.0.1");
System.setProperty("http.proxyPort", "8888");

また、ユーザーは 127.0.0.1 の代わりに localhost を使用できます。 ユーザーが 8888 以外のポートを使用する場合は、Fiddler 内のポートも変更する必要があります。これについては、Fiddler の構成 セクションで説明しました。

Fiddler で HTTPS トラフィックをキャプチャするように Eclipse を構成する

アプリケーションにコードを追加するのではなく、HTTPS トラフィックをキャプチャするように Eclipse IDE を構成する場合は、以下の手順に従う必要があります。

  • メニューバーから実行>実行構成に移動します。
  • Run Configurations ダイアログ ボックスのサイドバーからプロジェクトを選択し、Arguments タブに移動します。
  • 以下の引数をVM Argumentsセクションに入力します。
    -DproxySet=true
    -DproxyHost=127.0.0.1
    -DproxyPort=8888
    -Djavax.net.ssl.trustStore="path\to\java_home\bin\FiddlerKeyStore"
    -Djavax.net.ssl.trustStorePassword="password_used_during_keystore_creation"
    

    フィドラーで https をキャプチャ - 5

  • 次に、適用ボタンをクリックして、実行ボタンを押します。

この記事では、HTTPS トラフィックをキャプチャするように Fiddler を正常にセットアップしました。 また、フィドラー証明書を使用して KeyStore を生成しました。

その後、Java アプリケーションを使用して HTTPS トラフィックをキャプチャするための 2つの選択肢があります。 ユーザーは、Eclipse をセットアップするか、アプリケーション コードにコードを追加できます。

著者: Shubham Vora
Shubham Vora avatar Shubham Vora avatar

Shubham is a software developer interested in learning and writing about various technologies. He loves to help people by sharing vast knowledge about modern technologies via different platforms such as the DelftStack.com website.

LinkedIn GitHub