最近一段时间,移动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平台推荐

网速测试,可以看到当前网络的延迟等,也不错

有更好的APP推荐,欢迎推荐一二。

小结

希望可以给遇到同样问题的同学一些帮助

记录下来便于以后索引

android 随手记代码,随手记之Android网络调试简要记录相关推荐

  1. android壁纸软件代码,Flutter开源项目——Android免费壁纸应用

    简介 free_wallpaper是一款基于flutter的免费Android壁纸应用 项目明细 开发环境: android studio 3.5 Flutter 1.12.13+hotfix.7 • ...

  2. android+内存清理+代码,最新版本:Android一键式清理,内存清理功能的实现

    Android一键式清理,内存清理功能的实山清理大师等均提供一键式清理和一键加速等功能.实际上,它们杀死了一些后台进程以达到释放内存的目的. 基本思想是列出所有正在运行的进程,检查它们的重要值(Run ...

  3. android可以剪辑代码的控件,Android 仿抖音视频裁剪范围选择控件,支持本地视频和网络视频...

    实现后效果:由于是在模拟器上跑的背面的封面列表加载不出来,实际效果请真机运行 image.png 具体代码如下: 绘制上层滑动控件部分 package com.cj.customwidget.widg ...

  4. android 不同项目代码合并在一块,android - 是否可以将两个(正在积极开发中的)Android应用程序模块合并到同一个Android Studio项目中? - 堆栈内存溢出...

    我有两个工作正常的Android应用程序模块A和B,与同一个Android Studio项目相同. 它们每个都可以单独构建和运行. 但是如果我通过指定将模块A添加为"模块依赖项" ...

  5. Android钢琴滑动代码,真正完美的android钢琴软件

    8年前 (2013-03-18) | 33,859 views | 35 条评论 | 本文共949个字 现在手机钢琴软件已经相当多了,命名也是一个比一个牛,不过要想满足我的需求,那可真的是比登天还难, ...

  6. android下载歌词代码,比较完整的android MP3 LRC歌词滚动高亮显示(附源码)

    1.以前的滚动只是安行来刷新,现在不是按行来滚动了,其实就是在一定时间内整体往上移动,比如说在1S内刷新10次,由于认得肉眼看起来像是滚动. 关键代码如下: float plus = currentD ...

  7. android 设置壁纸 代码,我如何在Android中使用代码设置壁纸?(How can I set Wallpaper in a...

    您可以尝试调整您的位图这样的 DisplayMetrics displayMetrics = new DisplayMetrics(); getWindowManager().getDefaultDi ...

  8. android系统firefox,Android平台Firefox——Fennec编译手记

    Android平台Firefox--Fennec编译手记 Firefox for mobile,开发代号为Fennec.详情参见维基百科:Click here! 官方手册 1)准备环境 1.1)安装J ...

  9. Android 开发常用代码片段

    1.图片旋转 Bitmap bitmapOrg = BitmapFactory.decodeResource(this.getContext().getResources(), R.drawable. ...

最新文章

  1. ADT7410 ±0.5℃精度温度传感器
  2. Centos 7 技巧
  3. 解决webpack打包vue项目后,部署完成后,刷新页面页面404
  4. 数据结构与算法——二叉平衡树(AVL树)详解
  5. hadoop初始化(hdfs格式化)+简单测试(转载+自己整理)
  6. MongoVUE的Collections数据不显示的解决方法
  7. 太实用了,4款常用的可视化大屏工具,你一定要知道!
  8. python简单计算器下载安装到手机_python简单计算器
  9. 关于程序、进程和线程
  10. 15优秀免费JQuery 图片 滑动效果
  11. Kindle Paperwhite安装PDF阅读器Koreader
  12. 计算二阶矩阵特征值的技巧
  13. 部分 MP4 视频在谷歌浏览器无法播放
  14. Android 仿微信二维码名片制作,生成二维码,扫码生成名片表单信息
  15. 紧固件基础知识之规格篇和功能篇
  16. python爬虫入门(5)----- 阿里巴巴供应商爬虫
  17. explorer.exe修复工具官方版-explorer.exe修复工具下载安装
  18. [Telegram X]旧版分享 突破被锁群组
  19. WAP网站的推广方式(自整合篇)
  20. 第九天:按键及中断原理

热门文章

  1. CTFshow - 七夕杯复现
  2. Mac OS X 通知中心彻底删除网站的通知
  3. 微信小程序请求java后台 springmvc 获取json
  4. 透明图片怎么发给别人_如何在网上 1 分钟就搜到高清优质图片?这 3 个搜图网站一定要收藏好...
  5. canvas小虫子(利用canvas形成多个形状类似虫子的线条)
  6. OpenCV玩微信小游戏星途WeGoing
  7. 快速生成不重复的卡号
  8. STM32(八)W25Q(16/32/64/128)芯片学习总结
  9. 银行家算法的实验报告
  10. 【OpenCV】之LUT函数