[golang]Go net.lookup包
DNS (Domain Name System 的缩写)的作用非常简单,就是根据域名查出IP地址。 域名系统(通常被称为“DNS”)是一个网络系统,允许我们把对人类友好的名称解析为唯一的地址。 Internet 上的所有计算机,从您的智能手机或笔记本电脑到可提供大量零售网站内容的服务器,均通过使用编号寻找另一方并相互通信。 这些编号称为 IP 地址。当您打开 Web 浏览器并前往一个网站时,您不必记住和输入长编号。 而是输入域名 (入 example.com),然后在正确的IP地址获取数据。 你可以把它想象成一本巨大的电话本。下面图片将展示DNS的工作原理.
Go语言中
package main import ( "fmt" "net" ) func main() { //查找DNS A记录 iprecords, _:=net.LookupIP("landv.cn") for _,ip:=range iprecords{ fmt.Println(ip) } //查找DNS CNAME记录 canme, _:=net.LookupCNAME("www.baidu.com") fmt.Println(canme) //查找DNS PTR记录 ptr,e :=net.LookupAddr("8.8.8.8") if e != nil { fmt.Println(e) } for _, ptrval:=range ptr{ fmt.Println(ptrval) } //查找DNS NS记录 nameserver,_:=net.LookupNS("baidu.com") for _,ns :=range nameserver{ fmt.Println("ns记录",ns) } //查找DNS MX记录 mxrecods,_ :=net.LookupMX("google.com") for _,mx :=range mxrecods{ fmt.Println("mx:",mx) } //查找DNS TXT记录 txtrecords, _ := net.LookupTXT("baidu.com") for _, txt := range txtrecords { fmt.Println("txt:",txt) } }
运行结果
185.199.111.153 185.199.108.153 185.199.109.153 185.199.110.153 www.a.shifen.com. dns.google. ns记录 &{dns.baidu.com.} ns记录 &{ns7.baidu.com.} ns记录 &{ns2.baidu.com.} ns记录 &{ns3.baidu.com.} ns记录 &{ns4.baidu.com.} mx: &{aspmx.l.google.com. 10} mx: &{alt1.aspmx.l.google.com. 20} mx: &{alt2.aspmx.l.google.com. 30} mx: &{alt3.aspmx.l.google.com. 40} mx: &{alt4.aspmx.l.google.com. 50} txt: v=spf1 include:spf1.baidu.com include:spf2.baidu.com include:spf3.baidu.com a mx ptr -all txt: google-site-verification=GHb98-6msqyx_qqjGl5eRatD3QTHyVB6-xQ3gJB5UwM
网名:浩秦;
邮箱:root#landv.pw;
博客:landv.cnblogs.com;
只要我能控制一個國家的貨幣發行,我不在乎誰制定法律。金錢一旦作響,壞話隨之戛然而止。