关于go:go-hack十dns服务器构建

go网络安全代码地址

package main

import (
    "log"
    "net"

    "github.com/miekg/dns"
)

// 构建a记录查问的dns服务器
// dig @localhost baidu.com 测试  systemctl stop systemd-resolved.service 进行原有的dns服务,解决53端口占用问题
func main() {

    dns.HandleFunc(".", func(w dns.ResponseWriter, req *dns.Msg) { // req申请自身
        var resp dns.Msg
        resp.SetReply(req)

        for _, q := range req.Question {
            a := dns.A{
                Hdr: dns.RR_Header{
                    Name:   q.Name,
                    Rrtype: dns.TypeA,
                    Class:  dns.ClassINET,
                    Ttl:    0,
                },
                A: net.ParseIP("127.0.0.1").To4(),
            }
            resp.Answer = append(resp.Answer, &a)
        }
        w.WriteMsg(&resp)
    })
    log.Fatal(dns.ListenAndServe(":53", "udp", nil))
}

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理