「SF」子域名搜集工具开发小结

SF 是一个 Golang 开发的高性能的子域名搜集工具,支持字典爆破等搜集方式。项目地址:github.com/0x2E/sf 开发过程中学习了很多文章(见文末),感谢师傅们的分享,于是我也把遇到的几个有意思的点整理了出来。 字典爆破 简易版 net 库提供的 lookup 系列函数不能指定 DNS 服务器,所以用了 miekg/dns,调用起来很简单: func lookup(domain string, resolver string, retry int) string { m := new(dns.Msg) m.SetQuestion(domain, dns.TypeA) // 默认要求递归 var r *dns.Msg var err error for i := 0; i <= retry; i++ { r, err = dns.Exchange(m, resolver) // 默认2秒超时 if err == nil { break } } if err != nil { // 重试之后仍有错误 fmt.Print("lookup error: " + domain + " - " + err....

2021-03-11 · 2 分钟 · rook1e