zoukankan      html  css  js  c++  java
  • Android抓包方法(二)之Tcpdump命令+Wireshark

    Android抓包方法(二)

    之Tcpdump命令+Wireshark

    前言

    做前端测试,基本要求会抓包,会分析请求数据包,查看接口是否调用正确,数据返回是否正确,问题产生是定位根本原因等。学会抓包分析是测试人员必备的功课之一。最先想的基本上都会是Fiddler代理抓包,但Fiddler有局限,如果APP不支持代理呢?比如邮箱是Imap协议呢?好吧,我们换个思路,安卓是基于linux,那么linux的抓包工具命令是不是也能试用呢?本文主要对tcpdump进行抓包举例。

     

    转载请注明出处
    作者:Findyou
    地址:http://www.cnblogs.com/findyou/p/3491035.html

    [目录]

    1、抓包原理

    2、方法优劣

    3、安装准备

    4、工具安装

    5、实例


    1、抓包原理

    tcpdump(需Root用户运行)拦截和显示发送或收到过网络连接到该机器的TCP/IP和其他数据包。简单说就监控手机进出网络数据。 

    不明觉历啊....

    官方网站: http://www.tcpdump.org(Android手机适用的另处下载)

    2、方法优劣

    [优点]:
    1).手机数据包无遗漏
    [缺点]:
    1).基本只能针对Android手机
    2).不能实时抓包
    3).电脑需要安装Android SDK
    4).电脑需要安装Wireshark
    5).测试手机需要获取root权限
    6).测试手机需要安装tcpdump软件

    3、安装准备

    1).手机获得root权限

    a.目前Root工具很多,随便下个操作一下即可,都傻瓜式的。比如什么刷机精灵、360一键ROOT、百度等等

    2).电脑安装Android SDK  

    a.下载地址 http://developer.android.com/sdk/index.html

    b.解压下载的文件,再配置环境变量即可,具体请问谷哥或度娘,不再另做说明。

    3).手机安装tcpdump软件  

    a.下载地址 http://www.strazzere.com/android/tcpdump


    4、工具安装

    1).Android手机USB连接电脑,打开Windows命令提示符窗口;

    2).检查手机连接是否正常; 

    adb devices   #检查手机是否已连接

    *执行记录*:

    注1:已检查到手机连接正常

    问题1:adb devices不可用      解决:检查环境变量是否配置正确。

    问题2:检不到手机为空           解决:1、驱动是否安装;2、如有装腾讯手机管家,把tadb.exe进程给卡擦掉。

       

    3).adb shell  进入手机修改  /data/local/  目录的权限为所有用户可写;

    adb shell   #登入手机
    su          #切换Root用户
    chmod 777 /data/local/    #修改目录权限,修改后Ctrl+C退出adb shell


    4).将tcpdump程序copy至android手机;

    adb push E: cpdump /data/local/  #tcpdump文件存放在E盘根目录,/data/local/为手机目标路径

    5).进入手机修改tcpdump权限,增加可执行权限;

    adb shell   #登入手机
    su          #切换Root用户
    chmod 777 /data/local/tcpdump    #增加可执行权限


    *执行记录*(第3步至第5步)

    注:/data/local/为了安全起见,建议把权限改回原先权限


    5、实例

    ThinkDrive抓包实例

    二期测试时,APP已不支持代理,抓不到数据包,测试无法准确知道是服务器问题还是APP问题,此处省略N字...以表对研发的诅咒。开玩笑的,大家目的都是为了版本质量提高,更加完善。下文以登录为例,进行演示。

    1).连接手机,切换Root用户,执行抓包命令

    adb shell   #登入手机
    su          #切换Root用户
    /data/local/tcpdump -p -vv -s 0 -w /sdcard/ThinkDrive.pcap   #执行抓包命令,结果保存到SD卡ThinkDrive.pcap文件中

    2).APP操作,生成请求数据

    注:如果操作完成,不需要再抓包,则按Ctrl+C中断抓包退出

    3). 导出抓包结果至电脑

    adb pull /sdcard/ThinkDrive.pcap E:/  #前为手机中文件及存放路径,后为电脑E盘根目录

     

    4). 使用Wireshark等工具分析抓包文件ThinkDrive.pcap 

     

    注:Wireshark工具使用请Google或百度

    转载请注明出处:Findyou

  • 相关阅读:
    Python 从入门到实践
    Python 斐波那契数列
    Python 纸牌游戏
    Python hangman小游戏
    BC #49 1001 Untitled
    BC#50 1003 The mook jong
    BC #50 1001 Distribution money
    vector
    stack
    queue
  • 原文地址:https://www.cnblogs.com/findyou/p/3491035.html
Copyright © 2011-2022 走看看