The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

Net::Frame::Layer::SLL - Linux cooked capture layer object

SYNOPSIS

use Net::Frame::Layer::SLL qw(:consts);

# Build a layer
my $layer = Net::Frame::Layer::SLL->new(
   packetType    => NF_SLL_PACKET_TYPE_SENT_BY_US,
   addressType   => NF_SLL_ADDRESS_TYPE_512,
   addressLength => 0,
   source        => 0,
   protocol      => NF_SLL_PROTOCOL_IPv4,
);
$layer->pack;

print 'RAW: '.$layer->dump."\n";

# Read a raw layer
my $layer = Net::Frame::Layer::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::Frame::Layer 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.

The following are inherited attributes. See Net::Frame::Layer for more information.

raw
payload
nextLayer

METHODS

new
new (hash)

Object constructor. You can pass attributes that will overwrite default ones. See SYNOPSIS for default values.

The following are inherited methods. Some of them may be overridden in this layer, and some others may not be meaningful in this layer. See Net::Frame::Layer for more information.

layer
computeLengths
computeChecksums
pack
unpack
encapsulate
getLength
getPayloadLength
print
dump

CONSTANTS

Load them: use Net::Frame::Layer::SLL qw(:consts);

NF_SLL_PACKET_TYPE_SENT_BY_US
NF_SLL_PACKET_TYPE_UNICAST_TO_US

Various possible packet types.

NF_SLL_PROTOCOL_IPv4
NF_SLL_PROTOCOL_X25
NF_SLL_PROTOCOL_ARP
NF_SLL_PROTOCOL_CGMP
NF_SLL_PROTOCOL_80211
NF_SLL_PROTOCOL_PPPIPCP
NF_SLL_PROTOCOL_RARP
NF_SLL_PROTOCOL_DDP
NF_SLL_PROTOCOL_AARP
NF_SLL_PROTOCOL_PPPCCP
NF_SLL_PROTOCOL_WCP
NF_SLL_PROTOCOL_8021Q
NF_SLL_PROTOCOL_IPX
NF_SLL_PROTOCOL_STP
NF_SLL_PROTOCOL_IPv6
NF_SLL_PROTOCOL_WLCCP
NF_SLL_PROTOCOL_MPLS
NF_SLL_PROTOCOL_PPPoED
NF_SLL_PROTOCOL_PPPoES
NF_SLL_PROTOCOL_8021X
NF_SLL_PROTOCOL_AoE
NF_SLL_PROTOCOL_80211I
NF_SLL_PROTOCOL_LLDP
NF_SLL_PROTOCOL_LLTD
NF_SLL_PROTOCOL_LOOP
NF_SLL_PROTOCOL_VLAN
NF_SLL_PROTOCOL_PPPPAP
NF_SLL_PROTOCOL_PPPCHAP

Various supported encapsulated layer types.

NF_SLL_ADDRESS_TYPE_512

SEE ALSO

Net::Frame::Layer

AUTHOR

Patrice <GomoR> Auffret

COPYRIGHT AND LICENSE

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.