zoukankan      html  css  js  c++  java
  • 怎样对Android设备进行网络抓包

    问题描写叙述:

           前段时间自己的app訪问server的url总是会出现间接性失败的问题,于是server的同事开了个会。提出了他们server存在的这个bug,我的同事自然说自己的server没问题,然后要我重现bug然后提供抓包给他分析。

    所以我自己去折腾了各种网络抓包的方法。以下介绍一种实际可行的对android设备抓包的方法。


    解决方式:

           利用tcpdump对android设备进行抓包,用wireshark进行抓包分析。

    在进行抓包之前,须要将设备进行root,推荐是用root工具king root。成功率较高。

    1、下载tcpdump

    我给大家准备好了tcpdump的下载地址

    http://www.strazzere.com/android/tcpdump

    2、将tcpdump复制进自己的android设备

    不须要adb shell进入设备。直接运行adb push e: ools cpdump /data/local/tcpdump将文件拷贝到指定的目录。

    能够手动复制,也能够利用adb push指令进行复制。

    这个指令须要进入到你adb所在的文件夹才干运行。

    复制完毕后能够用ls查看是否复制成功。

    3、进入到tcpdump相应的目录

    cd /data/local

    4、运行tcpdump的抓包指令

    ./tcpdump -p -vv -s 0 -w /sdcard/capture.pcap

    正常情况下,是能够抓包成功过了。可是你可能会遇到以下的提示

    这样的情况下须要对tcpdump进行读写授权,运行读写权限的时候。先进行adb shell进入设备。不须要进入到tcpdump的目录

    /*改动读写权限*/
    mount -t yaffs2 -o remount,rw,noatime,nodiratime /mnt/sdcard/data/tcpdump
    -t vfstype 指定文件系统的类型。通常不必指定。mount 会自己主动选择正确的类型。


    -o options 主要用来描写叙述设备或档案的挂接方式。

    假设还是不行能够用以下指令改动读写权限
    /*改动读写权限*/
    chmod 6755 /data/local/tcpdump


    5、将抓到的包拷贝到电脑

    adb pull /sdcard/capture.pcap C:UsersXXXDesktopcapture.pcap

    5、抓包完毕。用wireshark进行分析

    wireshark的下载链接非常多,我就不贴了。

    结论:

    android设备抓包的方式还有不止这一种,假如你的电脑能开wifi热点的话,能够让android设备连接自己的wifi热点。能够直接用wireshark直接进行抓包。会简便非常多。


    抓包以及分析技能做网络应用的童鞋们还是须要掌握的,比方訪问server速度过慢的原因,也能够通过抓包来进行分析。



    以下我会继续介绍怎样分析网络抓包。找出开头提到的訪问server间隙性失败的原因。在抓包分析之前,先了解一下TCP的三次握手和四次握手
    《TCP建立连接三次握手和断开连接四次握手 》。这篇文章从抓包分析了TCP建立连接的三次握手和四次握手机制



  • 相关阅读:
    spring-boot-starter-actuator /info获取空信息
    我们每天都在做无用功?
    Net和Java基于zipkin的全链路追踪
    各大厂分布式链路跟踪系统架构对比
    淘宝npm镜像使用方法(转)
    你离架构师还有多远?
    该怎么向别人介绍你们的系统架构?
    java中用MessageFormat格式化json字符串用占位符时出现的问题can't parse argument number
    你必须要了解的大数据潮流下的机器学习及应用场景
    突破GitHub单个文件最大100M的限制 LFS
  • 原文地址:https://www.cnblogs.com/wzjhoutai/p/7125295.html
Copyright © 2011-2022 走看看