WEBクライアントの自動化について

特定のWEBサーバと通信するクライアントのアプリを作成しようとした時の、パケットキャプチャの仕方をまとめる。

とりあえずFiddlerのバージョンが4(ver.4.6)になっていたので、情報をまとめる。

 

起動したら、いきなりキャプチャを始める。

  • 自マシン以外からもキャプチャする方法

メニューの[Tools]-[Telerik Fiddler Options]を選択し、[Connections]タブ内の[Allow remote computers to connect]にチェックを入れる。

Fiddlerを再起動する。

ウイルス対策ソフトのファイヤウォールを無効にする。

自マシン以外のプロキシ設定を変更する。(ポート8888)

それでもうまくいかない場合は、しばらく待つとOKになった。(謎)

 

  • リストの削除

全選択(Ctrl+A)で削除(Delete)可能。

 

一覧のリストの[Host]欄が「Tunnel to」になっているのはSSL通信をしていてパケットの中身が見えない。

[Tools]-[Telerik Fiddler Options]を選択し、[HTTPS]タブ内の[Caputure HTTPS CONNECTs]と[Decrypt HTTPS traffic]にチェックを入れる。ダイアログが表示されたら[YES]を選択。

証明書を入れないと通信できないがiPhoneでは証明書を入れられなかった。

iPhoneからhttp://のIPアドレス>:8888/でアクセスして証明書をインストール。

※FiddlerRoot.cerをメールで送ってもインストールできなかった。

 

  •  特定のURLだけをキャプチャ

画面左下の[Capturing]をクリックし、システムプロキシとしてのキャプチャを停止し、個別にプロキシ設定をすればOK。

 他にも[File]-[Capture Traffic]やF12キーでもOK

  • デコード

「Response body is encoded.Click to decode.」と黄色で表示されていて、文字化けしている場合は、クリックしたら正しく表示される。

あと、ツールバーの「Decode」ボタンを押していると(青枠になる)、それ以降の通信はデコードされて表示される。(既に通信済みのログはデコードされない)

 

  • 特定のセッションをハイライト

「QuickExec」画面左下(Webセッションリストの下)にある黒いテキストボックス。

ここに「?キーワード」を入力すれば、ホスト名やURLにキーワードが入っている個所がハイライトされる。

 

  • リクエストの内容を書き換える

とりあえずここまで