honeyd 用于压力测试-配置和运行
honeyd的真实用途是一个蜜罐系统,在tcp/ip层虚拟了主机的行为。用于发现网络环境中的网络扫描和探测行为,捕获扫描人的信息。这里我用到了扫描器的测试上面 首先说说我自己用到的地方,我有这么一个端口扫描器,完成之后一直没有做过许多主机一起扫描的情况。实现的原理是一个任务进程里面扫描所有目标主机。每个主机的扫描都启动一个新的子进程,为了进程之间传递小部分消息。用socketpair建立了管道。问题就出现在这个管道上,每个目标主机对应的子进程在端口扫描结束后就退出了,随带也关闭了这个管道。但是在主进程里面我就没有及时关闭,而是等到程序退出再一起关闭(事实上,程序退出,就算不关闭,也不在了)。这里的问题是没有考虑到一个任务扫描2000个目标机的使用场景。由于linux对单个进程打开的文件句柄数目是有限制的,所以就发生了" too many files opened"的错误提示,无法继续扫描。 解决与发现这个问题都多亏了honeyd的运行,虚拟了2000个假的ip。 下面介绍一下,honeyd的配置与运行。 安装完成之后(http://my.oschina.net/u/929415/blog/182599)。 安装完成后会在/usr/local/share/honeyd相应目录生成配置文件。 config.sample 文件是提供的配置文件的例子。 1