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 文件是提供的配置文件的例子。

honeyd 用于压力测试-配置和运行_第1张图片

      1,第一行是虚拟的网络中作为路由器的ip这个ip必须和当前主机是同意网段的。设置了路由器,就可以在这个路由器下面设置子网络了

      2. 将路由器10.0.0.1设置到子网10.2.0.*中。

      3. 向路由器10.0.0.1下添加一个子网 10.3.*.* 子网路由器设置为10.3.0.1

      4.将子网10.3.0.* 连接到路由器10.3.0.1

      5.在10.3.0.1路由器下面在新建一个子网10.3.1.*

      6.将子网连上路由器。

 这样一个虚拟的网络环境就设置好了。

    接下来可以为每个主机设置不同的状态和特性。还有这样设置好了之后所有ip都是存活的。

    create template (这个是模版名)用来创建主机的模版。创建好了之后可以设置每个端口的开放状态。运行的服务,还可以把端口映射到其他端口上,或者直接设置主机的personality,来生成相应的模版。

    其中default是默认的。

   设置好了之后使用bind来绑定模板到特定主机。

  

接下来就可以运行honeyd来虚拟网络了。

sudo honeyd -d -l log.txt -f config.sample-s service.log -i eth0 --fix-webserver-permissions
honeyd 用于压力测试-配置和运行_第2张图片

所有连接情况都会显示到屏幕上,这样就可以检测网络环境了。我运行的时候发现周围好多win2000的机器都在扫描网络的443端口,应该是有蠕虫病毒了(推测)。

接下来就可以运行端口扫描器进行压力测试了。


honeyd 用于压力测试-配置和运行_第3张图片

其中10.16.60.40 就是端口扫描器。

honeyd是一款很好用的工具,大家可以试试,可以用来发现网络中其他主机之间的通信,因为虚拟的ip可以覆盖真实设备的ip,这样会接收到真实主机的访问请求。你就可以知道其他人都在干什么了。

你可能感兴趣的:(honeyd,蜜罐)