原文网址:http://blog.csdn.net/gebitan505/article/details/19044857

本文主要介绍如何使用tcpdump和wireshark对Android应用程序进行抓包并分析,需要说明的是在抓包之前,你的Android设备必须root过了,另外你的电脑必须有Android SDK环境。

下载并安装tcpdump

tcpdump链接:http://www.tcpdump.org/

选择一个版本下载并解压提取出其中呃tcpdump文件,然后push到你的手机上去:

1
adb push c:\tcpdump /data/local/tcpdump

进一步操作:

1
2
3
adb shell
su
chmod +x /data/local/tcpdump

然后就可以开始抓包了:

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

这时你可以操作应用程序相应的操作了,抓包完毕后ctrl+c停止抓包。

然后将抓到pcap文件传输本地开始进行分析了,这里假设你pull到c盘目录下。

1
adb pull /sdcard/capture.pcap c:/

使用wireshark分析抓包数据

pc上安装wireshark

wireshark下载:http://www.wireshark.org/download.html

如果安装完毕,就可以直接打刚才的pcap文件了。

使用过滤器filter

如果抓到的东西过多,可以使用上方的过滤器,比如我只看http协议,并且是由我设备发出的

右键记录查看tcp stream

这个功能我比较喜欢,可以查看此次http,client端请求和server端返回的数据

还有我觉得更厉害的功能

可以把请求的内容和结果存储下来,比如可以查看post的内容

这是在面板看到的具体的tcp/ip各层的内容

但是这种编码之后,并且以字节流发出去的东西很让人讨厌,利用存储可能,你就可以看到具体的结果了:

选择File->Export Objects->HTTP,导出这条记录就可以啦。

最后总结下

这是我最近在工作中实际用得到的,但在实际操作tcpdump和wireshark的时候,有更多功能、技巧可以挖掘出来,这篇文章算是对从来没有用过这两个工具的人的一个入门介绍吧。

【转】详解使用tcpdump、wireshark对Android应用程序进行抓包并分析的更多相关文章

  1. 图文详解如何搭建Windows的Android C++开发环境

    原地址:http://www.apkbus.com/android-18595-1-1.html //================================================= ...

  2. TCP/IP详解卷1 - wireshark抓包分析

    TCP/IP详解卷1 - 系列文 TCP/IP详解卷1 - 思维导图(1) TCP/IP详解卷1 - wireshark抓包分析 引言 在初学TCP/IP协议时,会觉得协议是一种很抽象的东西,通过wi ...

  3. 抓包及分析(wireshark&tcpdump)

    1.简介 Wireshark是一个网络协议检测工具,支持Windows平台和Unix平台,我一般只在Windows平台下使用Wireshark,如果是Linux的话,我直接用tcpdump了,因为我工 ...

  4. 详解服务器性能测试的全生命周期?——从测试、结果分析到优化策略(转载)

    服务器性能测试是一项非常重要而且必要的工作,本文是作者Micheal在对服务器进行性能测试的过程中不断摸索出来的一些实用策略,通过定位问题,分析原因以及解决问题,实现对服务器进行更有针对性的优化,提升 ...

  5. 如何在 Android 手机上实现抓包?

    如何在 Android 手机上实现抓包? http://www.zhihu.com/question/20467503 我想知道某个应用究竟在数据提交到哪里,提交了什么.网上的教程太复杂,不想麻烦.有 ...

  6. 转: Android开发的网络抓包

    方法就是在android机器上面安装tcpdump,然后通过-w参数把抓包记录到本地,再把抓到的.cap文件导到pc上面用wireshark来分析.这里步骤非常多,在和后台联调的时候,这个效率是非常低 ...

  7. 怎样对Android设备进行网络抓包

    问题描写叙述: 前段时间自己的app訪问server的url总是会出现间接性失败的问题,于是和server的同事开了个会.提出了他们server存在的这个bug,我的同事自然说自己的server没问题 ...

  8. fiddler 进行Android/IOS代理配置抓包

    1.准备:Android+IOS设备 下载:fiddler抓包工具,不是最新版的链接:   链接:https://pan.baidu.com/s/1BaBfu2H4xgpsh1wmkfC8aQ     ...

  9. Android菜单详解(一)——理解android中的Menu

    前言 今天看了pro android 3中menu这一章,对Android的整个menu体系有了进一步的了解,故整理下笔记与大家分享. PS:强烈推荐<Pro Android 3>,是我至 ...

随机推荐

  1. Python Web 应用:WSGI基础

    在Django,Flask,Bottle和其他一切Python web 框架底层的是Web Server Gateway Interface,简称WSGI.WSGI对Python来说就像 Servle ...

  2. Python单元测试——unittest

    unittest是python自带的一个模块 python344\Lib\unittest 官方参考文档: http://docs.python.org/2.7/library/unittest.ht ...

  3. CSS练习一(模仿163邮箱登陆)

    // '); code = code.replace(/&/g, '&'); return code; }; var runCode = function (code) { if (c ...

  4. FZU 2072 - Count

    题意:给一个数组,每次查询输出区间内数字x出现的次数. 每次查询数字x是与其它数字无关的,所以我们可以以每个数字为索引建立一个链表,里面存放它出现的下标,这里可以保证是递增的.每次查询数字x,就在x的 ...

  5. 设置navigation baritem方法

    UIButton *RightBtn=[UIButton buttonWithType:UIButtonTypeRoundedRect]; [RightBtn setImage:[UIImage im ...

  6. electronic data interchange 电子数据交换

    electronic data interchange 电子数据交换

  7. Java 集合深入理解(4):List<E> 接口

    点击查看 Java 集合框架深入理解 系列, - ( ゜- ゜)つロ 乾杯~ 蓝瘦!香菇! 连着加班几天,醉了.学学 List 放松下! 在 Java 集合深入理解:Collection 中我们熟悉了 ...

  8. LCA(Tarjan)

    program LCA(Tarjan); type arr=record u,v,w,next:longint; end; ; maxm=; ..maxm*] of arr; last,lasq,an ...

  9. Unity3D ShaderLab 车辆喷漆光照模型实战

    这一篇,我们来创建一个车辆喷漆的光照模型.首先就是准备场景,新建Shader & Material. 过程比较简单,直接看完成的代码吧: Shader "91YGame/CarOut ...

  10. mysql 远程连接失败(linux)

    主要有三个原因:1.mysql授权表里没有远程机器的权限,及需要在授权表mysql.user添加grant all privileges on *.* to 'root'@'远程登陆IP' ident ...