Android系统下抓取网络通信包

  在android下抓包,主要是为了分析应用请求的数据地址,从而进一步嗅探出重要的网络资源。下面来动手实践一下,如何抓取android系统的网络通信包。

一:准备

  软件名称

  •   tcpdump :抓包工具  【点击下载】
  •   WireShark:PC上抓包也是解包的工具  【点击下载】
  •   adb.zip:android调试工具   【点击下载】

  环境要求

  •   将adb.zip解包,并将其目录配置到PC坏境变量中,目的只有一个,在cmd下,能够识别adb命令。
  •   一台已经root的手机。如果没有,使用android模拟器即可(推荐模拟器)。
  • 如果使用手机,确保操作过程中,数据线始终连接手机。

  二:传送抓包工具到手机

  • 查看手机是否已经成功连接电脑

    Win + R 调出运行,打开cmd窗口,运行【adb devices 】,如图:

图中可以看到,电脑连接了一台模拟器。

传送抓包工具到手机

        输入命令:【adb push c:\tcpdump /data/local】

        c:\tcpdump 是tcpdump的在pc上的路径 , /local/data/tcpdump是tcpdump在手机模拟器或者真机中的路径

        如图:

  三:进入手机,提升抓包程序权限

  • cmd窗口输入,【adb shell】 ,进入手机系统
  • 再输入【cd /data/local】,进入目录
  • 再输入【chmod 777 tcpdump】  给程序授权777 读写权限

如图所示

 Android系统下抓取网络通信包_第1张图片

四:进行抓包

  •   紧接第三步,输入【cd /】回退到根目录
  • 输入【./data/local/tcpdump -p -vv -s 0 -w /sdcard/capture.pcap】 抓取的数据存放在手机/sdcard/capture.pcap 文件中

    注意 -p 后面是两个v,而不是w, 如图

  • Android系统下抓取网络通信包_第2张图片
  • 抓取成功按【ctrl + c】结束抓取

五:将数据包从手机中取出

  • 运行 【adb pull /sdcard/capture.pcap c:/capture.pcap】 ,将存放在sd卡中的数据文件,转移到PC的C盘根目录,如图

六:分析数据包

  • 将capture.pcap文件,使用Wireshark工具打开,可以看到抓取了一大堆各种协议的数据。
  • 在Filter文本框中,输入【http.request.uri】,即可筛选出HTTP协议的相关数据。

如图:

Android系统下抓取网络通信包_第3张图片

 

    OK,到此我们就成功抓取到该应用与网络通信的所有信息。

   由此看来,如果你的应用里有一些比较重要的资源,加密通信地址,实在是多么重要啊。

    免责声明:本文仅供学习和交流使用,请勿光明正大干坏事……


  原文链接:http://www.67tgb.com/?p=498

  欢迎访问:望月听涛

你可能感兴趣的:(Android)