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