• [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
  • 相关阅读:
    在数据库中 存储图片 以及 在界面中显示图片(存储图片路径)- 这种方法相对与存储二进制文件好
    # 会员注册与登录模块
    文本文件从磁盘读取、写入
    简单的web三层架构系统【第五版】
    Nginx负载均衡中后端节点服务器健康检查的一种简单方式
    编译安装php-7.1.17及部分扩展
    wkhtmltopdf 安装过程不包含php扩展部分
    Centos6下安装中文字体
    xen 配置vm 跟随xen server一起启动
    CENTOS 升级Nodejs 到最新版本
  • 原文地址:https://www.cnblogs.com/landv/p/11583569.html
Copyright © 2020-2023  润新知