Net::Packet::SLL - Linux cooked capture layer 2 object
#
# 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;
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.
- 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.
- 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.
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
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.
NetPacket, Net::RawIP, Net::RawSock
Hey! The above document had some coding errors, which are explained
below:
- Around line 119:
- Non-ASCII character seen before =encoding in '# Build'. Assuming
CP1252