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

Ubuntu 24.04部署安装Honeyd蜜罐

🌴 前言

最近有个大作业,里面要求我们部署Hoenyd蜜罐,在网上搜了一通,发现相关的教程竟然少的可怜,即使有比较详细的教程,也是好几年前的了,跟着做一遍报一堆错,无奈之下,自己研究了好几天,于是有了这篇教程。

🍁 本地上传依赖文件

scp -r ~/Downloads/honeyd/ root@服务器IP:~/honeyd # 一键上传文件

在这里插入图片描述

⚠️:注意请将文件路径替换成你本地的文件路径,以及将服务器IP替换成你服务器的具体IP
以上命令是使用scp将本地下载好的依赖文件上传到服务器,依赖文件主要有:

libevent:非同步事件通知的函数库
libdnet:提供跨平台的网络相关的API函数库
libpcap:一个数据包捕获函数库,大多数网络软件都以它为基础
zlib: 开源的、高效的数据压缩库(呃,这个可能不需要,看参考帖中有这个库,因此加上)
Honeyd: honeyd源代码,注意这是从github上下载的开发者版本,而不是官网上的honeyd-1.5c

依赖文件已上传到百度网盘,网盘链接:依赖文件
在这里插入图片描述

🌱 服务器部署Honeyd

🎉 部署前准备

连接服务器,建议用本地终端ssh远程连接。
第一步当然是先更新软件源:sudo apt update

在这里插入图片描述
然后安装依赖,这里将所有依赖写入一条指令中了,可以方便一键安装依赖:

sudo apt install automake libtool g++ gcc flex bison libedit-dev unzip libssl-dev  -y # 一键安装依赖

在这里插入图片描述
第三步,将刚才上传的依赖文件解压缩,进入~/honeyd目录,依次将压缩文件解压缩,以下是不同压缩格式文件的解压命令:

tar -zxvf 文件名.tar.gz
tar -Jxvf 文件名.tar.xz
unzip -o -d ./ 文件名.zip

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

🎉 编译安装依赖文件

除了Honeyd-master外,其他四个库的编译安装只需要执行三部曲,即进入编译文件目录,执行 ./configuresudo makemake install,如下:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


OK,到以上应该都没有问题,下面开始编译安装honeyd。

首先,需要先执行./autogen.sh,以生成configure文件。
在这里插入图片描述

执行./configure,报错如下:
在这里插入图片描述
这是因为虽然我们刚才手动编译安装了libevent,但是编译器找不到它,需要我们在手动指定libevent的编译路径,如下:

 ./configure   --with-libevent=/usr/local/lib   CPPFLAGS="-I/usr/local/include"   LDFLAGS="-L/usr/local/lib"

执行完上述命令后,出现新的报错,如下:
在这里插入图片描述
尝试手动将/usr/local/include下的event.h复制到/usr/local/lib下,指令如下:

 cp /usr/local/include/event.h /usr/local/lib

重新执行刚才的configure指令,问题解决。


执行make,报错如下:
在这里插入图片描述
意思是出现“变量重复定义”问题,仔细阅读编译信息之后,尝试过在第一次声明这些变量的头文件中加上条件编译,并在变量名前面加上extern声明,如下:

#ifndef HONEYD_H
#define HONEYD_H
extern struct event_base *libevent_base;
#endif

然而并没有什么用处。

在网上找了一下这个报错问题的解决,找到一篇帖子,照着做了依旧没有什么用,就当我准备放弃的时候,我习惯性的翻了翻评论区,点击“被折叠评论”,看到这样一条评论:
在这里插入图片描述
照着做了,果然不再报错了,虽然这个方法可能不是那么规范,但是确是最省事、目前我找到唯一有用的解决方法,姑且照做吧,“自古评论区出人才”诚不欺我!

要修改的头文件如下:
在这里插入图片描述
修改的地方请阅读刚才make编译链接时的报错信息,由于报错信息中有很多条都是关于同一个头文件的同一个变量在不同C源文件中的重复定义,因此可以对报错信息进行删减,我的方法是将报错信息复制到Vscode里面,删除涉及重复变量的报错,最后得到不含重复变量的报错信息:
在这里插入图片描述

在这里插入图片描述

可以看到,要修改honeyd.h的第59行,修改如下:
在这里插入图片描述
再比如修改stats.h,报错信息里说的是96行,但实际是加在第94,我相信聪明的广大程序员朋友应该不会这么死板吧。
在这里插入图片描述
照着上面的做法,将报错涉及到的所有头文件里面的重复定义变量前面加上static,完成以上步骤之后,执行make clean && make重新编译,此时编译应该不会再有问题。
在这里插入图片描述

