2015-06-21

Fiddlerを使ってEclipseとData Loaderをトラッキング

今更ながらEclipseのforce.com IDEやData Loaderが

どのAPIをどのタイミングで叩いているかが気になったので

Fiddlerのプロキシを噛ませてネットワーク通信をトラッキングしてみました。

Fiddlerの証明書のインストール

JavaのキーストアにFiddlerのルート証明書をインストールします。

まず、Fiddlerのルート証明書をFiddlerからエクスポートします。

Fiddlerを起動し、メニューのTools>Fiddler Optionsをクリックします。

Fiddler_top

HTTPSのタブでExport Root Certificate to Desktopボタンをクリックします。

Fiddler_tool

そうすると、デスクトップにFiddlerRoot.cerの名前で証明書がエクスポートされます。

これを以下のコマンドでJavaのキーストアにインポートします。

\bin\keytool.exe -import -file C:\Users<Username>\Desktop\FiddlerRoot.cer -keystore FiddlerKeystore -alias Fiddler

パスワードを聞かれるので、適当なパスワードをセットします。

Eclipseの設定

eclipse.iniの行末に以下の2行を追記します。pathはFiddlerKeyStoreを作った場所をセット。

-Djavax.net.ssl.trustStore=C:/path/to/FiddlerKeystore
-Djavax.net.ssl.trustStorePassword=hogefuga

これでeclipse.exeを起動し、プロキシの設定をします。

ツールバーのWindow>Preferencesをクリックして

GeneralのNetwork Connectionsを開きます。

Fiddlerが起動している状態でNativeを選択すると

以下のように127.0.0.1:8888を向いている状態になります。

eclipse_proxysetting

これでEclipseのHTTP/HTTPS通信をFiddlerでトラッキングできます。

Data Loaderの設定

以下のコマンドでData Loaderを起動します。

"C:\Program Files (x86)\salesforce.com\Data Loader\Java\bin\javaw.exe" ^
-Djavax.net.ssl.trustStore="C:/path/to/FiddlerKeyStore" ^
-Djavax.net.ssl.trustStorePassword=hogefuga ^
-jar "C:\Program Files (x86)\salesforce.com\Data Loader\dataloader-30.0.0-uber.jar"

Data Loaderに同梱されているJavaを使わないとバージョンの差異等でエラーになる可能性があります。

あとは、起動後のData Loaderのプロキシ設定をすればOK。

dataloader_proxysetting

実際のトラフィック

Data Loaderだとログインした瞬間にdescribeGrobalしてるのがわかります。

Fiddler_dataloader

Eclipseだとrefresh from serverでretrieveしつつポーリングしてる様子がわかります。

Fiddler_eclipse

たまに遅ぇー!ってときがありますが、ちゃんと仕事してました。

疑ってすみません、Eclipseさん。

このエントリーをはてなブックマークに追加