NAME¶
Net::Frame::Layer::ETH - Ethernet/802.3 layer object
SYNOPSIS¶
use Net::Frame::Layer::ETH qw(:consts);
# Build a layer
my $layer = Net::Frame::Layer::ETH->new(
src => '00:00:00:00:00:00',
dst => NF_ETH_ADDR_BROADCAST,
type => NF_ETH_TYPE_IPv4,
);
$layer->pack;
print 'RAW: '.$layer->dump."\n";
# Read a raw layer
my $layer = Net::Frame::Layer::ETH->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 Ethernet/802.3 layer.
RFC:
ftp://ftp.rfc-editor.org/in-notes/rfc894.txt
See also
Net::Frame::Layer for other attributes and methods.
ATTRIBUTES¶
- src
- dst
- Source and destination MAC addresses, in classical format
(00:11:22:33:44:55).
- type
- The encapsulated layer type (IPv4, IPv6 ...) for Ethernet. Values for
Ethernet types are greater than 1500. If it is less than 1500 the layer is
considered a 802.3 one. See
http://www.iana.org/assignments/ethernet-numbers .
- length
- The length of the payload when this layer is a 802.3 one. This is the same
attribute as type, but you cannot use it when calling new
(you can only use it as an accessor after that).
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::ETH qw(:consts);
- NF_ETH_ADDR_BROADCAST
- Ethernet broadcast address.
- NF_ETH_TYPE_IPv4
- NF_ETH_TYPE_X25
- NF_ETH_TYPE_ARP
- NF_ETH_TYPE_CGMP
- NF_ETH_TYPE_80211
- NF_ETH_TYPE_PPPIPCP
- NF_ETH_TYPE_RARP
- NF_ETH_TYPE_DDP
- NF_ETH_TYPE_AARP
- NF_ETH_TYPE_PPPCCP
- NF_ETH_TYPE_WCP
- NF_ETH_TYPE_8021Q
- NF_ETH_TYPE_IPX
- NF_ETH_TYPE_STP
- NF_ETH_TYPE_IPv6
- NF_ETH_TYPE_WLCCP
- NF_ETH_TYPE_MPLS
- NF_ETH_TYPE_PPPoED
- NF_ETH_TYPE_PPPoES
- NF_ETH_TYPE_8021X
- NF_ETH_TYPE_AoE
- NF_ETH_TYPE_80211I
- NF_ETH_TYPE_LLDP
- NF_ETH_TYPE_LLTD
- NF_ETH_TYPE_LOOP
- NF_ETH_TYPE_VLAN
- NF_ETH_TYPE_PPPPAP
- NF_ETH_TYPE_PPPCHAP
- Various supported Ethernet types.
SEE ALSO¶
Net::Frame::Layer
AUTHOR¶
Patrice <GomoR> Auffret
COPYRIGHT AND LICENSE¶
Copyright (c) 2006-2014, Patrice <GomoR> Auffret
You may distribute this module under the terms of the Artistic license. See
LICENSE.Artistic file in the source distribution archive.