Android平台上抓包

经常会有一些测试需求比如:测试手机上某个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的系统上使用。

Android平台上抓包,布布扣,bubuko.com

时间: 2024-10-25 03:49:29

Android平台上抓包的相关文章

如何在android平台上使用js直接调用Java方法[转]

转载自:http://www.cocos.com/docs/html5/v3/reflection/zh.html #如何在android平台上使用js直接调用Java方法 在cocos2d-js 3.0beta中加入了一个新特性,在android平台上我们可以通过反射直接在js中调用java的静态方法.它的使用方法很简单: var o = jsb.reflection.callStaticMethod(className, methodName, methodSignature, parame

fiddler Android下https抓包全攻略

fiddler Android下https抓包全攻略 fiddler的http.https的抓包功能非常强大,可非常便捷得对包进行断点跟踪和回放,但是普通的配置对于像招商银行.支付宝.陌陌这样的APP是抓不到包的,需要一些特殊的配置,本文把fiddler Android下https抓包的详细配置都罗列出来,供大家参考. 一.普通https抓包设置 先对Fiddler进行设置: 勾选“CaptureHTTPS CONNECTs”,接着勾选“Decrypt HTTPS traffic”.同时,由于我

【cocos2d-js官方文档】二十四、如何在android平台上使用js直接调用Java方法

在cocos2d-js 3.0beta中加入了一个新特性,在android平台上我们可以通过反射直接在js中调用java的静态方法.它的使用方法很简单: var o = jsb.reflection.callStaticMethod(className, methodName, methodSignature, parameters...) 在callStaticMethod方法中,我们通过传入Java的类名,方法名,方法签名,参数就可以直接调用Java的静态方法,并且可以获得Java方法的返回

Android平台上关于IM的实践总结

前言 IM通信在互联网发展到现在已经是码农的世界里人尽皆知的技术,特别在当下移动互联网迅猛发展的时代这种技术的开发也更加火热,其中老牌的代表作就有QQ和MSN,和最近新崛起的微信,默默,易信,来往等眼花缭乱的各种应用都把IM技术应用其中.我是Android开发人员,写这篇文章主要原因也是因为我自己从事开发以来主要做过的几款APP都是包含着IM通信,在不断的摸爬滚打的解决问题的过程中,积累了一些经验记录便将其记录到博客中作为自己一个阶段性的总结,也可以分享其他需要的开发者,作为一种参考实践的方案,

Freeline - Android平台上的秒级编译方案

FreeLine是什么? Freeline是蚂蚁金服旗下一站式理财平台蚂蚁聚宝团队15年10月在Android平台上的量身定做的一个基于动态替换的编译方案,5月阿里集团内部开源,稳定性方面:完善的基线对齐,进程级别异常隔离机制.性能方面:内部采用了类似Facebook的开源工具buck的多工程多任务并发思想:端口扫描,代码扫描,并发编译,并发dx,并发merge dex等策略,在多核机器上有明显加速效果,另外在class及dex,resources层面作了相应缓存策略,做到真正增量开发,另外引入

Android通过tcpdump抓包

1. 手机要有root权限 2. 下载tcpdump   http://www.strazzere.com/android/tcpdump 3.tcpdumptcpdump 4. adb shell chmod 6755 /data/local/tcpdump 5, adb shell,   su获得root权限 6, cd /data/local 7, ./tcpdump -i any -p -s 0 -w /sdcard/capture.pcap 命令参数: # "-i any":

cocos js js java互调 (如何在ANDROID平台上使用JS直接调用JAVA)

在cocos2d-js 3.0beta中加入了一个新特性,在android平台上我们可以通过反射直接在js中调用java的静态方法.它的使用方法很简单: var o = jsb.reflection.callStaticMethod(className, methodName, methodSignature, parameters...) 在callStaticMethod方法中,我们通过传入Java的类名,方法名,方法签名,参数就可以直接调用Java的静态方法,并且可以获得Java方法的返回

(转) Android平台上关于IM的实践总结

前言 IM通信在互联网发展到现在已经是码农的世界里人尽皆知的技术,特别在当下移动互联网迅猛发展的时代这种技术的开发也更加火热,其中老牌的代表作就有QQ和MSN,和最近新崛起的微信,默默,易信,来往等眼花缭乱的各种应用都把IM技术应用其中.我是Android开发人员,写这篇文章主要原因也是因为我自己从事开发以来主要做过的几款APP都是包含着IM通信,在不断的摸爬滚打的解决问题的过程中,积累了一些经验记录便将其记录到博客中作为自己一个阶段性的总结,也可以分享其他需要的开发者,作为一种参考实践的方案,

Android平台上最好的几款免费的代码编辑器

使用正确的开发工具能够快速有效地完成源代码的编写和测试,使编程事半功倍.在网络信息高速发展的今天,移动设备的方便快捷已经深入人心,越来越多的程序员会选择在任何感觉舒适的地方使用移动设备查看或者编辑源代码.于是,Android平台上大量基于代码编程的应运而生,谷歌应用商店里的代码编辑器.编译器和开发环境比比皆是.由于不同的工具特性和缺点不尽相同,因此如何选择一款最适合自己的开发工具便成了一件头疼的事情.在这里,我们列出了Android平台上5款最好的代码编辑器来帮助你作出选择. 1. Quoda