官网 Home | TCPDUMP & LIBPCAP 下载tcpdump和libpcap源码。
分别对两个压缩文件进行解压。首先编译libpcap,进入libpcap源码目录,切换为root用户,设置环境变量:
su
export PATH=/home/lwf/workplace3/FusionCube_dev/master-6110/platform/toolchain/petalinux_2018.3/gcc-arm-linux-gnueabi/bin/:$PATH
export CC=arm-linux-gnueabihf-gcc
./configure --prefix=$PWD/install --host=arm-linux-gnueabihf --with-pcap=linux
其中,/home/lwf/workplace3/FusionCube_dev/master-6110/platform/toolchain/petalinux_2018.3/gcc-arm-linux-gnueabi/bin 为交叉编译所用工具链所在目录的绝对路径。
编译:
make
make install
编译完成后,进入tcpdump源码目录。
tcpdump编译需要依赖libpcap,所以建立软链接:
ln -s ../libpcap-1.10.1/install libpcap
./configure --host=arm-linux-gnueabihf CFLAGS="-I./libpcap/include/ -L./libpcap/lib/
编译:
make
完成后可以看到生成tcpdump的可执行文件了。
将其拷贝到arm板子上,就可以运行了。比如可以执行指令:
./tcpdump tcp -i lo port 16879 -w ./1.cap
该指令表示抓取本机回环 tcp端口为16879的数据,将原始的信息包写1.cap文件中(该文件可以在windows下用wireshark打开分析)。
参考文章: