在 android 中调试 Web 应用程序
Debugging web application in android
我正在 android 做一个以学习为目的的小项目。
我正在使用 genymotion 作为 android 模拟器并在里面安装我的 apk。但是,问题是,我使用 Fiddler4 作为代理,但它只能捕获 HTTP/HTTPS 流量。但是,我的端口正在使用的应用程序有自己定义的数据包结构,它在端口 80/443 上没有 运行。
是否有任何其他工具可以让我捕获通过我的模拟器的所有数据包。 Wireshark 不工作。
对于Http/Https:
Genymotion 是一个很好的模拟器,它有 wifi 设置,所以你可以为你的 PC 设置代理(它可能需要更多的步骤来找到 PC 的模拟器 ip)。然后按照指南使用fiddler捕获请求:Set Remote Machine Proxy Settings
对于TCP/UDP或其他人(包括http/https):
Tcpdump 很容易使用,但你应该先 root 模拟器。
- 亚行shell
- 苏
- chmod 777 /data/local/
- adb push E:\tcpdump /data/local/
- chmod 777 /data/local/tcpdump
- /data/local/tcpdump -p -vv -s 0 -w /sdcard/ThinkDrive.pcap
现在捕获是 运行,您可以使用 Ctrl+C
来停止它。结果数据将保存在 /sdcard/ThinkDrive.pcap 中。可以复制出来,用Wireshark读取数据。
对于 Android 4.4 或更高版本的 webview :
您可以按照本指南进行操作:Remote Debugging on Android with Chrome。在 webview 中调试 html 页面要容易得多。
我正在 android 做一个以学习为目的的小项目。
我正在使用 genymotion 作为 android 模拟器并在里面安装我的 apk。但是,问题是,我使用 Fiddler4 作为代理,但它只能捕获 HTTP/HTTPS 流量。但是,我的端口正在使用的应用程序有自己定义的数据包结构,它在端口 80/443 上没有 运行。
是否有任何其他工具可以让我捕获通过我的模拟器的所有数据包。 Wireshark 不工作。
对于Http/Https:
Genymotion 是一个很好的模拟器,它有 wifi 设置,所以你可以为你的 PC 设置代理(它可能需要更多的步骤来找到 PC 的模拟器 ip)。然后按照指南使用fiddler捕获请求:Set Remote Machine Proxy Settings
对于TCP/UDP或其他人(包括http/https):
Tcpdump 很容易使用,但你应该先 root 模拟器。
- 亚行shell
- 苏
- chmod 777 /data/local/
- adb push E:\tcpdump /data/local/
- chmod 777 /data/local/tcpdump
- /data/local/tcpdump -p -vv -s 0 -w /sdcard/ThinkDrive.pcap
现在捕获是 运行,您可以使用 Ctrl+C
来停止它。结果数据将保存在 /sdcard/ThinkDrive.pcap 中。可以复制出来,用Wireshark读取数据。
对于 Android 4.4 或更高版本的 webview :
您可以按照本指南进行操作:Remote Debugging on Android with Chrome。在 webview 中调试 html 页面要容易得多。