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