arping交叉编译

arping命令依赖libpcap和libnet,需要先交叉编译这两个库。

1.交叉编译libpcap

下载libpcap源文件,从github上克隆:

bash 复制代码
git clone https://github.com/the-tcpdump-group/libpcap.git

source交叉编译环境

bash 复制代码
# environment-setup是本机的交叉编译环境, 里面指定了CC CXX等,这里需要改成你自己的
source environment-setup

environment-setup里面的内容大概长这个样子:

编译:

bash 复制代码
cd libpcap
./autogen.sh
./configure --prefix=`pwd`/build --host=arm-poky-linux-gnueabi
make install -j8

生成的库在build目录下面。

2. 交叉编译libnet

下载libnet源文件,这里使用的版本是1.1.5:https://github.com/libnet/libnet/archive/refs/tags/v1.1.5.tar.gz

解压并编译:

bash 复制代码
tar -xf libnet-1.1.5.tar.gz
cd libnet1.1.5/libnet
mkdir -p /sw/share/aclocal 
mkdir m4
./autogen.sh
./configure --prefix=`pwd`/build --host=arm-poky-linux-gnueabi
make install -j8  #可能会报错,但是库文件能编译出来

3.交叉编译arping

下载源文件,从github上克隆:

bash 复制代码
git clone https://github.com/ThomasHabets/arping.git

编译:

bash 复制代码
#注意点:路径使用绝对路径
#编译如果出现函数重定义,注释掉mock_libnet.c和mock_libpcap.c里的内容
# /home/xxx/workspace/arping_cmd需要换成自己的路径

./configure --prefix=`pwd`/build --host=arm-poky-linux-gnueabi LDFLAGS='-L /home/xxx/workspace/arping_cmd/libnet-1.1.5/libnet/build/lib -L  /home/xxx/workspace/arping_cmd/libpcap/build/lib'  CPPFLAGS='-I  /home/xxx/workspace/arping_cmd/libnet-1.1.5/libnet/build/include/ -I /home/xxx/workspace/arping_cmd/libpcap/build/include'

make -j8
make install

编译完成会在build目录下生成可执行文件
相关推荐
初级代码游戏21 天前
NGINX 交叉编译 arm32
运维·nginx·交叉编译·arm32
七月的和弦2 个月前
交叉编译Python3.8
开发语言·python·交叉编译
初级代码游戏3 个月前
国密起步5:GmSSL3交叉编译arm64
arm·国密·交叉编译·gmssl·aarch64
Hali_Botebie3 个月前
nvidia jetson 系列开发板交叉编译方法,CUDA依赖程序
交叉编译
夜星辰20233 个月前
排查MAC地址是否冲突——arping工具详解
arping
zy0101013 个月前
Rust交叉编译
macos·rust·glibc·交叉编译·zig
flying_music3 个月前
openssl交叉编译
经验分享·交叉编译
mct1234 个月前
海思arm-hisiv400-linux-gcc 交叉编译rsyslog 记录心得
linux·arm开发·交叉编译
橘色的喵5 个月前
探索PcapPlusPlus开源库:网络数据包处理与性能优化
网络·性能优化·libpcap·pcap·网络捕获·winpcap·pcapplusplus
龙门吹雪5 个月前
windows系统中开发的GO程序生成docker镜像并部署到阿里云服务(linux系统)的操作说明
阿里云·docker·golang·交叉编译·dockerfile·构建docker镜像