dns

package
v1.2.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 18, 2024 License: MIT Imports: 6 Imported by: 0

README

Go Report Card

dnsutil

Golang DNS dig功能库
Forked from github.com/lixiangzhong/dnsutil
//Normal

package main

import (
	"fmt"
	"github.com/lixiangzhong/dnsutil"
)

func main() {
    var dig dnsutil.Dig 
    dig.SetDNS("8.8.8.8") //or ns.xxx.com 
    a, err := dig.A("google.com")  // dig a @8.8.8.8
    fmt.Println(a, err)
}
//EDNS0ClientSubnet

package main

import (
	"fmt"
	"github.com/lixiangzhong/dnsutil"
)

func main() {
    var dig dnsutil.Dig
    dig.SetDNS("8.8.8.8") //or ns.xxx.com
    dig.SetEDNS0ClientSubnet("123.123.123.123")   //support edns0clientsubnet
    a, err := dig.A("google.com")  // dig a @8.8.8.8 +client=123.123.123.123
    fmt.Println(a, err)
}
//Retry

package main

import (
	"fmt"
	"github.com/lixiangzhong/dnsutil"
)

func main() {
    var dig dnsutil.Dig
    dig.Retry=3 //retry  when write or read message return error . defualt 1
    dig.SetDNS("8.8.8.8") //or ns.xxx.com 
    a, err := dig.A("google.com")  // dig a @8.8.8.8
    fmt.Println(a, err)
}

TODO

  • dig +trace

Documentation

Index

Constants

View Source
const (
	DNS_SEVER_DEFAULT = DNS_SERVER_DNSPOD

	DNS_SERVER_DNSPOD = "119.29.29.29"
	DNS_SERVER_114    = "114.114.114.114"
	DNS_SERVER_ALI    = "223.5.5.5"
	DNS_SERVER_BAIDU  = "180.76.76.76"
	DNS_SERVER_360    = "101.226.4.6"
	DNS_SERVER_GOOGLE = "8.8.8.8"
)

Variables

This section is empty.

Functions

func NewMsg

func NewMsg(Type uint16, domain string) *dns.Msg

Types

type Dig

type Dig struct {
	LocalAddr    string
	RemoteAddr   string
	EDNSSubnet   net.IP
	DialTimeout  time.Duration
	WriteTimeout time.Duration
	ReadTimeout  time.Duration
	Protocol     string
	Retry        int
}

func (*Dig) A

func (d *Dig) A(domain string) ([]*dns.A, error)

func (*Dig) AAAA

func (d *Dig) AAAA(domain string) ([]*dns.AAAA, error)

func (*Dig) ANY

func (d *Dig) ANY(domain string) ([]dns.RR, error)

func (*Dig) CAA

func (d *Dig) CAA(domain string) ([]*dns.CAA, error)

func (*Dig) CNAME

func (d *Dig) CNAME(domain string) ([]*dns.CNAME, error)

func (*Dig) Exchange

func (d *Dig) Exchange(m *dns.Msg) (*dns.Msg, error)

func (*Dig) GetMsg

func (d *Dig) GetMsg(Type uint16, domain string) (*dns.Msg, error)

func (*Dig) GetRR

func (d *Dig) GetRR(Type uint16, domain string) ([]dns.RR, error)

func (*Dig) MX

func (d *Dig) MX(domain string) ([]*dns.MX, error)

func (*Dig) NS

func (d *Dig) NS(domain string) ([]*dns.NS, error)

func (*Dig) PTR

func (d *Dig) PTR(domain string) ([]*dns.PTR, error)

func (*Dig) SRV

func (d *Dig) SRV(domain string) ([]*dns.SRV, error)

func (*Dig) SetDNS

func (d *Dig) SetDNS(host string) error

func (*Dig) SetEDNS0ClientSubnet

func (d *Dig) SetEDNS0ClientSubnet(clientip string) error

func (*Dig) SetTimeOut

func (d *Dig) SetTimeOut(t time.Duration)

func (*Dig) TXT

func (d *Dig) TXT(domain string) ([]*dns.TXT, error)

func (*Dig) UseDafaultDNS

func (d *Dig) UseDafaultDNS()

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL