サードパーティと提携する前に、サードパーティのアプリケーションをテストするためにiPhoneで使用するWiresharkのようなツールを探しています。助言がありますか?
HTTP/HTTPSトラフィックのみを表示する場合は、他の回答で提案されているような中間者プロキシが適切なソリューションです。
パケットスニッフィングの最適なソリューション(シミュレータではなくactualiOSデバイスでのみ動作しますが)私が見つけたのは、rvictl
を使用することです。 このブログ投稿 には素晴らしい記事があります。基本的にあなたがすること:
rvictl -s <iphone-uid-from-xcode-organizer>
次に、Wireshark(またはお気に入りのツール)で作成したインターフェイスをスニッフィングし、完了したらインターフェイスをシャットダウンします:
rvictl -x <iphone-uid-from-xcode-organizer>
シミュレータをパケットスニッフィングしたい場合は、ローカルMacへのトラフィックも歩き回る必要がありますが、rvictl
は、iOSデバイスからのトラフィックを表示する仮想インターフェイスを作成するためです。 USBポートに接続しました。
注:これはMacでのみ機能します。
Charles Web Debugging Proxy を使用しますが、費用はかかりますが、試用版があります。
IPhone/iPadがMacと同じWifiネットワークを共有している場合、セットアップは非常に簡単です。
MacとiOSデバイスが同じWifiネットワーク上にない場合、システム環境設定の「共有」の下にある「インターネット共有」オプションを使用して、MacをWifiルーターとして設定できます。次に、デバイスをその「Wifi」ネットワークに接続し、上記の手順に従います。
プロキシを介して実行し、 Wireshark を使用してトラフィックを監視します。
i
シンボル]> [下部のプロキシ]> [手動に設定]に移動し、サーバーの場合はIPアドレスで作業しているコンピューターを配置し、ポートの場合は8888をそれぞれのデフォルトとして配置しますこれらのアプリケーションすべてのネットワークトラフィックをスニッフィングする場合、最終セクションの一般的な注意事項は、 ARP spoofing を使用して、iOSからラップトップ/デスクトップにすべてのトラフィックを転送することです。 ARPスプーフィングには複数のツールがあり、すべての詳細について調査する必要があります。これにより、ルーターがiOSデバイス向けのすべてのデータをラップトップ/デスクトップにルーティングし、このデータをiOSデバイスに(自動的に)転送するため、トラフィックのオンスをすべて見ることができます。
これは最後の手段としてのみお勧めします。
ジェイルブレイクされたiPhone/iPodでは、cydiaリポジトリにある「tcpdump」と「pirni」の両方でトラフィックをキャプチャします。これらのデータの分析は、キャプチャを別のマシンに転送し、wiresharkのようなものを使用して行われます。ただし、これらのツールで進行中のように見える活発な開発を考えると、iPhoneがすぐにすべてを処理する可能性があります。
要件が何であるかを正確に知ることなく、iPhoneからパケットが通過するのを見るために私がしたことは次のとおりです。 MacでWiresharkまたはPacket Peeperを実行します。
私が見つけた最良の解決策は:
デバイスをUSB経由で接続する
そして、これらのコマンドを入力します:
rvictl -s UDID デバイス20文字のID、iTunesで4tを見つけるか、Xcodeでオーガナイザーを見つけることができます)
Sudo launchctl list com.Apple.rpmuxd
Sudo tcpdump -n -t -i rvi0 -q tcp
または単にSudo tcpdump -i rvi0 -n
Rvictlが機能しない場合は、Xcodeをインストールしてください
詳細情報:---(リモート仮想インターフェイス
http://useyourloaf.com/blog/2012/02/07/remote-packet-capture-for-ios-devices.html
ここに別の方法があります http://www.tuaw.com/2011/02/21/how-to-inspect-ioss-http-traffic-without-spending-a-dime/
ロジャー・ノーランの回答は見当たりませんでした。上のリンクは別のツールを使用した同じワークフローです。
実行したい内容によっては、プロキシ経由で実行することは理想的ではありません。パケットが改ざんされない限り、透過プロキシは正常に機能する可能性があります。
IOS 4.3.xでiPhoneからiPadに転送されるGPSデータを反転させて、Vanillaデータを取得しようとしています。クリーンなネットワークダンプを取得する最良の方法は、「tcpdump」または「pirni」を使用することですすでに提案したように。
テザーデータが必要なこの特定のケースでは、可能な限り透過的である必要があります。これが機能するためには、明らかに携帯電話がJailBrokenである必要があります。
前述のように、MITMのおかげで、プロキシを必要とせずにiPhoneのトラフィックを透過的にインターセプトするMac OS Xで Debookee を試してください。その後、デバイスで使用されるさまざまなプロトコルがリアルタイムで表示されます。
免責事項:私はDebookeeの開発チームの一員です。これは有料のアプリケーションです。試用版では、限られた時間のすべての機能が表示されます。
一般的な解決策は、透過プロキシとして構成されたLinuxボックス(仮想マシン内にある可能性があります)を使用してトラフィックをインターセプトし、wiresharkまたはtcpdumpなどを使用して分析することです。おそらく、MacOSでもこれを行うことができますが、私は試していません。
または、シミュレータでアプリを実行できる場合は、おそらく自分のマシンでトラフィックを監視できます。
Com'on、 フィドラー ?愛はどこだ :)
Fiddlerは、ネットワーク管理者(つまりWireshark)ではなく、開発者向けの非常に人気のあるHTTPデバッガーです。
iOS用に設定するのは非常に簡単なプロセスです 。 HTTPSトラフィックも解読できます!
QA部門がFiddlerを使用して問題のトラブルシューティングを開始した後、モバイルチームはようやく解放されました。フィドラーの前に、人々は誰が責任を負うべきか、モバイルチーム、APIチームのいずれかを知るためにいじくりましたが、それ以上ではありません。