Search code examples
ippingmac-addressarp

How to ping MAC address in Linux


I want to ping a known MAC address, I tried to use nmap:

sudo nmap -sP 192.168.15.1/24 | grep  20:64:32:3F:B1:A9

But in this case its ping all the 255 IP address (from 192.168.15.1 to 192.168.15.255) until get my MAC address, and that take a long time about 4 sec.!

any idea please?


Solution

  • The only way to make it faster is to test if the mac address is already into your arp table

    #!/bin/bash
    
    # extract ip from local arp table
    ip=$(arp | grep 20:64:32:3F:B1:A9 | awk ' { print $1 } ')
    
    # found an ip tied to the mac address?
    if [ ! -z $ip ]; then
    
        # if found, do you want to ping it?
        ping $ip
    else
        echo "Not found into local arp table. Trying another way..."
    
        # wanna try your nmap strategy?
        # sudo nmap -sP 192.168.15.1/24 | grep  20:64:32:3F:B1:A9
    fi;