github.com/giovannyortegon/go@v0.0.0-20220115155912-8890063f5bdd/src/BlackHatGo/Chap02/scan-too-fast.go (about)

     1  package main
     2  
     3  import (
     4  	"fmt"
     5  	"net"
     6  	"sync"
     7  )
     8  
     9  func main() {
    10  	var wg sync.WaitGroup
    11  
    12  	for i := 1; i <= 1024; i++ {
    13  		wg.Add(1)
    14  		go func(j int) {
    15  			defer wg.Done()
    16  			address := fmt.Sprintf("scanme.nmap.org:%d", j)
    17  			conn, err := net.Dial("tcp", address)
    18  
    19  			if err != nil {
    20  				return
    21  			}
    22  
    23  			conn.Close()
    24  			fmt.Printf("%d Open\n", j)
    25  		}(i)
    26  	}
    27  	wg.Wait()
    28  }