golang搭建一个dns服务代码

代码语言:golang

所属分类:其他

代码描述:golang搭建一个dns服务代码,可以根据域名解析ip地址给客户端

代码标签: golang 搭建 dns 服务 代码

下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开

package main

import (
   
"log"
   
"net"
   
"strings"

   
"github.com/miekg/dns"
)

// DNSHandler 处理DNS查询
type
DNSHandler struct {
    records map
[string]string
}

// ServeDNS 处理DNS请求
func
(h *DNSHandler) ServeDNS(w dns.ResponseWriter, r *dns.Msg) {
    m
:= new(dns.Msg)
    m
.SetReply(r)
    m
.Authoritative = true

   
for _, q := range r.Question {
       
switch q.Qtype {
       
case dns.TypeA:
            domain
:= strings.TrimSuffix(q.Name, ".")
       
.........完整代码请登录后点击上方下载按钮下载查看

网友评论0