GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
Net::Packet::ETH(3) User Contributed Perl Documentation Net::Packet::ETH(3)

Net::Packet::ETH - Ethernet/802.3 layer 2 object

   use Net::Packet::Consts qw(:eth);
   require Net::Packet::ETH;

   # Build a layer
   my $layer = Net::Packet::ETH->new(
      type => NP_ETH_TYPE_IPv6,
      dst  => "00:11:22:33:44:55",
   );
   $layer->pack;

   print 'RAW: '.unpack('H*', $layer->raw)."\n";

   # Read a raw layer
   my $layer = Net::Packet::ETH->new(raw => $raw);

   print $layer->print."\n";
   print 'PAYLOAD: '.unpack('H*', $layer->payload)."\n"
      if $layer->payload;

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::Packet::Layer and Net::Packet::Layer2 for other attributes and methods.

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, you should use the length attribute (which is an alias of this one), because 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).

new
Object constructor. You can pass attributes that will overwrite default ones. Default values:

src: $Env->mac (see Net::Packet::Env)

dst: NP_ETH_ADDR_BROADCAST

type/length: NP_ETH_TYPE_IPv4

pack
Packs all attributes into a raw format, in order to inject to network. Returns 1 on success, undef otherwise.
unpack
Unpacks raw data from network and stores attributes into the object. Returns 1 on success, undef otherwise.
isTypeArp
isTypeIpv4
isTypeIpv6
isTypeIp - is type IPv4 or IPv6
isTypeVlan
isTypePppoe
Helper methods. Return true is the encapsulated layer is of specified type, false otherwise.

Load them: use Net::Packet::Consts qw(:eth);
NP_ETH_HDR_LEN
Ethernet header length in bytes.
NP_ETH_ADDR_BROADCAST
Ethernet broadcast address.
NP_ETH_TYPE_IPv4
NP_ETH_TYPE_IPv6
NP_ETH_TYPE_ARP
NP_ETH_TYPE_VLAN
NP_ETH_TYPE_PPPoE
Various supported Ethernet types.

Patrice <GomoR> Auffret

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.

NetPacket, Net::RawIP, Net::RawSock

Hey! The above document had some coding errors, which are explained below:
Around line 140:
Non-ASCII character seen before =encoding in '# Build'. Assuming CP1252
2009-11-09 perl v5.32.1

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.