tcpdump工具交叉编译
本文默认系统已经安装了交叉工具链环境。
下载相关版本源码
涉及tcpdump源码,以及tcpdump编译过程依赖的pcap库源码。
网站:http://www.tcpdump.org/release
wget http://www.tcpdump.org/release/libpcap-1.8.1.tar.gz
wget http://www.tcpdump.org/release/tcpdump-4.9.1.tar.gz
libpcap编译
tar -xzf libpcap-1.8.1.tar.gzcd libpcap-1.8.1mkdir buildcd build
export CC=[交叉工具链]../configure --host=arm-linux --with-pcap=linux
cmake ..
make
编译完成在build下生成libpcap.so。后面编译tcpdump需要用到这个so和libpcap-1.8.1下的头文件。
tcpdump编译
tar -xzf tcpdump-4.9.1.tar.gz
cd tcpdump-4.9.1
mkdir build
cd build
export CC=[交叉工具链]../configure --host=aarch64-linux-gnu CFLAGS="-L/home/libpcap-1.8.1/build -I/home/libpcap-1.8.1"make
注意:–host指定运行平台为arm64平台(或者 --host=arm-linux);以及cflags添加需要的依赖库路径(libpcap)和头文件。
编译可能会报%lx检查错误:
跟工具链的类型定义有关系,可以跳过检查,修改configure文件,重新编译。
编译完成,会生成tcpdump文件。
将如上libpcap.so和tcpdump文件拷贝到运行环境下即可。