tcpdump的作用就不用多说了,顾名思义,tcpdump可以将网络中传送的数据包的“头”完全截获下来提供分析。它支持针对网络层、协议、主机、网络或端口的过滤,并提供and、or、not等逻辑语句来帮助你去掉无用的信息。
网上已经有很多相关的资料,不过多数都是交叉编译到arm-linux平台的,我这里对android平台做一些补充。
1、获取tcpdump源码包
首先到tcpdump的开源网站下载工具的源代码包,笔者此次下载了libpcap-1.0.0.tar.gz和tcpdump-4.0.0.tar.gz这两个版本。
2、NDK制作编译工具链
3、解压源码包至/home/work/tcpdump/libpcap-1.0.0,/home/work/tcpdump/tcpdump-4.0.0。
4、交叉编译采用类似的格式
./configure --prefix=/home/jgf/work/tool/arm-linux-androideabi --host=arm-linux-androideabi CC=arm-linux-androideabi-gcc
首先编译libpcap-1.0.0,如果直接运行上面的命令
checking build system type... i686-pc-linux-gnulibc1
checking host system type... Invalid configuration `arm-linux-androideabi': system `androideabi' not recognized
configure: error: /bin/bash ./config.sub arm-linux-androideabi failed
这是因为config.sub和config.