Skip to content
Snippets Groups Projects
example-receiver.pl.txt 2.22 KiB
Newer Older
Tomáš Plesník's avatar
Tomáš Plesník committed
#!/usr/bin/perl -w
#
Tomáš Plesník's avatar
Tomáš Plesník committed
# Copyright (C) 2011-2012 Cesnet z.s.p.o
Tomáš Plesník's avatar
Tomáš Plesník committed
#
# Use of this source is governed by a BSD-style license, see LICENSE file.  
Tomáš Plesník's avatar
Tomáš Plesník committed

use strict;

#------------------------------------------------------------------------------
# Warden 2.1 Client, Receiver, Example
Tomáš Plesník's avatar
Tomáš Plesník committed
#
# Simple use of warden-client receiver functionality to download new events
# from # Warden server. This code illustrates how to integrate warden-client
# receive functionality into local applications.
#------------------------------------------------------------------------------

#------------------------------------------------------------------------------
# This code should developer add into his/her application.

# Path to warden-client directory
my $warden_path = '/opt/warden-client/';
Tomáš Plesník's avatar
Tomáš Plesník committed

# Inclusion of warden-client receiving functionality
require $warden_path . '/lib/WardenClientReceive.pm';

# Definition of requested event type. This attributes is also set on server
# and must not change.
my $requested_type = "portscan";
Tomáš Plesník's avatar
Tomáš Plesník committed

#------------------------------------------------------------------------------
# Simple code that prints out new events obtained from Warden server.

print "+------------------------------------------------------------------------------------------------------------------------------------------+\n";
print "| id | hostname | service | detected | type | source_type | source | target_proto | target_port | attack_scale | note | priority | timeout |\n";
print "+------------------------------------------------------------------------------------------------------------------------------------------+\n";

# Download of new evetns from Warden server
while (my @new_events = WardenClientReceive::getNewEvents($warden_path, $requested_type)) {
  foreach my $event_ref (@new_events) {
    my @event = @$event_ref;
    print "| " . join(' | ', @event) . " |" . "\n";
  }
print "+------------------------------------------------------------------------------------------------------------------------------------------+\n";
Tomáš Plesník's avatar
Tomáš Plesník committed
}
Tomáš Plesník's avatar
Tomáš Plesník committed
print "+------------------------------------------------------------------------------------------------------------------------------------------+";
print "\n";
print "Last events in: " . scalar(localtime(time)) . "\n";

exit 0;