Fix q
This commit is contained in:
parent
d0e343e35e
commit
f6d6e1524a
|
@ -1,11 +1,8 @@
|
||||||
package main
|
package main
|
||||||
// a (simple) dig-like query tool in 99 lines of Go
|
|
||||||
import (
|
import (
|
||||||
"net"
|
"net"
|
||||||
"dns"
|
"dns"
|
||||||
"dns/resolver"
|
|
||||||
// "bytes"
|
|
||||||
// "compress/gzip"
|
|
||||||
"os"
|
"os"
|
||||||
"flag"
|
"flag"
|
||||||
"fmt"
|
"fmt"
|
||||||
|
@ -58,13 +55,12 @@ FLAGS:
|
||||||
// Anything else is a qname
|
// Anything else is a qname
|
||||||
qname = append(qname, flag.Arg(i))
|
qname = append(qname, flag.Arg(i))
|
||||||
}
|
}
|
||||||
r := new(resolver.Resolver)
|
r := new(dns.Resolver)
|
||||||
r.FromFile("/etc/resolv.conf")
|
r.FromFile("/etc/resolv.conf")
|
||||||
r.Timeout = 2
|
r.Timeout = 2
|
||||||
r.Port = *port
|
r.Port = *port
|
||||||
r.Tcp = *tcp
|
r.Tcp = *tcp
|
||||||
r.Attempts = 1
|
r.Attempts = 1
|
||||||
qr := r.NewQuerier()
|
|
||||||
// @server may be a name, resolv that
|
// @server may be a name, resolv that
|
||||||
var err os.Error
|
var err os.Error
|
||||||
nameserver = string([]byte(nameserver)[1:]) // chop off @
|
nameserver = string([]byte(nameserver)[1:]) // chop off @
|
||||||
|
@ -99,31 +95,17 @@ FLAGS:
|
||||||
for _, v := range qname {
|
for _, v := range qname {
|
||||||
m.Question[0] = dns.Question{v, qtype, qclass}
|
m.Question[0] = dns.Question{v, qtype, qclass}
|
||||||
m.SetId()
|
m.SetId()
|
||||||
qr <- resolver.Msg{m, nil, nil}
|
in, err := r.Query(m)
|
||||||
in := <-qr
|
if in != nil {
|
||||||
if in.Dns != nil {
|
if m.Id != in.Id {
|
||||||
if m.Id != in.Dns.Id {
|
|
||||||
fmt.Printf("Id mismatch\n")
|
fmt.Printf("Id mismatch\n")
|
||||||
}
|
}
|
||||||
fmt.Printf("%v\n", in.Dns)
|
fmt.Printf("%v\n", in)
|
||||||
fmt.Printf("%s\n", in.Meta)
|
|
||||||
/*
|
|
||||||
// zip the message
|
|
||||||
msgbuf, _ := in.Dns.Pack()
|
|
||||||
var zbuff bytes.Buffer
|
|
||||||
w, _ := gzip.NewWriterLevel(&zbuff, gzip.BestCompression)
|
|
||||||
w.Write(msgbuf)
|
|
||||||
w.Close()
|
|
||||||
fmt.Printf(";; Compressed: %d\n", zbuff.Len())
|
|
||||||
*/
|
|
||||||
} else {
|
} else {
|
||||||
fmt.Printf("%v\n", in.Error.String())
|
fmt.Printf("%v\n", err.String())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
qr <- resolver.Msg{}
|
|
||||||
<-qr
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
41 func (m *Meta) String() string {
|
41 func (m *Meta) String() string {
|
||||||
42 s := ";; Query time: " + strconv.Itoa(int(m.QueryEnd-m.QueryStart)) + " nsec"
|
42 s := ";; Query time: " + strconv.Itoa(int(m.QueryEnd-m.QueryStart)) + " nsec"
|
||||||
|
|
Loading…
Reference in New Issue