// arp 包示例:读取系统 ARP 表并按 IP 查询 MAC 地址,支持定时自动刷新缓存 package main import ( "fmt" "time" "git.zeroonesoft.cn/golib/zogo/arp" ) func main() { // 手动刷新一次 ARP 缓存 arp.CacheUpdate() fmt.Println("缓存更新时间:", arp.CacheLastUpdate().Format("15:04:05")) fmt.Println("累计刷新次数:", arp.CacheUpdateCount()) // 按 IP 查询 MAC(缓存未命中时会自动刷新一次再查) gateway := "192.168.1.1" fmt.Printf("%s 的 MAC: %q\n", gateway, arp.Search(gateway)) // 开启自动刷新(每 30 秒),适合长时间运行的服务 arp.AutoRefresh(30 * time.Second) fmt.Println("已开启自动刷新(每30秒)") time.Sleep(100 * time.Millisecond) fmt.Printf("再次查询 %s: %q\n", gateway, arp.Search(gateway)) }