一、编译libpcap

1.编译tcpdump前要首先编译安装libpcap,下载地址:http://www.tcpdump.org/,(tcpdump的源码也从该地址下载),压缩包下载好后先编译libpcap。

2.解压进入libpcap目录,执行:

./configure

make 

make install 

3.如果一切顺利,那么恭喜你,可以开始编译tcpdump了。如果在./configure时就报了如下图的错,也别慌,你可是个程序员啊,怎么能慌呢,看第4步。

Fedora下交叉编译libpcap和tcpdump

4.执行:yum install flex bison ,等待安装好后再继续操作。

Fedora下交叉编译libpcap和tcpdump

5.安装好后,继续./configure 。这里我指定了下安装路径,并且因为是交叉编译所以指定了下编译器类型,执行成功后会自动生成Makefile文件:

./configure --prefix=/home/sq/tcpdump/libpcap_install --host=arm-linux --target=arm-linux CC=arm-hisiv200-linux-gcc --with-pcap=linux

如果一切顺利,那么继续make & make install,libpcap就编译好了。如果很不辛,又报错了(如下图):那么继续往下看,没有程序员解决不了的问题。

Fedora下交叉编译libpcap和tcpdump

6.这一段提示我们yacc不足以编译libpcap,那就是可能没有安装呗,使用命令看一下:yacc --version。既然如此,那下载安装这个包,下载地址:http://ftp.gnu.org/gnu/bison/ 。可手动选择下载,也可直接使用wget命令下载。这里我使用wget下载:

Fedora下交叉编译libpcap和tcpdump

下载好后,解压,进入执行:./configrue -> make -> make install。此时再看一下版本:yacc --version 

Fedora下交叉编译libpcap和tcpdump

7.回到libpcap目录继续尝试编译它。执行第5步操作即可,如果./configure时又发现了类似下图的提示,先不管它继续安装,由于最后我并未发现这个错误提示对我们造成影响,所以没有深究原因。

Fedora下交叉编译libpcap和tcpdump

二、编译tcpdump

1.解压下载好的tcpdump源码压缩包,并进入尝试编译:

1)仍然指定安装目录,及编译器类型,以及支持的运行平台

./configure --prefix=/home/sq/tcpdump/libpcap_install --host=arm-linux --target=arm-linux CC=arm-hisiv200-linux-gcc

Fedora下交叉编译libpcap和tcpdump

这一步也有可能报类似的错误,但我们先不用管。

2)make

3)make install

2.至此会在./configrue时指定的目录下生成编译好的可执行文件tcpdump,并且亲测可用,因此最后没有去追究上图的错误提示原因。

 

分类:

技术点:

相关文章: