dns-tools/cmd/wireformat/wireformat.go

39 lines
564 B
Go

package main
import (
"errors"
"flag"
"io/ioutil"
"log"
"github.com/miekg/dns"
)
func main() {
file := flag.String("f", "", "file path to read hexa decimal wireformat data")
flag.Parse()
var body []byte
var err error
if *file != "" {
if *file == "-" {
*file = "/dev/stdin"
}
body, err = ioutil.ReadFile(*file)
if err != nil {
log.Fatalln(err)
}
msg := &dns.Msg{}
err = msg.Unpack(body)
if err != nil {
log.Fatalln(err)
}
log.Println(msg)
} else {
log.Println(errors.New("Too few argument pass"))
flag.Usage()
}
}