Net::Packet::SLL

Section: User Contributed Perl Documentation (3pm)
Updated: 2009-11-09
Index Return to Main Contents
 

NAME

Net::Packet::SLL - Linux cooked capture layer 2 object  

SYNOPSIS

   #
   # Usually, you do not use this module directly
   #
   use Net::Packet::Consts qw(:sll);
   require Net::Packet::SLL;

   # Build a layer
   my $layer = Net::Packet::SLL->new;
   $layer->pack;

   print 'RAW: '.unpack('H*', $layer->raw)."\n";

   # Read a raw layer
   my $layer = Net::Packet::SLL->new(raw => $raw);

   print $layer->print."\n";
   print 'PAYLOAD: '.unpack('H*', $layer->payload)."\n"
      if $layer->payload;

 

DESCRIPTION

This modules implements the encoding and decoding of the Linux cooked capture layer.

See also Net::Packet::Layer and Net::Packet::Layer2 for other attributes and methods.  

ATTRIBUTES

packetType
Stores the packet type (unicast to us, sent by us ...).
addressType
The address type.
addressLength
The length of the previously specified address.
source
Source address.
protocol
Encapsulated protocol.
 

METHODS

new
Object constructor. You can pass attributes that will overwrite default ones. Default values:

packetType: NP_SLL_PACKET_TYPE_SENT_BY_US

addressType: NP_SLL_ADDRESS_TYPE_512

addressLength: 0

source: 0

protocol: NP_SLL_PROTOCOL_IPv4

pack
Packs all attributes into a raw format, in order to inject to network. Returns 1 on success, undef otherwise.
unpack
Unpacks raw data from network and stores attributes into the object. Returns 1 on success, undef otherwise.
isProtocolIpv4
isProtocolIpv6
isProtocolIp - is type IPv4 or IPv6
Helper methods. Return true is the encapsulated layer is of specified type, false otherwise.
 

CONSTANTS

Load them: use Net::Packet::Consts qw(:sll);
NP_SLL_PACKET_TYPE_SENT_BY_US
NP_SLL_PACKET_TYPE_UNICAST_TO_US
Various possible packet types.
NP_SLL_PROTOCOL_IPv4
NP_SLL_PROTOCOL_IPv6
NP_SLL_PROTOCOL_ARP
NP_SLL_PROTOCOL_VLAN
Various supported encapsulated layer types.
NP_SLL_HDR_LEN
NP_SLL_ADDRESS_TYPE_512
 

AUTHOR

Patrice <GomoR> Auffret  

COPYRIGHT AND LICENSE

Copyright (c) 2004-2009, Patrice <GomoR> Auffret

You may distribute this module under the terms of the Artistic license. See LICENSE.Artistic file in the source distribution archive.  

RELATED MODULES

NetPacket, Net::RawIP, Net::RawSock


 

Index

NAME
SYNOPSIS
DESCRIPTION
ATTRIBUTES
METHODS
CONSTANTS
AUTHOR
COPYRIGHT AND LICENSE
RELATED MODULES

This document was created by