Proxyというプロキシー型キャプチャソフトがあるそうです。実際使ってみると、これいい!お手軽ですね。Fiddler2と違ってiPhoneアプリでも利用可能です。いうことで改訂版をまとめてみますよ。一応再度のまとめにしますので前回と被る部分もありますがご了承下さい。再度の補足になりますが、セキュリティの向上や社会的に正当な目的の下で正しく使用されることを期待してこのエントリーを記載しています。筆者は利用の結果に対して全くの無責任・無保証ですので、あくまで自己責任でご利用下さい。よるキャプチャとなります。SSL/TLSは本来ピア・ツー・ピアなので第三者が通信経路上で通信傍受して暗号を複合化することは無理なので、クライアント側(ブラウザやここではiPhoneアプリ)を騙して別のサーバーに接続させ暗号を解除し、そこでキャプチャを取るという方法です。本来は攻撃手法の一種ですが、応用すると暗号化通信でもキャプチャできるようになる、ということです。iPhoneではホストAをプロキシとして設定するホストAはiPhoneからのSSL/TLSセッションの暗号化を一旦解除し、更にSSl/TLSクライアントとしてリクエストをターゲットサイトへ転送する。iOSバージョンは問いません。前回と異なりJailBreakは必要ありません。ここでは以下のツールを利用します。Suiteというセキュリティツールの一機能のようです。Suiteは有償ですが、Proxyだけであればフリーで利用できます。JavaですのでWindows/Mac/Linuxで動作します。SSL/TLSプロキシとして動作すると同時に、WireSharkのようなパケットキャプチャも同時に行えます。SSL/TLSセッションの場合は内蔵のSSL/TLSサーバ機能によってターゲットサイトになりすまします。Proxyと通信していることになります。L3では無く、L7プロキシ(アプリケーション・ゲートウェイ)として動作する訳です。iPhone構成ユーティリティはMacまたはWindowsが必要です。Proxyを稼働させるホストが1台必要です。Proxyをダウンロードして起動しましょう。Windowsではsuite.batを起動するだけでOKです。Macならburpsuite_vx.x.x.jarといったバージョンの付いた名称のjarファイルがあるのでこれを起動するだけです。これで既に稼働している状態なのですが、初回起動直後はlocalhostからのセッションしか受け付けなくなっているのでこれを変更します。[option]を選択します。only」がチェックされているのでこれを外します。only」のチェックを外し、[update]ボタンを押します。これでリストのエントリのチェックも外れるはずです。デフォルトポートは8080ですが、上記の作業で変更することも出来ます。[intercept]がONになっているかも知れません。このままでは通信が止まってしまうので、必ずOFFにしておいてください。Proxyは独自のCA証明書からターゲットサイトになりすますための一時的なSSL証明書をアクセス時に発行するのですが(デフォルト時動作)、このCA証明書をiPhoneへインストールするためにまず取得(CA証明書の生成ではありません。存在している証明書をエクスポートするだけです)しないといけません。Proxyに設定があるのかも知れませんが、僕は分かりませんでした。ProxyのCA証明書をダウンロードします。最近のIEではそもそも接続が出来ませんので、Firefoxなど他のブラウザを使って下さい。[ネットワーク]からSSLプロキシとしてホストAを、ポートとして8080(デフォルトの場合)を設定して、ターゲットサイトのURLへアクセスします。これはHTTPSです。すると「接続の安全性を確認できません」と表示されそのままではアクセスできないはずです。ProxyがなりすましているためSSL証明書の検証に失敗しているからです。本来行うべきではありませんが、ここでは「危険性を理解した上で接続するには」を選び「例外」を押下します。すると「証明書」の表示ボタンがあるのでこれを押して証明書の詳細を「表示」します。証明書ビューアが表示されるので[詳細]タブを選ぶと、証明書の信頼チェーンが表示されます。CA」を選択して「エクスポート」ボタンを押します。ProxyのCA証明書がダウンロードできますので、どこかへ保存しておきます。Proxyにインポートして利用する方法もあるようですが、試していません(特に今回の目的では意味がありません)。iPhoneへCA証明書の組み込みここが今回の話題の最大のポイントになります。iPhone構成ユーティリティは主に企業内部でiPhoneを配布するために様々な設定をプロファイルという単位でまとめてiPhoneに直接設定しておくことが出来ます。このプロファイルのインストールとあるいはアンインストールも構成ユーティリティからしか行えません。このプロファイルには企業の内部CAの証明書をインストールして信頼させる機能があるのでこれを利用します。構成ユーティリティを起動してiPhoneを接続します。ProxyのCA証明書を追加します。Macでキーチェーンに追加していない場合には「信頼されていない証明書」というアラートが出ますが問題ありません。[デバイス]からiPhoneを選択して今設定したプロファイルをインストールします。iPhoneでのプロキシ設定WiFi接続が前提になります。[設定]から[Wi-Fi]を選択し現在接続中のアクセスポイントの詳細を表示します。設定がありますので手動を選び、[サーバ]にはホストAを、[ポート]には8080(デフォルト時)を設定します。キャプチャを行うこれで準備は完了です。実際にiPhoneからアプリを起動して動作するかどうか確認してみましょう。[history]にキャプチャ結果が表示されるはずです。Proxyのキャプチャ機能は確かにWireSharkあたりと比べると見劣りしますが、例えばiPhoneアプリがどんな情報を送信しているかなどを簡単に確認するには十分でしょう。iPhoneアプリ(iPhoneに限らずモバイルアプリはそうでしょうが)は「内部が何をやっているか分かりにくい」ことが問題視されたり不安を呼んでいる面も多いように思います。した方法などで少しでも安心感が得られるならよいですね。18:59手順の省略が可能です。手順1が終わりましたら、手順4を行なってください。(ここまででHTTPの通信は解析可能です)手順4が終わりましたら、ブラウザを開き、[http://burp]と入力してください。CA」と表示がありますので、クリックし、証明書のダウンロードが始まりますのでインストールを完了させ、有効化して下さい(証明書の設定方法は検索をなさって下さい)。証明書の設定が済めば、ホスト側の操作は必要なく、自動的に表示されるようになります。19:39はじめまして。この度このページの情報を参考にiPhoneでパケットキャプチャをやらせていただいたにゃんこと申します。掲載されていた情報通りに進めると、何点か不明点があったので、役立つか?当たり前なのか?分かりませんが補足させていただきます。1まず使用するburpsuiteですが、バージョンによってインターフェイスが異なっています。only」がチェックされているのでこれを外します。only」という項目がありません。この場合は、みうさんのコメントにある通り(以下転記)になります。Listenersの127.0.0.1:80を選択した状態で、Editをクリックします。addressの部分を選択し、私の場合ですが192.xxx.x.x(ポートは8080)に変更しています。CA」を選択して「エクスポート」ボタンを押します。ProxyのCA証明書がダウンロードできますので、どこかへ保存しておきます。CA」が出てこないので、インポートする必要があります。識別子の記入は必須です。後に、iPhoneへインストールしてWi-Fi手動でホスト&ポート設定してもSafariでは通信エラーと出ました。iPhone構成ユーティリティのライブラリ内にある「Wi-Fi」にSSID(iPhoneがWI-Fi接続する時に出てくる名前)やプロキシ設定を[手動]にしてサーバー&ポートを入力してiPhoneにインストールした所、無事にSafariに接続出来ました。15:13CA証明書を取得するのに使ったブラウザは、記述の通り「Firefox」を使い取得しました。iPhoneでのインターネット画面を開く際に使ったブラウザはSafariです。Proxyの設定」での設定や注意点は全て確認されていますか。最近触っていないので、もしここの問題で無いとすると私もよく分からないですが。なんかいやってもよく分らなかったのでほかのサイトとかを参考にもうちょっとしらべてみますありがとうございました。19:53Nitro238さん、通りすがりのものですが、証明書やhosts云々ではなく、ただ単に設定が間違っている為ではないでしょうか?ちなみにJailBreakも一切必要ありません。iPhone構成ユーティリティで証明書をインストールまで完了した前提でお話で説明させていただきます。Listenersの127.0.0.1:80を選択した状態で、Editをクリックします。addressの部分を選択し、私の場合ですが192.xxx.x.x(ポートは8080)に変更しています。iPhone側は設定→Wifi→お使いのアクセスポイント名→HTTPプロキシへと進み、手動にてサーバー欄に先程の192.xxx.x.xを入力、ポートに8080を設定したら、これで完了だと思います。16:58はじめまして。この度このページの情報を参考にiPhoneでパケットキャプチャをやらせていただいたNitro238と申しますキャプチャしたいアプリには機能が限定的ながらもブラウザ版もあり、ブラウザ版のhttpsパケットキャプチャには成功したのですが、アプリのパケットキャプチャを行おうとするとアプリがインターネットに接続できませんでしたと出てきてしまい、キャプチャすることができなくて困っております。違いがでるのは、ブラウザで使っているProxy関連の設定とアプリで使っている設定が違うためだ、と言われました。その後使わなくなったiPhoneをJailBreakしてetc/hostsファイルとやらを書き換えても見たのですが、現状に変化はありませんでした何か、よい方法がありましたら、アドバイスいただけたらと思います。どんなアプリ名かわからなければ具体的な回答ができない、というのであれば、アプリ名を開示したいと思います。以上、お忙しいとは思いますが、よろしくお願いします。コメントをキャンセルメールアドレスが公開されることはありません。date*日本語が含まれない投稿は無視されますのでご注意ください。コメントデータの処理方法の詳細はこちらをご覧ください。