Net::Frame::Layer::ETH - Ethernet/802.3 layer object
Contents
Attributes
srcdst 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.
rawpayloadnextLayerConstants
Load them: use Net::Frame::Layer::ETH qw(:consts);
NF_ETH_ADDR_BROADCAST
Ethernet broadcast address.
NF_ETH_TYPE_IPv4NF_ETH_TYPE_X25NF_ETH_TYPE_ARPNF_ETH_TYPE_CGMPNF_ETH_TYPE_80211NF_ETH_TYPE_PPPIPCPNF_ETH_TYPE_RARPNF_ETH_TYPE_DDPNF_ETH_TYPE_AARPNF_ETH_TYPE_PPPCCPNF_ETH_TYPE_WCPNF_ETH_TYPE_8021QNF_ETH_TYPE_IPXNF_ETH_TYPE_STPNF_ETH_TYPE_IPv6NF_ETH_TYPE_WLCCPNF_ETH_TYPE_MPLSNF_ETH_TYPE_PPPoEDNF_ETH_TYPE_PPPoESNF_ETH_TYPE_8021XNF_ETH_TYPE_AoENF_ETH_TYPE_80211INF_ETH_TYPE_LLDPNF_ETH_TYPE_LLTDNF_ETH_TYPE_LOOPNF_ETH_TYPE_VLANNF_ETH_TYPE_PPPPAPNF_ETH_TYPE_PPPCHAP
Various supported Ethernet types.
Copyright And License
Copyright (c) 2006-2019, Patrice <GomoR> Auffret
You may distribute this module under the terms of the Artistic license. See LICENSE.Artistic file in the
source distribution archive.
perl v5.36.0 2022-12-04 Net::Frame::Layer::ETH(3pm)
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.
Methods
newnew (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.
layercomputeLengthscomputeChecksumspackunpackencapsulategetLengthgetPayloadLengthprintdumpName
Net::Frame::Layer::ETH - Ethernet/802.3 layer object
See Also
Net::Frame::Layer
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;
