In: NetPacket/ICMP.pm, (line 135) "sub strip" incorrectly calls the data field it seems.
I think it should be: "$icmp_obj->{data};" instead of "$icmp_obj->data;"
Currently, it's looking for the 'data' function.
An example of this error would be in:
##########################################
use Net::PcapUtils;
use NetPacket::ICMP;
Net::PcapUtils::loop(\&sniffit,
Promisc => 1,
FILTER => 'icmp',
DEV => 'bnx0');
sub sniffit
{
my ($args,$header,$packet) = @_;
$icmp_data = NetPacket::ICMP::strip($packet);
print $icmp_data;
}
##########################################
Would produce:
Can't locate object method "data" via package "NetPacket::ICMP" at ./b.pl line 31.
You can see from the 'decode' function that it returns $self->{data}.
-Ventz