I get bootp requests with this code.
Update I don't know if the additional parameters had anything to do with it. I thought restarting the network printer was sending the msgs but apparently that isn't the case. I just got lucky and caught a few boots.
FYI: This is perl, v5.8.0 built for MSWin32-x86-multi-thread
Binary build 806 provided by ActiveState Corp.http://www.ActiveState.com
Built 00:45:44 Mar 31 2003
Running on Windows 2000 Workstation.
@ISA = qw(IO::Socket);
$VERSION = "1.26";
Update2: Abigail-II your code works stright up on my machine. I just got to test it now.
use strict;
use warnings;
use IO::Socket::INET;
my $port = getservbyname 'bootps', 'udp';
my $socket = IO::Socket::INET -> new (LocalPort => $port,
Broadcast => 1,
Proto => 'udp',
ReuseAddr => 1,
Type => SOCK_DGRAM)
or die "Failed to bind to socket: $@";
my $mess;
$socket -> recv ($mess, 1024);
if (defined $mess) {
print "Saw a bootp request.\n$mess\n";
} else {
print "No bootp request.\n";
}