kapieciiのブログ

日々学んだことを残しておくためのブログです。このブログはGoogle Analyticsを利用しています。

iOSアプリの通信内容を確認する(2019/6時点)

iOSアプリのデバッグや調査の際に通信内容を確認したいことがあります。
Burp Suiteというローカルプロキシツールを使って通信内容を確認しました。

portswigger.net

目次

全体像

下図のように、Burp Suiteを経由して通信をする環境を整えます。

f:id:kapiecii:20190612162935p:plain

環境

Burp Suiteがインストールされたパソコンと、iOS端末を同じネットワークに参加させておきます。
Burp Suiteは、Windows, Mac, 各種Linuxなど、任意の環境で動作させることができます。
今回は最初からBurp SuiteがインストールされているKali Linuxを使いました。

Burp Suiteのダウンロードはこちら

手順

1.Burp Suiteの設定

Burp Suiteを起動して、プロキシの設定をします。
Burp Suite上で「Proxy->Options」を表示して「Add」をクリックします。

f:id:kapiecii:20190613001022p:plain

「Bind to portに8080を設定」し、「All Interfaces」にチェックを入れて「OK」をクリックします。

f:id:kapiecii:20190613001114p:plain

最初から設定されていた「127.0.0.1:8080」のチェックを外し、追加した「*:8080」にチェックを入れます。

f:id:kapiecii:20190613002838p:plain

「Proxy->intercept」で「intercept is off」にしておきます。

f:id:kapiecii:20190613001204p:plain

f:id:kapiecii:20190613001230p:plain

2. iOS端末に証明書をインストール

iOS端末にBurp Suiteの証明書をインストールします。

iOS端末上のsafariで「 http://burp 」にアクセスします。
画面右上の「CA Certificate」をタップします。

f:id:kapiecii:20190613001315p:plain

https://support.portswigger.net/customer/ より)

iOS端末の「設定->一般->プロファイルとデバイス管理」から「PortSwigger CA」を選択してインストールします。

iOS端末の「設定->一般->情報->証明書信頼設定」から「PortSwigger CA」の設定を有効にします。

3.IOS端末のプロキシ設定

iOS端末の「設定->wifi」に移動します。 接続しているSSID名の右にある「i」をタップします。

「HTTPプロキシ->手動」を選択し、Burp Suiteが動いているパソコンのIPアドレスとポート(8080)を指定します。

4.接続テスト

iOS端末でアプリを起動したり、ブラウザで任意のURLにアクセスします。 Burp Suiteの「Proxy->HTTP history」に通信時のHTTPリクエストとレスポンスが表示されれば成功です。

最後に

iOS端末の通信内容を確認しました。
以前同じことをしたことがあったのですが、iOSのバージョンアップに伴って「設定->一般->情報->証明書信頼設定->ルート証明書を全面的に信頼する」の手順が追加で必要になっていました。

手順が追加されたことを知らなかったので、「あれ?なんでつながらないんだ?証明書のエラー??」としばらく悩んだのですが、公式サイトの手順がしっかり更新されていました。

やったことのある作業でも、「詰まったら公式のドキュメントを確認することは大切」という学びがありました。

参照

support.portswigger.net

フリー素材サイト

Icons made by Freepik from www.flaticon.com is licensed by CC 3.0 BY

kapieciiのブログについてお問い合わせがある場合、下記のフォームからご連絡をお願い致します。
お問い合わせはこちら