logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

ARP - Perl extension for creating ARP packets

Author

Name

       ARP - Perl extension for creating ARP packets

See Also

        man -a arp

Synopsis

         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";

   IMPORTANT
       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.

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

       send_packet()
             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.

       get_mac()
             $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.

       arp_lookup()
             $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.

See Also