如何使用代理获取DNS记录

时间:2018-06-19 16:33:36

标签: go proxy dns

我有问题。

我需要使用代理通过8.8.8.8获取dns记录

但是我的代码有一些错误。

在字段值中不能将&dialer(* proxy.Dialer类型)用作* net.Dialer

我的代码是:

package main

import (
    "log"

    "github.com/miekg/dns"
    "golang.org/x/net/proxy"
)

func checkErr(err error) {
    if err != nil {
        log.Fatal(err)
    }
}

func main() {
    dialer, err := proxy.SOCKS5("tcp", "12.34.56.78:8085", nil, proxy.Direct)
    checkErr(err)
    dnsServer := "8.8.8.8:53"
    c := dns.Client{
        Net: "tcp",
        Dialer: &dialer,
    }
    m := dns.Msg{}
    m.SetQuestion("google.com.", dns.TypeA)
    a, _, err := c.Exchange(&m, dnsServer)
    checkErr(err)
    for _, ans := range a.Answer {
        log.Println(ans.(*dns.A).A)
    }
}

感谢任何想法。

0 个答案:

没有答案