Net::Packet::ARP(3)

NAME
Net::Packet::ARP - Address Resolution Protocol layer 3 object

SYNOPSIS
   use Net::Packet::Consts qw(:arp);
   require Net::Packet::ARP;

   # Build a layer
   my $layer = Net::Packet::ARP->new(
      dstIp => "192.168.0.1",
   );
   $layer->pack;

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

   # Read a raw layer
   my $layer = Net::Packet::ARP->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 ARP layer.

RFC: ftp://ftp.rfc-editor.org/in-notes/rfc826.txt

See also Net::Packet::Layer and Net::Packet::Layer3 for other attributes and methods.

ATTRIBUTES

hType
pType
    Hardware and protocol address types.

hSize
pSize
    Hardware and protocol address sizes in bytes.

opCode
    The operation code number to perform.

src
dst Source and destination hardware addresses.

srcIp
dstIp
    Source and destination IP addresses.

METHODS

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

    hType: NP_ARP_HTYPE_ETH

    pType: NP_ARP_PTYPE_IPv4

    hSize: NP_ARP_HSIZE_ETH

    pSize: NP_ARP_PSIZE_IPv4

    opCode: NP_ARP_OPCODE_REQUEST

    src: $Env->mac

    dst: NP_ARP_ADDR_BROADCAST

    srcIp: $Env->ip

    dstIp: 127.0.0.1

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.

recv
    Will search for a matching replies in framesSorted or frames from a Net::Packet::Dump object.

isRequest
isReply
    Returns 1 if the opCode attribute is of specified type.

CONSTANTS
Load them: use Net::Packet::Consts qw(:arp);

NP_ARP_HTYPE_ETH
NP_ARP_PTYPE_IPv4
    Hardware and protocol address types.

NP_ARP_HSIZE_ETH
NP_ARP_PSIZE_IPv4
    Hardware and protocol address sizes.

NP_ARP_OPCODE_REQUEST
NP_ARP_OPCODE_REPLY
    Operation code numbers.

NP_ARP_ADDR_BROADCAST
    Broadcast address for src or dst attributes.

AUTHOR
Patrice <GomoR> Auffret

COPYRIGHT AND LICENSE
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.

RELATED MODULES
NetPacket, Net::RawIP, Net::RawSock