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建立连接的三次握手和四次握手机制



  • 相关阅读:
    一、异常
    自控力_第三章
    Vocabulary Recitation 2020/05/05
    Vocabulary Recitation 2020/05/04
    Vocabulary Recitaion 2020/05/03
    Vocabulary Recitation 2020/05/01
    最大子序列和
    Vocabulary Recitation 2020/04/29
    自控力_第二章
    Vocabulary Recitation 2020/04/27
  • 原文地址:https://www.cnblogs.com/wzjhoutai/p/7125295.html
Copyright © 2011-2022 走看看