执行make install,报错如下:
在这里插入图片描述
执行下面指令建立python3和python2的符号链接:

sudo ln -s /usr/bin/python3 /usr/bin/python

在这里插入图片描述
重新make install,报错如下:
在这里插入图片描述
这是因为Python 2允许0666(八进制)和666(十进制)两种写法,而Python 3严格要求八进制,必须用0o666表示。手动修改init.py,vim ./scripts/lib/init.py,修改如下:
在这里插入图片描述
重新make install,此时应不再报错。

执行honeyd验证,报错如下:
在这里插入图片描述
依次执行下面指令:

# 进入目录并创建链接
cd /usr/local/lib/ 
sudo ln -sf libdnet.1 libdnet.so.1 
sudo ln -sf libdnet.1.0.1 libdnet.so.1.0.1# 刷新动态库缓存
sudo ldconfig

在这里插入图片描述

重新验证,成功。

在这里插入图片描述

🌿 总结

以上内容全是干货,几乎不带个人情感,下面请允许我抒发一下个人情感。这篇文章写下来也就40分钟不到,但是为了部署这个honeyd,我花了将近4天,从早到晚在解决这个问题,几乎就没干其他事情了。事实上,本来在第2天,我就阴差阳错地部署成功了,但当时思绪极其混乱,我看了好几篇帖子,问了好多AI,因此非常具有偶然性,我自己都不知道我是怎么部署成功的,没办法,强迫症犯了,怎么可以这么不明不白?!于是我重装了系统,重头开始重新部署,于是便是噩梦的开始,怎么都无法复现了!我当时真想抽自己几个耳光,但没办法,只能硬着头皮继续查资料,尝试了n种方法,重装了n遍系统,其背后之艰辛,只有我一个人知道。事实上,最后如果没有看到那位老哥的评论,可能还需要花更长的时间,这怎么不能说是一种幸运呢,有时候运气也是在学习过程中的一大乐趣,我深以为然。当今天下午成功复现了几次部署之后,我顿感神清气爽,走路都是飘的,天好蓝,草好绿!总的来说,虽然费了很多时间,做了好多无用功,但也收获了很多,首先就是网上关于这方面的教程少之又少,要么年代久远,要么不够详细,我也算是填补了这一“空白”,其次就是我对于编译项目有了更多的经验,知道如何去定位错误以及解决错误,最后是我明白了一个道理,那就是在学习过程中,于我而言,就是在学习计算机的过程中,要能坐得住冷板凳,要有耐心,像一个侦探一样细心关注每一个蛛丝马迹,最终解决一个看似不可能的问题。翻越一座座高山,在不断地历经艰辛后收获正反馈,也许这就是我学习计算机当中最大的乐趣!

相关文章:

  • 大学之大:浦项科技大学2025.5.25
  • 塔能科技:以多元技术赋能全行业能耗节能转型
  • STM32 输出比较输出PWM控制呼吸灯小实验(2种实现 铁头山羊与江协科技)
  • 掌阅iReader新形态墨水屏Tango发布:科技与美学共舞,开启灵动阅读新体验
  • HTTP请求全链路剖析:请求头、XHR与状态码的实战指南
  • 8.Java 8 日期时间处理:从 Date 的崩溃到 LocalDate 的优雅自救​
  • ADS学习笔记(二) 交流小信号仿真
  • 2025最新智能优化算法:野燕麦优化算法(Animated Oat Optimization Algorithm, AOO),MATLAB代码
  • HTTP协议版本的发展(HTTP/0.9、1.0、1.1、2、3)
  • 黑马点评-分布式锁Lua脚本
  • 进阶-自定义类型(结构体、位段、枚举、联合)
  • Lua基础语法
  • 在Windows平台基于VSCode准备GO的编译环境
  • Mustache 模板引擎详解_轻量、跨语言、逻辑无关的设计哲学
  • 一文讲透golang channel 的特点、原理及使用场景
  • 正则表达式:字符串模式匹配的利器
  • 历年华南理工大学保研上机真题
  • 什么是前端工程化?它有什么意义
  • 并发编程(6)
  • linux学习第15天(dup和dup2)
  • 做投资要关注哪些网站/品牌推广外包公司
  • 合肥高端网站建设公司/seo1搬到哪里去了
  • 网站建设行业努力都看不到效果/怎么注册网站
  • 网站规划与建设课程/seo的中文意思是什么
  • 东莞高端品牌网站建设/微信管理系统登录入口
  • 芜湖网站建设公司/深圳电子网络推广查询