TCPDump for Android
抓包要有效率
前段时间一直在做一款社交类答题的App。深有体会的是,不管是前期研究竞品,还是后期和服务端联调,抓包调试都是必不可缺少的环节,而且抓包的效率深深的影响着开发的效率。
由于REST API 的盛行,已经有大量现成的工具可以方便的进行抓包,比如大名鼎鼎的Fiddler, 以及免费且跨平台的Rythem。应用开发者只需要简单的设置代理,抓包信息即可尽收眼底。而非REST API的抓包则相对来说就麻烦了许多,每抓一次包既要碰电脑敲命令,又要弄手机进行测试操作,很是忧桑。因此,为了提升效率,本猿就想到基于tcpdump 重新定制一个工具。想要的效果也不复杂,一个全局的悬浮窗,给出抓包控制按钮即可。这样调试起来,就不用来回切换那么麻烦了。
编译tcpdump
首先的工作当然是编译一个可用的tcpdump。虽然Android NDK 提供了方便的交叉编译工具,但是编译过程还是有不少的坑。比如android 不支持setprotoent
以及endprotoent
等。详细的编译过程,这里就不做讨论了。这里提供一个arm 版本的tcpdump for android 下载。(基于tcpdump-4.6.2.tar.gz,libpcap-1.6.2.tar.gz)
开发工具
整个工具只有一个界面,一个全局窗口。代码在放在Github 上,当然你也可以直接从Google play下载、使用。噢,前两天看到一个妹纸发了一张图和抓包相关,而且还不错,这里也mark 一下。