文档章节

Android平台上抓包

每天多一点
 每天多一点
发布于 2014/07/16 08:41
字数 850
阅读 276
收藏 14

经常会有一些测试需求比如:测试手机上某个app的网络通信是否已经加密,或者测试某个app是否偷偷链接某些网站。

根据抓包的对象,主要有两种途径:

1. 在路由器端抓包:使用一台已经连入路由器的PC来抓取路由器上所有的数据传输信息。

2. 在终端抓包:在终端(手机,平板等)上抓取次终端设备的网络传输信息。


注意:可以很容易通过网络下载到很多可以用来抓包的apk,但是前提是android手机或者终端要root过,笔者试过其中的一、二款,感觉不够理想。

其实网上的这些工具也都是使用tcpdump这款命令行工具来实现抓包的,下面我就来简单说一下方法2,也就是终端抓包的具体操作:

【准备】

当然是需要下载好tcpdump这个工具:http://www.strazzere.com/android/tcpdump

你也可以在tcpdump的官网下载源代码编译得到,但是android系统的tcpdump可以从如上的网站得到。从如上的网站上下载的工具不依赖于手机的cpu架构,所以无论arm还是x86平台都可以运行,请放心使用。


【安装】

安装的难易程度因终端是否root而异。请使用adb将tcpdump传输到sd卡中

$> adb push tcpdump /sdcard/

对于已经root过的机器,请使用adb root ,adb remount 后,

$>adb root
$>adb remount

然后将tcpdump拷贝到/system/xbin下,修改执行权限(可以使用 chmod 777 tcpdump)

对于没有root过的机器,可以使用一些工具,比如“刷机精灵”来取得root权限。笔者是使用R.E浏览器这款应用手动将tcpdump从sdcard拷贝到/system/xbin,然后添加执行权限。

经过如上的操作,你应该保证你的tcpdump这个文件已经在/system/xbin下,并且已经具备了可执行的权限。


【抓包】

根据使用的场景不同,tcpdump的参数也有相应的设置,这里列举一个常用的 tcpdump -p -vv -s 0 -w /sdcard/log1.pcap

这里将输出都写在了sd卡上的log1.pcap文件中.

如果你使用如上的命令遇到了"device not suitable"类似的问题,说明执行权限还是不对。笔者一般使用如下的命令抓包

$> adb shell su tcpdump -p -vv -s 0 -w /sdcard/log1.pcap


su是为了让tcpdump在root下运行。

如果tcpdump成功的运行起来,你会看到命令行已经挂起了,这个时候你操作需要测试app,数据就被抓到了。


【分析】

得到的数据文件XX.pcap可以用wireshark工具进行分析, 这个工具可以从http://www.wireshark.org/download.html得到。

如果成功安装了wireshark,可以发现你抓出来的数据包有一个小图标:

双击这个文件,wireshark就会给出信息:

这里不打算介绍数据的分析方法,只简单的说一下,首先要确定好你想要分析的数据所在的层(应用层,还是传输层,又或者是其他层),找到对应的协议,然后分析数据。


【总结】

以上就是抓包的方法,同样可以在linux base的系统上使用。


© 著作权归作者所有

每天多一点
粉丝 10
博文 11
码字总数 8562
作品 0
大连
程序员
私信 提问
Android系统手机端抓包方法

抓包准备 1. Android手机需要先获得root权限。一种是否获得root权限的检验方法:安装并打开终端模拟器(可通过安卓市场等渠道获得)。在终端模拟器界面输入su并回车,若报错则说明未root,若...

亭子happy
2014/01/17
127
0
Android 7.0 以上 Charles 和 Fiddler 无法抓取 HTTPS 包的解决方式

最近升级了 targetSdkVersion 到 28 后发现在 Android 7.0 以上机型 Charles 抓取 https 包时显示找不到证书,但是 Android 6.0 机型还是可以正常抓包。原因是因为从 Android 7.0 开始,默认...

JohnnyShieh
05/06
0
0
Charles 抓包工具安装和采坑记录

Charles 抓包工具安装和采坑记录 网络抓包是解决网络问题的第一步,也是网络分析的基础。网络出现问题,第一步肯定是通过抓包工具进行路径分析,看哪一步出现异常。做网络爬虫,第一步就是通...

和牛
2018/07/30
0
0
Mac上的抓包工具Charles

Mac上的抓包工具Charles:http://blog.csdn.net/jiangwei0910410003/article/details/41620363 mac下的抓包工具Charles:http://ju.outofmemory.cn/entry/32837 wireshark for mac:http://......

智能小松鼠
2015/07/01
336
3
求推荐Android开源抓包工具

有没有前辈用过开源的Android抓包工具或者自己写过Android抓包代码,求分享。

codesucker
2016/05/13
456
1

没有更多内容

加载失败,请刷新页面

加载更多

只需一步,在Spring Boot中统一Restful API返回值格式与统一处理异常

统一返回值 在前后端分离大行其道的今天,有一个统一的返回值格式不仅能使我们的接口看起来更漂亮,而且还可以使前端可以统一处理很多东西,避免很多问题的产生。 比较通用的返回值格式如下:...

晓月寒丶
昨天
60
0
区块链应用到供应链上的好处和实际案例

区块链可以解决供应链中的很多问题,例如记录以及追踪产品。那么使用区块链应用到各产品供应链上到底有什么好处?猎头悬赏平台解优人才网小编给大家做个简单的分享: 使用区块链的最突出的优...

猎头悬赏平台
昨天
28
0
全世界到底有多少软件开发人员?

埃文斯数据公司(Evans Data Corporation) 2019 最新的统计数据(原文)显示,2018 年全球共有 2300 万软件开发人员,预计到 2019 年底这个数字将达到 2640万,到 2023 年达到 2770万。 而来自...

红薯
昨天
65
0
Go 语言基础—— 通道(channel)

通过通信来共享内存(Java是通过共享内存来通信的) 定义 func service() string {time.Sleep(time.Millisecond * 50)return "Done"}func AsyncService() chan string {retCh := mak......

刘一草
昨天
58
0
Apache Flink 零基础入门(一):基础概念解析

Apache Flink 的定义、架构及原理 Apache Flink 是一个分布式大数据处理引擎,可对有限数据流和无限数据流进行有状态或无状态的计算,能够部署在各种集群环境,对各种规模大小的数据进行快速...

Vincent-Duan
昨天
60
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部