Honeyd Mailing List

Support Honeyd


Search Amazon


Re: Honeyd 0.6: Happy Summer/Pre-Birthday Release -- Plugins

From: Christian Kreibich <>
Date: 24 Jun 2003 15:33:23 +0100

On Tue, 2003-06-24 at 14:47, Niels Provos wrote:
> On Tue, Jun 24, 2003 at 03:29:52PM -0700, ravenlord wrote:
> > This is kinda cool, is there any documentation on this (other than
> > hooks.c and plugin.c).. I mean the only plugins that honeyd
> > currently have is Honeycomb, and it doesn't work out of the box with
> > honeyd0.6
> No, currently, there is not much documentation for the plugin
> framework. Christian has a new plugin that works with 0.6, but I am
> not sure if he has posted it anywhere.
> For now, you have to consult the source ;)

Yeah. However the new manpage does have some information. If you guys
have trouble getting the plugin to work, please get in touch as it
should not be hard. Make sure you look at the README.

Here's a quick overview of how the mechanism works: for portability
reasons, we decided to keep plugins static. That means that honeyd does
not dynamically pick them up via dlopen() at runtime, but rather needs
to be reconfigured (./configure --with-plugins=...) and recompiled when
you want to add new plugins. Plugins are just normal shared libraries
that honeyd links in upon that rebuild.

Plugins need honeyd's header files to properly register themselves, so
you need to have one initial installation of honeyd without any plugins,
just to get everything in the right location.

Each plugin library must provide a struct honeyd_plugin structure with a
name of plugin_<plugin name> (see honeycomb.c for an example) in which
the plugin defines an initialization hook and some plugin information
(author, version etc).

Honeyd has a list of these structures that gets defined at configuration
time (when you call ./configure --with-plugins=...). When it starts, it
then walks through that list to initialize the plugins.

There's a configuration system for the plugins that is integrated in
honeyd's normal configuration files, see the manpage for some
explanation, honeyd.cnf for an example, and look at plugins_config.[ch]
for the code.

Hope this clears it up a little. Now go write plugins! :)


Received on Tue Jun 24 2003 - 10:35:02 PDT
Search For Information
Search WWW Search

NB: This is a filtered version of the Honeypots mailing list. Only posts that concern Honeyd are shown here. For more recent discussions visit the forums.