【发布时间】:2016-12-13 20:50:05
【问题描述】:
我对 golang 很陌生,我对 python 有一些经验,但不是这个级别的。我正在创建一个名为“digall”的应用程序,使用户在检查域名时可以轻松查看活动的 dns 记录。
在我使用LookupSRV的应用程序中,我似乎遇到了一些问题:
func srvRecord(query string) {
service := "sipfederationtls"
protocol:= "tcp"
fmt.Printf("\n[+] SRV Record(s)\n")
//srvMap := ["sipfederationtls", "autodiscover", "VLMCS"]
cname, addresses, err := net.LookupSRV(service, protocol, query)
if err != nil {
fmt.Printf("[!] This feature is currently under development, thus not ready yet.\n")
}
fmt.Printf("cname : %s \n", cname)
for i := 0; i < len(addresses); i++ {
fmt.Printf("addrs[%d].Target : %s \n", i, addresses[i].Target)
fmt.Printf("addrs[%d].Port : %d \n", i, addresses[i].Port)
fmt.Printf("addrs[%d].Priority : %d \n", i, addresses[i].Priority)
fmt.Printf("addrs[%d].Weight : %d \n", i, addresses[i].Weight)
}
}
如您所见,变量“service”用作 SRV 记录的前缀。我唯一的问题是我想检查这条记录的多个前缀,即“sipfederationtls”、“autodiscover”和“VLMCS”。
我要问的是;我如何使这个函数快速通过这些前缀并返回那些有效的? (错误输出将由 err 由我奇妙的错误消息处理)
我知道这是一个菜鸟问题,就像我说的那样,我对 golang 很陌生。如果你们能给我任何建议,我将不胜感激。
这里是应用程序的完整源代码:http://dpaste.com/3X24ZYR
谢谢。
【问题讨论】:
标签: go