在完成移动互联网安全第二次实验中,遇到了很多之前没有见过的问题,特此记录

实验环境

  • 路由器型号:Xiaomi R3G(mt7621)
  • Openwrt: 基于L大源码(R22.3.13)
  • 内核版本:5.4.175
  • Kali:21.04

准备工作

下载SDK环境

由于实验所用的auditord为源码,因此需要自行编译生成对应ipk包,再进行安装

SDK环境:是一个仿照真实Openwrt的完整编译环境

加入环境变量

在编译过程中我们需要使用交叉编译环境,才能在Kali中编译出可在Openwrt中运行的程序

vim $HOME/.bashrc
# 将SDK中staging_dir/toolchain/bin添加进环境变量中
# 保存环境变量并使其生效
source $HOME/.bashrc
# 确定环境变量生效
echo $PATH
mispel-openwrt-linux-gcc -v #有正常输出即为生效

安装libubox和libuci库

在auditord中用到了libubox和libuci库,需要进行安装

# 声明所用的交叉编译器环境,保证可兼容
export CC=mispel-openwrt-linux-gcc

libubox库依赖json-c库,所以需要先安装:

$ git clone https://github.com/json-c/json-c.git
$ cd json-c/
$ ./autogen.sh
$ make
$ make install

安装libubox:

$ git clone http://git.openwrt.org/project/libubox.git
$ cd libubox
$ cmake -DBUILD_LUA=off
$ cmake CMakeLists.txt
$ make
$ make install
# /libubox/libubox.so

安装libuci:

git clone https://git.openwrt.org/project/uci.git uci
cd uci
cmake -DBUILD_LUA=off
cmake CMakeLists.txt
make
# /uci/libuci.so

将生成的libubox.so libubox.a和libuci.so libuci.a拷贝到toolchain/lib中备用
**注意:**一定要保证库所用的编译器与路由器的编译器相同,可以用file xxx.so 查看该库的编译环境

编译auditord

将auditord文件夹复制到sdk/package中,返回sdk路径下。

make package/auditord/compile V=99

进行编译,编译结果auditord.ipk在sdk/bin/packages/misple/base

安装auditord

将ipk包发送到路由器中

scp auditord.ipk root@192.168.1.1:/tmp# ssh路由器
cd /tmp
# auditord基于audit,因此需要先安装audit
opkg install audit
opkg install auditord.ipk

参考链接

  • OpenWrt上UCI库的环境搭建
  • OpenWrt编译系统(3)之深入探究库依赖错误:Package XXX is missing dependencies for the following libraries

基于mt7621架构路由器编译auditord(生成ipk包)相关推荐

  1. 基于GUI的mcc编译和dll生成

    基于GUI的mcc编译和dll生成 1.mcc的编译 1.1 MCRInstaller编译器的安装 找到Matlab下的MCRInstaller,双击MCRInstaller编译器,运行安装. 1.2 ...

  2. 基于SSH架构的在线答疑系统

    摘要 答疑是教学一个重要环节,在传统的教学模式下,答疑通常是通过老师和学生面对面进行交流,此模式使得答疑在实际教学难以执行.而网络教学模式就打破了传统模式在时间和空间上的限制,同学们可以自主安排时间和 ...

  3. 使用Compose实现基于MVI架构、retrofit2、支持 glance 小部件的TODO应用

    前言 现在声明式 UI 已逐渐成为主流,在客户端上,已有成熟的 Flutter 和 SwiftUi ,而原生安卓上的声明式 UI 却在去年年底才姗姗来迟. 虽然 compose 姗姗来迟,但是关于它的 ...

  4. 基于CS架构的鸿蒙应用|图片风格样式迁移程序

    转自https://www.ailovejinx.top:5800/index.php/archives/7/ 本项目基于CS架构,利用Java语言,在鸿蒙开发工具DevEco Studio中开发了一 ...

  5. 基于openEuler的OpenSSL编译安装和编程基础

    文章目录 基于openEuler的OpenSSL编译安装和编程基础 OpenSSL编译安装 OpenSSL命令的使用 OpenSSL编程 简单测试 BASE64算法 作业 参考资料 基于openEul ...

  6. 微软发布史上最大NLG模型:基于Transformer架构,170亿参数加持

    2020-02-11 18:50 导语:史上最大! 近年来,BERT.GPT-2等深度学习语言模型,极大地提高了问答.摘要.人机对话等下游自然语言处理任务的性能. 而今天,微软研究院重磅发布了有史以来 ...

  7. 微软分享史上最大基于Transformer架构的语言生成模型

    导语:英伟达的"威震天"现在只能屈居第二了. 微软AI&Research今天分享了有史以来最大的基于Transformer架构的语言生成模型Turing NLG(下文简称为 ...

  8. 基于ubuntu16.04多用户编译android N(android 7.1)系统提示ninja_wrapper错误问题

    基于ubuntu16.04多用户编译android N(android 7.1)系统提示ninja_wrapper错误问题 Ubuntu 1604系统除了root,还有kandi和sundi两个用户, ...

  9. java bs架构书_基于BS架构的图书借阅管理模块的分析与设计(JSP+MySQL)(新品)

    基于BS架构的图书借阅管理模块的分析与设计(JSP+MySQL)(新品) 来源:2BYSJ.cn 资料编号:2SJ295500 资料等级:★★★★★ %D7%CA%C1%CF%B1%E0%BA%C5% ...

  10. 基于 Roslyn 实现动态编译

    基于 Roslyn 实现动态编译 Intro 之前做的一个数据库小工具可以支持根据 Model 代码文件生成创建表的 sql 语句,原来是基于 CodeDom 实现的,最近改成使用基于 Roslyn ...

最新文章

  1. MPB:湖南农大尹杰组-猪粪便来源乳酸菌分离技术
  2. 算法-判断是否是完全二叉树
  3. 使用星际译王查词(安装字典和声音引擎)
  4. 为什么虚拟机的linux系统IP是10.0.2.15
  5. 机器学习集群_机器学习中的多合一集群技术在无监督学习中应该了解
  6. 深入理解java虚拟机JVM(上)
  7. HTTP协议&SOCKET协议
  8. Prompt learning入门
  9. 传统消费将被销巴生活全返消费颠覆
  10. 简单记录双系统安装Ububtu22.04
  11. 无法打开Win10计算机管理,win10系统我的电脑管理打不开怎么办
  12. Linux预处理功能,ZABBIX4.2预处理新功能---数据节流THROTTLING
  13. 能跟CAD、BIM软件联合使用的地图神器,比奥维谷歌地图还方便!
  14. 新华三面试总结(一)
  15. vue + sentry监控平台
  16. PID控制的理解与参数整定
  17. 服务器维护配件,服务器维修,服务器升级,服务器配件,磁盘柜维修及维护
  18. 第5章【思考与练习2】将数据集划分为训练集与测试集,查看决策树分类器的性能。 将例5-3中的分类器保存到文件中,然后重新加载预测给出的新数据。
  19. 理想的清理软件——CCleaner
  20. Vundle ,Vim Bundle

热门文章

  1. 互融云小额贷款系统开发:全流程管理的软件开发解决方案
  2. AHCI和IDE的区别,如何在AHCI模式下安装系统
  3. 【解决方案】完全修改Windows用户名
  4. FCM算法理论及其Python实现
  5. MOSFET与三极管
  6. 使用SHFileOperation复制网络(局域网)共享文件夹及子文件
  7. 【计算机网络】常用网络命令
  8. 主板检测卡c5_主板测试卡代码及解决方法
  9. 思科路由器配置命令大全
  10. 变色龙引导r2795