ARP(3pm) User Contributed Perl Documentation ARP(3pm)

ARP - Perl extension for creating ARP packets

  use Net::ARP;
  Net::ARP::send_packet('lo',                 # Device
                        '127.0.0.1',          # Source IP
                              '127.0.0.1',          # Destination IP
                                    'aa:bb:cc:aa:bb:cc',  # Source MAC
                              'aa:bb:cc:aa:bb:cc',  # Destinaton MAC
                              'reply');             # ARP operation

$mac = Net::ARP::get_mac("enp3s0f1");

print "$mac\n";

$mac = Net::ARP::arp_lookup($dev,"192.168.1.1");

print "192.168.1.1 has got mac $mac\n";

Version 1.0 will break with the API of PRE-1.0 versions, because the return value of arp_lookup() and get_mac() will no longer be passed as parameter, but returned! I hope this decision is ok as long as we get a cleaner and more perlish API.

This module can be used to create and send ARP packets and to get the mac address of an ethernet interface or ip address.

  Net::ARP::send_packet('lo',                 # Device
                        '127.0.0.1',          # Source IP
                              '127.0.0.1',          # Destination IP
                                    'aa:bb:cc:aa:bb:cc',  # Source MAC
                              'aa:bb:cc:aa:bb:cc',  # Destinaton MAC
                              'reply');             # ARP operation
  I think this is self documentating.
  ARP operation can be one of the following values:
  request, reply, revrequest, revreply, invrequest, invreply.
    
  $mac = Net::ARP::get_mac("enp3s0f1");
  This gets the MAC address of the enp3s0f1 interface and stores 
  it in the variable $mac. The return value is "unknown" if
  the mac cannot be looked up.
    
  $mac = Net::ARP::arp_lookup($dev,"192.168.1.1");
  This looks up the MAC address for the ip address 192.168.1.1
  and stores it in the variable $mac. The return value is 
  "unknown" if the mac cannot be looked up.
    

 man -a arp

 Bastian Ballmann [ balle@codekid.net ]
 http://www.codekid.net

Copyright (C) 2004-2022 by Bastian Ballmann

License: GPLv2

2024-03-31 perl v5.38.2