人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

iOSのUIWebViewやAndroidのwebviewを使っているアプリの、HTTPリクエスト内容やパケットをキャプチャする方法があれば教えてください。
iPhone5(未脱獄)と、Nexus7を所持しています。

●質問者: araishi
●カテゴリ:コンピュータ
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● a-kuma3
●100ポイント

検索で見つけただけで、試してはいないのですが、iOS5 の場合です。

Technical Q&A QA1176: Getting a Packet Trace

Remote Virtual Interface
iOS 5 added a remote virtual interface (RVI) facility that lets you use Mac OS X packet trace programs to capture traces from an iOS device. The basic strategy is:

  1. Connect your iOS device to your Mac via USB.
  2. Set up an RVI for that device. This creates a virtual network interface on your Mac that represents the iOS device's networking stack.
  3. Run your Mac OS X packet trace program, and point it at the RVI created in the previous step.

英語ですけど、書いてあることは、そんなに難しくない。
Mac つないで、rvictl というコマンドで仮想的なデバイス(rvi0)を作成し、rvi0 に対してパケットキャプチャするプログラムを走らせる、というだけ。

同じ記事を元ネタにした、日本語のページ。書いてあることは、同じです。
http://cocoadays-info.blogspot.jp/2012/01/qa1176-remote-virtual-interface.html
http://d.hatena.ne.jp/at_yasu/20120115/p1



Android の方について、追記です。

本体のアプリですが、tPacketCapture が root 化せずに使えるんだとか。
http://www.taosoftware.co.jp/android/packetcapture/

それ以外では、root 化する必要がありそうです。


アプリだと、Shark for Root。
https://play.google.com/store/apps/details?id=lv.n3o.shark&hl=ja
オプションが、tcpdump そのままなので、開発者向きですね。

どうせ tcpdump を意識するなら、直接、tcpdump を使ってキャプチャする方が良いかも。

adb shell tcpdump -s 0 -v -w /data/tcp.pcap
http://yuki312.blogspot.jp/2011/12/android_12.html

Wireshark を使って見られるので、こちらの方がストレスが少ないと思います。


araishiさんのコメント
ありがとうございます。iPhoneとMacでやってみるとできました!

a-kuma3さんのコメント
Android の方についても、追記しました。 こちらも、検索しただけですが。
関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