Net::Packet::SLL.3pm

Langue: en

Version: 2006-11-23 (mandriva - 01/05/08)

Section: 3 (Bibliothèques de fonctions)

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 (c) 2004-2006, 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