最近遇到一个问题,详情如下:
同一台安卓机顶盒(海思芯片 Android4.4)在同一楼层的不同位置播放同一个视频流,结果一个能播放另一个不能播放。
最终原因:不能播放的区域网络物理链路不一样,符合防火墙的规则,导致机顶盒的请求被拦截了。
解决思路:抓包分析
步骤1、下载tcpdump http://www.strazzere.com/android/tcpdump
步骤2、利用adb命令将下载的tcpdump文件推到机顶盒里面:
adb push “此处用鼠标拖入下载的文件” /data/local/tcpdump
例如你放到D盘根目录下 拖进去后命令会变成这样:
adb push D:\tcpdump /data/local/tcpdump
步骤3、执行adb shell 进入机顶盒
步骤4、执行chmod 6755 /data/local/tcpdump 获取操作权限
步骤5、通过cd命令进入到 tcpdump所在的目录
cd data
cd local
步骤6、通过命令./tcpdump -p -vv -s 0 -w /sdcard/capture.pcap 开始抓包
步骤7、按ctrl + c 停止抓包
步骤8、用adb命令导出抓好的包 利用工具分析即可
adb pull /sdcard/capture.pcap D:/test/capture.pcap
注意这里D盘下的test文件夹是真实存在的 这个capture.pcap是要导出的文件名不是真实已经存在的 这个命令执行完后就存在了 即你导出的文件