关于android手机端tcpdump抓取数据包

    前两天做android客户端,发现上报的数据与想象中情况对不上,只能查看客户端请求数据和服务器端响应数据,发现其中不对的地方。

    网上百度发现tcpdump这个东西可以解决问题,给大家分享下我做的过程。

    测试机root那是必须滴!没有root的测试机必须root,不然没有权限的,当然必须下载tcpdump软件(下载)。

        1.把测试机连接上电脑,打开windows命令提示符窗口;

        2. 将tcpdump程序copy至android手机

                在命令提示符窗口输入:adb push c:/tcpdump /data/local/tcpdump   ("c:/tcpdump"为本地tcpdump软件所在地址,"/data/local/tcpdump"为目的手机端地址)

                注意在执行这个命令时,保证只有一个测试机连接并没有开启模拟器,不然会报”error: more than one device and emulator“错误

        3. 修改tcpdump的权限

                在命令提示符窗口输入:adb shell chmod 6755 /data/local/tcpdump

        4.进入手机root权限

                 在命令提示符窗口输入:adb shell

                如果root手机会出现$

                再次输入”su“命令进入手机root权限,光标前面变为#

        5.运行tcpdump软件

                在命令提示符窗口输入:/data/local/tcpdump -p -vv -s 0 -w /sdcard/capture.pcap

                注意:测试机需要连接上网络。

        6. 在手机端执行相应需要进行抓包分析的操作,执行完成后在命令提示符窗口执行Ctrl+C中断抓包进程

        7. 将抓包结果复制至本地

                在命令提示符窗口输入:adb pull /sdcard/capture.pcap c:/ 

                如果放在其他地方可改变”c:/“为你需要的地方。

        8. 使用相关软件查看抓包文件capture.pcap,我这里用Wireshark软件查看分析的(Wireshark下载)。

        经过分析得到了错误所在。


你可能感兴趣的:(android之路,android网络)