移植tcpdump到ARM嵌入式系统

移植tcpdump到嵌入式系统

tcpdump和libpcap的下载链接:Home | TCPDUMP & LIBPCAP

百度网盘下载链接:https://pan.baidu.com/s/1dkc9FVo5h6gFSxnboE_Jyg  密码: 2kjh

我们这里 使用libpcap-1.4.0tcpdump-4.4.0,为什么选择这两个版本,因为这两个版本跟嵌入式上使用的内核版本发行日期接近,如果安装的应用软件的发行日期跟内核的发行日期相差很远,可能会遇到意想不到的问题。

1.编译安装libpcap-1.4.0

这里下载libpcap-1.4.0,解压并进入libpcap-1.4.0目录,打开configure,将下面的代码注释掉,如下所示。

#if test -z "$with_pcap" && test "$cross_compiling" = yes; then
#	{ { echo "$as_me:$LINENO: error: pcap type not determined when cross-compiling; use --with-#pcap=..." >&5
#echo "$as_me: error: pcap type not determined when cross-compiling; use --with-pcap=..." >&2;}
#   { (exit 1); exit 1; }; }
#fi

运行./configure --host=arm-linux-gnueabihf,配置交叉编译器。注:此处嵌入式环境平台使用的时arm-none-linux-gnueabi交叉链,如果你使用的时其他的交叉编译链则改为自己的即可。

配置完成后,配置之后,会生成Makefile。打开Makefile发现CC=arm-linux-gnueabihf,说明交叉编译配置成功,然后修改prefix,如下图所示。

执行make命令进行编译,执行makeinstall命令进行安装。执行make install之后,可以看到在路径/home/tianbot/EtherCATMaster/libpcap-1.4.0/libpcap_make下,有如下图所示的文件生成。

2.编译安装tcpdump-4.4.0

进入tcpdump目录,修改configure,将下图所示的代码注释掉。

#if test $ac_cv_linux_vers = unknown ; then
#	as_fn_error $? "cannot determine linux version when cross-compiling" "$LINENO" 5
#fi

运行./configure --host=arm-linux-gnueabihf,配置交叉编译器。打开生成的Makefile,修改以下编译选项。

执行make命令进行编译,执行makeinstall命令进行安装。安装成功后,会在指定的安装目录下生成一些文件,如下图所示。

  1. 将tcpdump安装到嵌入式开发板

编译生成的可执行文件的目录,如下所示,将tcpdump通过FileZilla放到嵌入式开发板/bin目录下。

tianbot@ros2go:~/EtherCATMaster/tcpdump-4.4.0/tcpdump_make/sbin$ ls
tcpdump  tcpdump.4.4.0

完成安装

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值