在android中调试web应用程序

时间:2015-03-23 03:10:19

标签: android sniffing

我正在为android学习目的做一个小项目。

我使用genymotion作为android模拟器并在里面安装我的apk。但问题是,我使用Fiddler4作为代理,但它只能捕获HTTP / HTTPS流量。但是,我的端口使用的应用程序有自己定义的数据包结构,它不能在端口80/443上运行。

是否还有其他工具可以捕获通过我的模拟器的所有数据包。 Wireshark不起作用。

1 个答案:

答案 0 :(得分:1)

对于Http / Https:

Genymotion是一个很好的模拟器,它有wifi设置,所以你可以设置代理到你的PC(它可能需要更多的步骤来找到PC的IP模拟器)。然后按照指南使用fiddler捕获请求:Set Remote Machine Proxy Settings

对于TCP / UDP或其他(包括http / https):

Tcpdump很容易使用,但你应该先使用你的模拟器。

  1. adb shell
  2. chmod 777 / data / local /
  3. adb push E:\ tcpdump / data / local /
  4. chmod 777 / data / local / tcpdump
  5. / data / local / tcpdump -p -vv -s 0 -w /sdcard/ThinkDrive.pcap
  6. 现在捕获正在运行,您可以使用Ctrl+C来阻止它。结果数据将保存在/sdcard/ThinkDrive.pcap中。您可以将其复制出来并使用Wireshark来读取数据。

    适用于Android 4.4或更高版本的网络视图:

    您可以按照以下指南操作:Remote Debugging on Android with Chrome。在webview中调试html页面要容易得多。