
virtual honeypots
Honeyd 是一个小型守护进程,能够在网络上创建虚拟主机。这些主机可配置为运行任意服务,其 TCP 特征可被调整,使其看起来像是运行特定版本的操作系统。Honeyd 允许单台主机占用多个地址——我已测试过最多 65536 个——在局域网内用于网络仿真。
可以对虚拟机器执行 ping 或 traceroute 操作。根据简单的配置文件,可以模拟虚拟机上的任何类型的服务。除了模拟服务外,还可以将其代理到另一台机器。
Honeyd 依赖于几个库:
请确保已安装这些库。
在 Ubuntu 中安装依赖项:
$ sudo apt-get install libevent-dev libdumbnet-dev libpcap-dev libpcre3-dev libedit-dev bison flex libtool automake
在 ArchLinux 中安装依赖项:
$ pacman -S libdnet libpcap libevent pcre libedit bison flex libtool automake
要运行回归框架,需要安装 libdnet 的 Python 模块。为获得最佳效果,可能需要 Python 2.4。
构建 honeyd 时,请运行以下命令:
$ ./autogen.sh $ ./configure $ make $ sudo make install
如果编译因 Python 相关错误而停止,可以尝试将 configure 运行如下:
$ ./configure --without-python
如果在 Linux 上遇到编译警告,请向那些对条件头文件愚蠢行为负责的人投诉。
本发行版中包含文档。可通过以下命令访问手册页:
$ man honeyd
或者在源码目录中:
$ nroff -mdoc honeyd.8
更多信息请访问 http://www.honeyd.org/ 和 https://github.com/DataSoft/Honeyd
Honeyd 需要 root 权限才能执行。通常,使用类似于以下参数的参数运行它:
$ sudo ./honeyd -d -f config.sample 10.0.0.0/8
强烈建议在 chroot 环境中并在类似 systrace 的沙盒下运行 Honeyd。如果可能,Honeyd 在创建原始套接字后会放弃特权。这取决于您的配置文件。您可以通过 -u 和 -g 标志强制放弃特权来设置 Honeyd 的 uid 和 gid。
要经验性地验证操作系统扫描结果的质量,包含了一个名为 ostest 的 bash 脚本。但使用此脚本时有几点注意事项。通常,honeyd 会忽略来自同一台机器的数据包,以避免路由环路。(至少它声称如此)因此,扫描自身无法工作。
一个粗糙的解决方案是使用一个独立的硬件以太网接口,例如一个便宜的 USB 以太网适配器。这样您就有两个 eth 适配器,称之为 eth0 和 eth1。设置一条路由,使 ostest 使用的 IP 地址路由到 eth0。然后配置 honeyd 监听 eth1。
Honeyd 会看到来自 eth0 的数据包,并认为它是另一台机器,因此不会丢弃它们。
本程序是自由软件;您可以根据自由软件基金会发布的 GNU 通用公共许可证的条款重新分发和/或修改它;许可证版本 2 或(根据您的选择)任何更高版本。
本程序分发的目的是希望它有用,但不提供任何担保;甚至没有默示的适销性或特定用途的适用性担保。详情请参阅 GNU 通用公共许可证。
您应该已经收到了一份 GNU 通用公共许可证的副本;如果没有,请写信给 Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA。
本程序是自由软件;您可以根据自由软件基金会发布的 GNU 通用公共许可证的条款重新分发和/或修改它;许可证版本 2 或(根据您的选择)任何更高版本。
本程序分发的目的是希望它有用,但不提供任何担保;甚至没有默示的适销性或特定用途的适用性担保。详情请参阅 GNU 通用公共许可证。
您应该已经收到了一份 GNU 通用公共许可证的副本;如果没有,请写信给 Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA。
以下人员提供了建议、想法或代码:
Dug Song [email protected] Jamie Van Randwyk [email protected] Eric Thomas [email protected] Christopher Kolina Derek Cotton Yuqing Mai Lance Spitzner [email protected] Christian Kreibich [email protected] Bill Cheswick [email protected] Lauren Oudot [email protected] Jon Oberheide [email protected] David Clark [email protected] Dan Petro [email protected] David Scott [email protected] Addison Waldow [email protected] Rami Rashid [email protected]