Hey, i am getting this error while try to craft a TCP/IP frame by using modules like Net:Frame. The error is:
Can't call method "payload" on an undefined value at /opt/ActivePerl-5.10/site/lib/Net/Frame/Layer/IPv4.pm line 251.
My code
my $target = '172.28.89.120';
my $port = '22';
use Net::Frame::Device;
use Net::Write::Layer3;
use Net::Frame::Simple;
use Net::Frame::Dump::Online;
use Net::Frame::Layer::IPv4;
use Net::Frame::Layer::TCP;
my $oDevice = Net::Frame::Device->new(target => $target);
my $ip4 = Net::Frame::Layer::IPv4->new(
src => '172.28.89.120',
#src => $oDevice->ip,
dst => $target,
);
my $tcp = Net::Frame::Layer::TCP->new(
dst => $port,
options => "\x02\x04\x54\x0b",
payload => 'rrrr'
);
my $oWrite = Net::Write::Layer3->new(dst => $target);
my $oDump = Net::Frame::Dump::Online->new(dev => $oDevice->dev);
$oDump->start;
my $oSimple = Net::Frame::Simple->new(
layers => [ $ip4, $tcp ],
);
$i=0;
while ($i<10)
{
$oWrite->open;
$oSimple->send($oWrite);
$oWrite->close;
$i++;
}
until ($oDump->timeout) {
if (my $recv = $oSimple->recv($oDump)) {
print "RECV:\n".$recv->print."\n";
last;
}
}
$oDump->stop;
This was working perfectly earlier but all of a sudden it started giving error though i have not chnaged the code. Please help !!