Net::Frame(3pm)

πŸ“¦
version 1.21 Β· 2 versions
  • 1.21 Β· debian bookworm, debian trixie, ubuntu noble, ubuntu resolute, ubuntu stonking (latest)
  • 1.21 Β· ubuntu jammy
, in debian bookworm, debian trixie, ubuntu noble, ubuntu resolute, ubuntu stonking

✨ Net::Frame πŸ’…

okay bestie, welcome to Net::Frame β€” literally the base framework for frame crafting πŸŽ€ this is the one, the blueprint, the main character of the whole Net::Frame universe. it's a Perl module, it lives in your friendly neighborhood User Contributed Perl Documentation section of the man pages, and it's about to make you feel so powerful ngl ✨


🌸 SYNOPSIS 🌸

here's a lil basic example β€” we send a TCP SYN to a target, using all the modules the framework comprises πŸ’– it also waits for the response and prints it. slay.

# Basic example, send a TCP SYN to a target, using all modules
# the framework comprises. It also waits for the response, and
# prints it.

my $target = '192.168.0.1';
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 => $oDevice->ip,
   dst => $target,
);
my $tcp = Net::Frame::Layer::TCP->new(
   dst     => $port,
   options => "\x02\x04\x54\x0b",
   payload => 'test',
);
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 ],
);
$oWrite->open;
$oSimple->send($oWrite);
$oWrite->close;

until ($oDump->timeout) {
   if (my $recv = $oSimple->recv($oDump)) {
      print "RECV:\n".$recv->print."\n";
      last;
   }
}

$oDump->stop;

πŸ¦‹ DESCRIPTION πŸ¦‹

so, tea time β˜• β€” Net::Frame is a fork of Net::Packet. the whole goal here was to greatly simplify the use of the frame crafting framework, because honestly? Net::Packet does many things undercover, and it was lowkey impossible to document all the thingies 😭

also, Net::Packet may suffer from unease of use, because frames were assembled using layers stored in L2, L3, L4 and L7 attributes. Net::Frame removes all this, and it's split into different modules β€” for those who only want to use part of the framework, and not the whole framework. pick your fave, we support you 🫢

and finally, anyone can create a layer and put it on his CPAN space, because of the modularity Net::Frame offers. for an example, see Net::Frame::Layer::ICMPv4 on my CPAN space. iconic behavior ✨

Net::Frame does ship with basic layers, to start playing. go off πŸ’…


πŸ‘‘ SEE ALSO πŸ‘‘

the whole friend group, no cap:

  • Net::Frame::Simple
  • Net::Frame::Device
  • Net::Frame::Layer
  • Net::Frame::Dump
  • Net::Frame::Layer::IPv4
  • Net::Frame::Layer::TCP
  • Net::Write

πŸ’œ AUTHOR πŸ’œ

Patrice <GomoR> Auffret β€” the icon, the legend, the moment 🌟


Copyright (c) 2006-2019, Patrice <GomoR> Auffret

you may distribute this module under the terms of the Artistic license. see LICENSE.Artistic file in the source distribution archive. periodt πŸ’…


okay that's the whole page bestie, you're officially educated πŸ’– go craft some frames, you absolute genius 🌈✨

this lil doc moment came to you courtesy of perl v5.36.0, dated 2022-12-04 β€” mwah, love u, bye 🫢🌸