使用交叉编译工具编译tcpdump

1. 下载安装包
官方网站:http://www.tcpdump.org/
需要下载libpcap包和tcpdump包
使用交叉编译工具编译tcpdump_第1张图片

2.配置环境
2.1 将下载的两个安装包解压到同一个目录下,例如:~/tools/tcpdump/packages

tar -xzvf ./libpcap-1.10.1.tar.gz
tar -xzvf ./tcpdump-4.99.1.tar.gz

2.2 添加交叉编译工具链路径到环境变量
例如我的交叉编译工具链的路径是:
/home/scottcai/workspace/B02_SOC_Linux_SRC/ambalink_sdk_4_14/output.oem/ambalink/host/bin/aarch64-linux-gnu-gcc
那么执行:

 export PATH=/home/scottcai/workspace/B02_SOC_Linux_SRC/ambalink_sdk_4_14/output.oem/ambalink/host/bin/:$PATH

3.编译libpcap

 cd libpcap-1.10.1/
 ./configure --prefix=~/tools/tcpdump/targets --host=arm-linux --target=arm-linux CC=aarch64-linux-gnu-gcc --with-pcap=linux
 make
 mak install

编译成功后会在~/tools/tcpdump/targets目录下生成三个个文件夹bin, include和lib里面包含了libpcap的头文件, 库及配置信息
4.编译tcpdump

cd tcpdump-4.99.1/
./configure --prefix=~/tools/tcpdump/targets --host=arm-linux --target=arm-linux CC=aarch64-linux-gnu-gcc ac_cv_linux_vers=2
make
make install

编译完成后会在~/tools/tcpdump/targets/bin/目录下找到独立的可执行文件tcpdump,上传到板子上运行即可

5.tcpdump命令
tcpdump -D: 显示所有支持截取的设备
tcpdump -i eth0 -w capture.pcap: 截取eth0接口的数据并保存至capture.pcap(可用wireshark查看)
tcpdump -i any –w capture.pcap: 截取所有接口的数据并保存至capture.pcap

你可能感兴趣的:(tools,tcpdump,linux)