回答:
個人的には、チャールズをそのようなものに使用しています。
有効にすると、すべてのネットワークリクエストが監視され、SSLやJSONなどのさまざまなリクエスト/レスポンス形式のサポートなど、拡張リクエストの詳細が表示されます。
また、トラフィック全体ではなく、特定のサーバーへのリクエストのみを傍受するように設定することもできます。
商用ソフトウェアですが、試用版があり、IMHOは間違いなく優れたツールです。
他の回答で提案されているような中間者プロキシは、HTTP / HTTPSトラフィックのみを表示したい場合に適したソリューションです。 Burp Suiteはかなり良いです。ただし、設定が面倒な場合があります。どうやってシミュレーターに説得して説得するのかわかりません。シミュレータがローカルMacの環境を利用するため、ローカルMacのプロキシをインターセプトするためにプロキシサーバーのインスタンスに設定する必要がある場合があります。
パケットスニッフィングの最良の解決策(シミュレータではなく実際の iOSデバイスでのみ機能します)は、を使用することrvictl
です。このブログ投稿にはすばらしい記事があります。基本的にあなたはします:
rvictl -s <iphone-uid-from-xcode-organizer>
次に、Wireshark(またはお気に入りのツール)で作成したインターフェースを嗅ぎ、完了したら、次のコマンドでインターフェースをシャットダウンします。
rvictl -x <iphone-uid-from-xcode-organizer>
シミュレーターをパケットスニッフィングしたい場合は、ローカルMacへのトラフィックも通過rvictl
する必要がありますが、USBに接続したiOSデバイスからのトラフィックを表示するだけの仮想インターフェイスを作成するので、これは素晴らしいです。港。
Macで簡単に実行できる無料のオープンソースプロキシツールはmitmproxyです。
このWebサイトには、Macバイナリへのリンクと、Githubのソースコードが含まれています。
ドキュメントには、HTTPSトラフィックを表示するために証明書をテストデバイスにロードするための非常に役立つ紹介が含まれています。
CharlesほどGUIに優れているわけではありませんが、私が必要とするすべてのことを行い、無料で維持されます。良いもので、以前にコマンドラインツールを使用したことがあれば、非常に簡単です。
更新:私はウェブサイトでmitmproxyが自作のインストールとして利用できることに気づきました。簡単にできませんでした。
XcodeはCFNetwork診断ログを提供します。アップルドキュメント
これを有効にするにCFNETWORK_DIAGNOSTICS=3
は、環境変数セクションに追加します。
これにより、アプリのリクエストがヘッダーと本文とともに表示されます。に示すようにOS_ACTIVITY_MODE
設定する必要があることに注意してくださいenable
。そうしないと、コンソールに出力が表示されません。
あなたがケーブル接続とMacを持っているなら、シンプルで強力な方法があります:
無料のWiresharkをインストールし、それがでデバイスをキャプチャできることを確認してください(そして、あなたはコンピュータを再起動するたびにこれを行う必要があります!):
sudo chmod 644 / dev / bpf *
次に、ネットワークをwifiで共有します。システム設定>共有>インターネット共有。「接続を共有する:イーサネット」で、Wi-Fiを使用していることを確認します。いくつかのwifiセキュリティを設定することもできます。それはデータの監視を妨げません。
新しく作成したネットワークに電話を接続します。ここで何度か試してみる必要があります。電話が接続したくない場合は、MacのWi-Fiをオフにしてから、上記の手順2を繰り返して、しばらくお待ちください。
Wiresharkでワイヤレスインターフェースのキャプチャを開始します。これはおそらく「en1」です。必要なIPアドレスやポートをフィルタリングします。興味のあるパッケージを見つけたら、それを選択し、右クリック(コンテキストメニュー)> [TCPストリームに従う]をクリックすると、要求と回答のわかりやすいテキスト表現が表示されます。
そして何がベストか:Androidでもまったく同じトリックが機能します!
Telerik Fiddlerは良い選択です
http://www.telerik.com/blogs/using-fiddler-with-apple-ios-devices
Chrome検査ツールに慣れている場合の適切な解決策は、Ponyデバッガーです。 。https //github.com/square/PonyDebugger
設定は少し面倒ですが、一度行うとうまくいきます。ただし、Chromeの代わりにSafariを使用してください。
私はnetfoxを使用しています。使用と統合は非常に簡単です。シミュレーターやデバイスで使用できます。すべての要求と応答が表示されます。JSON、XML、HTML、画像、その他の種類の応答をサポートしています。IOSのデフォルトの共有形式(Gmail、WhatsApp、Eメール、Slack、SMSなど)で要求、応答、完全なログを共有できます
GitHubで確認できます:https : //github.com/kasketis/netfox
Netfoxは、iOSまたはOSXアプリによって実行されたすべての実行済みネットワークリクエストのクイックルックを提供します。すべてのリクエストを取得します-もちろん、あなたのリクエスト、サードパーティのライブラリ(AFNetworking、Alamofireなど)からのリクエスト、UIWebViewsなど