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.

getLength

Returns the layer length in bytes.

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

Layer 3 strings.

NP_LAYER_TCP
NP_LAYER_UDP
NP_LAYER_ICMPv4

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-2005, Patrice <GomoR> Auffret

You may distribute this module under the terms of the Artistic license. See Copying file in the source distribution archive.

RELATED MODULES

NetPacket, Net::RawIP, Net::RawSock