项目作者: jimen0

项目描述 :
Package brute allows concurrently bruteforce subdomains for a domain using a list of DNS servers and querying a desired DNS record
高级语言: Go
项目地址: git://github.com/jimen0/brute.git
创建时间: 2018-04-17T14:53:28Z
项目社区:https://github.com/jimen0/brute

开源协议:GNU General Public License v3.0

下载


brute

Go Report Card
Documentation

Package brute allows concurrently bruteforce subdomains for a domain using a list of DNS servers and querying a desired DNS record.

Install

  1. go get -u github.com/jimen0/brute

Usage

  1. package main
  2. import (
  3. "context"
  4. "fmt"
  5. "log"
  6. "os"
  7. "github.com/jimen0/brute"
  8. )
  9. func main() {
  10. f, err := os.Open("/home/jimeno/top100.txt")
  11. if err != nil {
  12. log.Fatalf("could not open file: %v", err)
  13. }
  14. defer f.Close()
  15. out := make(chan string)
  16. done := make(chan struct{})
  17. go func() {
  18. for v := range out {
  19. fmt.Printf("%s\n", v)
  20. }
  21. done <- struct{}{}
  22. }()
  23. br := brute.Bruter{
  24. Domain: "yahoo.com",
  25. Retries: 1,
  26. Record: "A",
  27. Servers: []string{"1.1.1.1:53", "8.8.8.8:53", "1.0.0.1:53", "8.8.4.4:53"},
  28. Workers: 10, // increment this value to use more goroutines
  29. }
  30. err = br.Brute(context.Background(), f, out)
  31. if err != nil {
  32. log.Printf("failed to brute: %v", err)
  33. }
  34. <-done
  35. }

Test

Just run go test -race -v github.com/jimen0/brute/...

Improvements

Send a PR or open an issue. Just make sure that your PR passes gofmt, golint and govet.