Hello mark200,
Welcome to the Monastery. From the module Net::RawIP documentation:
Please look at the examples in the examples/ folder of the distribution.
Follow the link examples
Hope this helps, BR.
Seeking for Perl wisdom...on the process of learning...not there...yet!
| [reply] [d/l] [select] |
Thanks, helped but the problem is that when i try send the ethernet packet using ethsend function it never sent.
I followed same as in examples but not helped. If you can give example of simply creating ethernet packet then send it, this will be helpful.
| [reply] |
Net::RawIP->new({
ARGPROTO => {PROTOKEY => PROTOVALUE,...}
ip => {IPKEY => IPVALUE,...},
});
the ip key should point to a hash of the header data. Probably NetPacket::IP will get you the data to assemble into the hash. I see the module promises to help you manipulate the header, but "manipulate" seems vague in the context of the module you refer to. Generally, NetPacket::TCP has what I would call a manipulation toolkit for your packets.
| [reply] [d/l] |
$n->send;
$n->ethnew("eth0");
$n->ethset(source => 'my.target.lan', dest =>'my.target.lan');
$n->ethsend;
the packet is first send then setting the ethernet header? how? can you explain me this? | [reply] [d/l] |
The documentation says:
ethset
is a method for set an ethernet parameters in the current object. The given parameters must look like parameters for the ethnew without a $device. So for your manipulation, it expects the new header to be given in the ethset call as ip => { header keys and values }
update: you might also want to check whether your calls are returning a true value i.e.
$n->methodname(parms)
or die "Net::RawIP->methodname failed";
| [reply] [d/l] |
$n->send;
$n->ethnew("eth0");
$n->ethset(source => 'my.target.lan', dest =>'my.target.lan');
$n->ethsend;
the packet is first send then setting the ethernet header? how? can you explain me this? | [reply] [d/l] |