Net::Packet::SLL(3)

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