arpresolve
使用 ARP 请求获取局域网内某个主机的MAC地址
Example:
package main
import (
"flag"
"fmt"
"log"
"net"
"os"
"gitee.com/sillyman/simpleUtil/network/arpresolve"
)
var (
localIP = flag.String("lip", "", "IP address of local interface")
remoteIP = flag.String("rip", "", "IP address of host in LAN")
)
func main() {
flag.Parse()
if *localIP == "" || *remoteIP == "" {
flag.PrintDefaults()
os.Exit(1)
}
remoteMAC, err := arpresolve.Resolve(net.ParseIP(*localIP), net.ParseIP(*remoteIP), 3)
if err != nil {
log.Fatalln(err)
}
fmt.Printf("%s => %s", *remoteIP, remoteMAC)
}
Output:
192.168.228.1 => 4c1f-cc11-dac5