当前位置: 首页 > article >正文

arping交叉编译

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

1.交叉编译libpcap

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

git clone https://github.com/the-tcpdump-group/libpcap.git

source交叉编译环境


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

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

编译:

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

解压并编译:

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上克隆:

git clone https://github.com/ThomasHabets/arping.git

编译:

#注意点:路径使用绝对路径
#编译如果出现函数重定义,注释掉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目录下生成可执行文件


http://www.kler.cn/a/228674.html

相关文章:

  • 【C++】类和对象(2)
  • DL/T1578-2021电力线路多旋翼无人机巡检系
  • [Python] 什么是逻辑回归模型?使用scikit-learn中的LogisticRegression来解决乳腺癌数据集上的二分类问题
  • 典型数据结构的模板实现
  • Python调用pyspark报错整理
  • Class 类
  • SpringBoot实战项目第一天
  • 为什么选择AGPL3.0开源协议
  • ROS从入门到精通4-1:Docker安装与常用命令总结
  • Windows自动化实现:系统通知和任务栏图标自定义
  • jmeter-04创建请求
  • 类银河恶魔城学习记录1-5 CollisionCheck源代码 P32
  • 2024 高级前端面试题之 性能优化模块 「精选篇」
  • 华为机考入门python3--(8)牛客8-合并表记录
  • RedHat8.4安装邮件服务器
  • Redis核心技术与实战【学习笔记】 - 17.Redis 缓存异常:缓存雪崩、击穿、穿透
  • BUG:docker启动之后直接退出问题
  • C++面试:数据库的连接池管理
  • docker-compose部署laravel项目实战(主机nginx连接项目容器)(详细配置过程)
  • SpringBoot 集成 WebSocket,实现后台向前端推送信息