Android网络调试

最近一段时间,移动2G/3G客户端连接成功率不高,着实让人头疼。

说是Android网络调试,其实也不过是在被ROOT后Android系统操作,使用adb shell执行一些常规的终端命令,检测2G/3G/4G/WIFI网络等,进而确定一些因网络等导致的问题而已。但adb shell默认没有几个支持的命令,比如 cat, tcpdump,这些都是最基本的必备命令,也不支持。对于想要查看网络请求有几次跳转,不借助些外力,确实是件很不可能的事情。

基本将会包含如下内容:

如何安装需要的Linux终端命令tcpdump,mtr
调试2G/3G等网络连通,域名请求跳转
请求丢包情况
Android终端扩展神器opkg

说它是神器,一点都不夸张。Homepage((http://dan.drown.org/android/))上开篇明义:

Unix command-line programs ported to run on android. This project uses opkg, which handles downloading and installing packages and their dependencies (like yum or apt). Source for all packages are available.

作者Dan (http://blog.dan.drown.org/)为我们移植到Android平台,并且还为我们编译好相当多的常用程序,具体支持列表,可从Changelog(http://dan.drown.org/android/)中找到,这里不再累述。

十分难得,由衷感谢。

下载opkg包

预先把依赖下载到本地:

http://dan.drown.org/android/system/xbin/busybox
http://dan.drown.org/android/opkg.tar.gz

安装opkg

设安装到Android手机的 /data/local 目录,那么首先需要确保这个目录具有可读写权限。

记得要使用su命令切换到root管理员账户,操作、权限才不会受阻。

adb shell chmod 777 /data/local
拷贝opkg到/data/local目录

adb push busybox /data/local
adb push opkg.tar.gz /data/local
adb shell进去之后,开始编译安装:

cd /data/local
chmod 777 busybox
./busybox tar zxvf opkg.tar.gz
设置环境变量:

export PATH=$PATH:/data/local/bin
执行更新、安装准备

opkg update
opkg install opkg
opkg list # 可以查看可以支持安装的终端应用程序(命令)
话说,opkg可以应用于各种嵌入式环境中,超强的说。

安装linux终端应用/命令

可以一口气安装几个试试:

opkg install mtr curl tcpdump cat
当然,你也可以一个一个安装。

安装好之后呢,就是直接运行应用/命令了,测试baidu.com域名解析、丢包情况。

mtr -r baidu.com HOST: localhost Loss% Snt Last
Avg Best Wrst StDev
1.|-- ??? 100.0 10 0.0 0.0 0.0 0.0 0.0
2.|-- 192.168.61.1 0.0% 10 504.3 635.0 339.3 1024. 238.7
3.|-- 192.168.63.138 0.0% 10 392.9 588.7 298.5 847.7 220.3
4.|-- 221.130.39.106 0.0% 10 340.9 557.3 257.4 823.5 211.7
5.|-- 221.179.159.45 10.0% 10 649.6 631.4 332.6 821.4 165.0
6.|-- 111.13.14.6 10.0% 10 561.9 551.3 268.2 777.0 170.0
7.|-- 111.13.0.162 10.0% 10 510.6 570.6 385.5 767.6 116.6
8.|-- 111.13.1.14 10.0% 10 775.4 565.2 377.7 775.4 130.9
9.|-- 111.13.2.130 10.0% 10 707.2 564.6 381.1 887.3 173.4

嗯,通过mtr确实很容易就看出,网络跳数,每一个节点丢包率。这样就能很容易找到在移动2G/3G网络连接超时比较严重的问题所在。下面就是希望运维的同学尽快处理好,避免再次出现由联通机房再次跳转到移动机房问题。

非常感谢陈杰同学推荐的比ping+traceroute还要好用命令mtr。一旦拥有,不会放手!

移动2G/3G下网络抓包

要想抓取2G/3G网络下数据包,必须安装一个tcpdump命令:

opkg install tcpdump
opkg很贴心的会把所依赖的libpcap也都一并安装上,完全不用担心版本问题!

tcpdump -i any -p -vv -s 0 -w /sdcard/capture.pcap
下面就是一气呵成的导出,使用wireshark进行分析了。

adb pull /sdcard/tmp1.pcap c:/tmp
其它有利于诊断网络的APP

不习惯使用终端诊断网络,可以直接使用现成的APP。

第一名 Fing,大名如雷贯耳,跨Android、IOS平台,DNS、PING等不在话下,居家生活之必备
第二名嘛,暂时还没有发现呢
shark for root,也不错,Android平台推荐
网速测试,可以看到当前网络的延迟等,也不错
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Android Studio网络调试助手是一种非常实用的工具,它可以帮助开发人员在开发过程中调试和管理网络请求。它提供了一系列强大的功能,使我们更方便地进行网络调试。 首先,Android Studio网络调试助手允许我们拦截和查看应用程序发送的网络请求和接收的响应。通过捕获和显示HTTP请求和响应的详细信息,我们可以更好地理解应用程序与服务器之间的通信,并检查是否存在潜在的问题。 其次,该助手还可以模拟不同的网络环境和条件。我们可以模拟慢速网络连接、高延迟、丢包等,以便检查我们的应用程序在不同网络条件下的性能表现。这对于确保应用程序在不同网络环境下的稳定性和可靠性非常重要。 另外,Android Studio网络调试助手还支持网络请求的编辑和重发。当我们需要修改请求参数或重新发送请求进行调试时,这个功能非常有用。我们可以直接编辑请求的URL、头部、正文等信息,然后重新发送请求进行调试。 此外,该助手还提供了对HTTPS的支持。我们可以查看和管理与HTTPS服务器之间的加密通信,以确保通信的安全性。 总的来说,Android Studio网络调试助手是一个非常方便和实用的工具,可以帮助我们更好地调试和管理应用程序的网络请求。通过它的协助,我们可以在开发过程中更高效地解决网络方面的问题,提升应用程序的用户体验和性能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值