【iOS/Android/Mac】CharlesでHTTP通信の中身を調査する方法!

【iOS/Android/Mac】CharlesでHTTP通信の中身を調査する方法!

この記事からわかること

  • iOS/AndroidアプリHTTP通信デバッグする方法
  • Charles使い方

\ アプリをリリースしました /

みんなの誕生日

友達や家族の誕生日をメモ!通知も届く-みんなの誕生日-

posted withアプリーチ

環境

Charlesとは?

公式リファレンス:Charles

Charles(チャールズ)」はモバイルアプリとインターネット間のHTTP通信を監視できるプロキシツールです。これにはリクエスト、レスポンス、そしてCookieやキャッシュ情報を含むHTTPヘッダーなどが含まれています。

基本的には有料のライセンスを購入して使用していく想定ですが、一応無料の範囲でもトライアルとして使用することが可能です。ただ30日間かつ30分で以下のエラーポップアップが表示され、Charlesが再起動してしまうので多用するのであればライセンスを購入することをおすすめします。

【iOS/Android/Mac】CharlesでHTTP通信の中身を調査する方法!

Macへの導入方法

公式リファレンス:Download Charles

Charlesを導入するためにまずはダウンロードします。アプリケーションフォルダに移動させ、起動させると以下のようなポップアップが表示されます。「Charlesにネットワーク設定の変更権限を与えますか?」というような意味なので「Grant Privileges(権限を付与する)」で進めていきます。するとPCのパスワードを求められるので入力しておいてください。

【iOS/Android/Mac】CharlesでHTTP通信の中身を調査する方法!

これでCharlesが起動します。

証明書の有効化

続いてMacとiOSシミュレーターで使えるように証明書を作成し、有効化していきます。Charles上部メニューの「Help」>「SSL Proxying」>「Install Charles Root Certificate」をクリックします。キーチェーンアクセスが起動するので「ログイン」>「証明書」の中に「Charles Proxy CA」が生成されていればOKです。

【iOS/Android/Mac】CharlesでHTTP通信の中身を調査する方法!

続いて「Charles Proxy CA」を右クリックして「情報をみる」をクリックし以下のポップアップが開くので「常に信頼」に変更しておきます。

【iOS/Android/Mac】CharlesでHTTP通信の中身を調査する方法!

Charles Proxy CA」が以下のように青色になっていればOKです。

【iOS/Android/Mac】CharlesでHTTP通信の中身を調査する方法!

接続設定とポート/IPアドレス確認

続いてCharles上部メニューの「Proxy」>「Proxy Settings...」からポート番号を設定します。他とバッティングしていなければ8888のままで大丈夫です。

【iOS/Android/Mac】CharlesでHTTP通信の中身を調査する方法!

IPアドレスはCharles上部メニューの「Help」>「Local IP Addresses」から確認することができます。

【iOS/Android/Mac】CharlesでHTTP通信の中身を調査する方法!

Charles上部メニューの「Proxy」>「SSL Proxying Settings...」から「HOST」に*、Portに443を入れたものを追加し有効化しておきます。

【iOS/Android/Mac】CharlesでHTTP通信の中身を調査する方法!

これで準備は完了です。

Macの通信を除外する

現状CharlesではMacで発生している通信自体もキャプチャしてしまっています。このままではモバイルアプリ側の通信のノイズになるのでCharles上部メニューの「Proxy」>「MacOS Proxy」のチェックをクリックして外せばOKです。

iOSシミュレーターで使用する

iOSシミュレーターでするためにはシミュレーターを起動し「設定アプリ」>「一般(General)」>「情報(About)」>「証明書信頼設定(Certifiacte Trust Settings)」>「Charles Proxy CA」のスイッチをONにします。

【iOS/Android/Mac】CharlesでHTTP通信の中身を調査する方法!

これでCharlesアプリを立ち上げておけば通信内容を監視することができます。試しにシミュレーターでこのサイトhttps://appdev-room.com/を開いてみるとCharlesにもhttps://appdev-room.com/があることが確認できます。

【iOS/Android/Mac】CharlesでHTTP通信の中身を調査する方法!

まだまだ勉強中ですので間違っている点や至らぬ点がありましたら教えていただけると助かります。

ご覧いただきありがとうございました。

Search Box

Sponsor

ProFile

ame

趣味:読書,プログラミング学習,サイト制作,ブログ

IT嫌いを克服するためにITパスを取得しようと勉強してからサイト制作が趣味に変わりました笑今はCMSを使わずこのサイトを完全自作でサイト運営中〜

New Article