交叉编译tcpdump

交叉编译tcpdump

1、简介tcpdump

针对网络抓包工具,大家肯定都听说过Wireshark,Wireshark支持Windows平台和Unix平台,功能当然也非常强大。但是在我们开发的一些嵌入式设备中,对图形界面的支持较弱,所以在Linux下的话,还是用tcpdump,tcpdump是采用命令行方式对网络接口数据包进行筛选抓取,可以生成抓包文件,用wireshark打开进行查看。

tcpdump官方网站最新版本下载地址,我下载的是tcpdump-4.9.2.tar.gz 和 libpcap-1.8.1.tar.gz。大家可以直接在这里下载:

tcpdump资料

2、交叉编译tcpdump

首先添加交叉编译的环境变量:

export PATH=/opt/linaro-14.04/gcc-linaro-arm-linux-gnueabihf-4.8/bin/:$PATH
export CC=arm-linux-gnueabihf-gcc

tcpdump以来libpcap库,先交叉编译libpcap:

tar zxvf libpcap-1.8.1.tar.gz
cd libpcap-1.8.1/
./configure --prefix=$PWD/install --host=arm-linux-gnueabihf --with-pcap=linux
make
make install

交叉编译tcpdump:

tar zxvf tcpdump-4.9.2.tar.gz
cd tcpdump-4.9.2/
./configure --host=arm-linux-gnueabihf
make

然后在当前目录下看到编译出来的tcpdump,单文件,只有3.2M大小,直接拿到对应嵌入式平台上使用就可以了,不依赖其他库。

3、使用tcpdump

如何使用tcpdump?请仔细阅读[Manpage of TCPDUMP.html]。
然后抓包文件,可以拿出来放到Window上用Wireshark打开,进行详细分析。

猜你喜欢

转载自blog.csdn.net/onlyshi/article/details/81081707