Skip to content

Instantly share code, notes, and snippets.

@martinrehfeld
Created March 11, 2014 14:33
Show Gist options
  • Save martinrehfeld/9486970 to your computer and use it in GitHub Desktop.
Save martinrehfeld/9486970 to your computer and use it in GitHub Desktop.
Local syslog receiver
#!/usr/bin/perl
#
# UDP Listen ...
#
use IO::Socket::INET;
use strict;
my ($sock);
my $data;
$sock=IO::Socket::INET->new(Proto => 'udp', LocalPort => 514) or die "Can't bind: $@\n";
print scalar localtime().": Awaiting data...\n";
while($sock->recv($data, 1024)) {
my ($port, $ipaddr) = sockaddr_in($sock->peername);
my ($peerhost)=gethostbyaddr($ipaddr, AF_INET);
my ($peerip) = inet_ntoa($ipaddr);
# print scalar localtime().": Rcvd $data from $peerhost $peerip\\n";
print "$peerip: $data\n";
}
print "Done\n";
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment