Mercurial > mercurial > hgweb_golang.cgi
view src/magicpacket.go @ 54:665f92c37b72
small fix.
author | pyon@macmini |
---|---|
date | Thu, 21 May 2020 22:53:50 +0900 |
parents | c6df3bae683e |
children |
line wrap: on
line source
package main import ( "bytes" "flag" "fmt" "net" "log" "os" ) func main() { var port int flag.IntVar(&port, "p", 9, "port") flag.Parse() if flag.NArg() < 1 { fmt.Fprintln(os.Stderr, "magicpacket mac-address1 mac-address2 ...") fmt.Fprintln(os.Stderr, "magicpacket port mac-address1 mac-address2 ...") os.Exit(1) } addr := fmt.Sprintf("255.255.255.255:%d", port) for _, mac := range flag.Args() { hw, err := net.ParseMAC(mac) if err != nil { log.Fatal(err) } b := [][]byte{bytes.Repeat([]byte{255}, 6), bytes.Repeat([]byte(hw), 16)} pkt := bytes.Join(b, nil) conn, err := net.Dial("udp", addr) if err != nil { log.Fatal(err) } defer conn.Close() conn.Write(pkt) } }