Scroll to navigation

Net::Frame::Layer::ETH(3pm) User Contributed Perl Documentation Net::Frame::Layer::ETH(3pm)

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

Source and destination MAC addresses, in classical format (00:11:22:33:44:55).
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 .
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.

METHODS

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.

CONSTANTS

Load them: use Net::Frame::Layer::ETH qw(:consts);

Ethernet broadcast address.
Various supported Ethernet types.

SEE ALSO

Net::Frame::Layer

AUTHOR

Patrice <GomoR> Auffret

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.

2022-12-04 perl v5.36.0