Net::Packet::Layer
Section: User Contributed Perl Documentation (3pm)
Updated: 2009-11-09
Index
Return to Main Contents
NAME
Net::Packet::Layer - base class for all layer modules
DESCRIPTION
This is the base class for Net::Packet::Layer2, Net::Packet::Layer3, Net::Packet::Layer4 and Net::Packet::Layer7 modules.
It just provides those layers with inheritable attributes and methods.
ATTRIBUTES
- raw
-
Stores the raw layer (as captured from the network, or packed to send to network).
- payload
-
Stores what is not part of the layer, that is the encapsulated part to be decoded by upper layers.
METHODS
- is
-
Returns the string describing the layer type (example: 'IPv4').
- layer
-
Returns the string describing the layer number (example: 'L3' for IPv4).
- encapsulate
-
Returns the next layer type (parsed from payload). This is the same string as returned by is method.
- computeLengths
-
- computeChecksums
-
Generally, when a layer is built, some attributes are not yet known until the full Net::Packet::Frame is assembled. Those methods computes various lengths and checksums attributes found in a specific layer. Return 1 on success, undef otherwise.
- print
-
Just returns a string in a human readable format describing attributes found in the layer.
- dump
-
Just returns a string in hexadecimal format which is how the layer appears on the network.
- getKey
-
- getKeyReverse
-
These methods are used to respectively store and retrieve analyzed frames respectively to and from a hashref. This is to make it quick to get possible responses from a probe.
- pack
-
Will pack all attributes into raw network format. This method MUST be implemented into each supported layers.
- unpack
-
Will unpack raw network format to respective attributes. This method MUST be implemented into each supported layers.
- getLength
-
Returns the layer length in bytes.
- getPayloadLength
-
Returns the total length of remaining raw data in bytes (without calling layer length).
- isLayer2
-
- isLayer3
-
- isLayer4
-
- isLayer7
-
Returns true if the calling object is, respectively, layer 2, 3, 4 or 7.
CONSTANTS
Load them: use Net::Packet::Consts qw(:layer);
- NP_LAYER
-
Base layer string.
- NP_LAYER_ETH
-
- NP_LAYER_NULL
-
- NP_LAYER_RAW
-
- NP_LAYER_SLL
-
Layer 2 strings.
- NP_LAYER_ARP
-
- NP_LAYER_IPv4
-
- NP_LAYER_IPv6
-
- NP_LAYER_VLAN
-
- NP_LAYER_PPPoE
-
- NP_LAYER_PPP
-
- NP_LAYER_LLC
-
Layer 3 strings.
- NP_LAYER_TCP
-
- NP_LAYER_UDP
-
- NP_LAYER_ICMPv4
-
- NP_LAYER_PPPLCP
-
- NP_LAYER_CDP
-
Layer 4 strings.
- NP_LAYER_7
-
Layer 7 string.
- NP_LAYER_NONE
-
- NP_LAYER_UNKNOWN
-
Other strings.
- NP_LAYER_N_2
-
- NP_LAYER_N_3
-
- NP_LAYER_N_4
-
- NP_LAYER_N_7
-
- NP_LAYER_N_UNKNOWN
-
Layer number N strings.
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
-
- DESCRIPTION
-
- ATTRIBUTES
-
- METHODS
-
- CONSTANTS
-
- AUTHOR
-
- COPYRIGHT AND LICENSE
-
- RELATED MODULES
-
This document was created by