go hack(十)dns服务器构建

2022-09-13  本文已影响0人  mafa1993

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))
}

上一篇 下一篇

猜你喜欢

热点阅读