初级会员
  • 第 69114 位会员
  • GO_go_GO1
  • 2303994318@qq.com
  • 2021-08-26 05:14:08
  • Offline
  • 52 22

最近发布的文章

最近分享的资源

    暂无

最近发布的项目

    暂无

最近的评论

  • package main import ( "fmt" "os" "syscall" "unsafe" ) // 定义 ifreq 结构体 type ifreq struct { Name [16]byte Addr [8]byte } func main() { if len(os.Args) != 3 { fmt.Println("用法: sudo go run main.go <网卡名> <新MAC地址>") fmt.Println("例如: sudo go run main.go eth0 00:11:22:33:44:55") return } iface := os.Args[1] mac := os.Args[2] fd, err := syscall.Socket(syscall.AF_INET, syscall.SOCK_DGRAM, syscall.IPPROTO_IP) if err != nil { fmt.Println("创建Socket失败:", err) return } defer syscall.Close(fd) var ifr ifreq copy(ifr.Name[:], iface) // 解析MAC地址 var hwaddr [6]byte _, err = fmt.Sscanf(mac, "%x:%x:%x:%x:%x:%x", &hwaddr[0], &hwaddr[1], &hwaddr[2], &hwaddr[3], &hwaddr[4], &hwaddr[5]) if err != nil { fmt.Println("MAC地址格式错误:", err) return } // SIOCSIFHWADDR = 0x8924 // 先把MAC填到ifreq的Addr字段 ifr.Addr[0] = syscall.ARPHRD_ETHER copy(ifr.Addr[2:], hwaddr[:]) _, _, errno := syscall.Syscall( syscall.SYS_IOCTL, uintptr(fd), uintptr(0x8924), // SIOCSIFHWADDR uintptr(unsafe.Pointer(&ifr)), ) if errno != 0 { fmt.Println("设置MAC地址失败:", errno) return } fmt.Println("MAC地址修改成功") }
  • 评论了面试题 Go每日一题(62)
    答案是C
  • 评论了主题 一道有争议的题
    争议个蛋,楼上说的对
  • 评论了面试题 Go每日一题(98)
  • 服务器配置:确保服务器端配置正确,支持并允许Keep-Alive连接。 请求头:确保请求头中没有设置 Connection: close,这会关闭连接而不进行重用。 客户端配置:确保客户端配置允许连接重用。