Disclaimer: It is illegal to scan networks if you don't have explicit consent from the network owner. I'm not responsible for what you do with this package or the individual modules, but I'll be very sad if you use it incorrectly
A package leverages Go concurrency for more efficient scanning.
- randomized request times
- randomized port order
Coming Soon:
- Source IP spoofing by manual packet construction
Hosted on its own site here
Dylan Finn - LinkedIn - GitHub
This project is licensed under the MIT License - see the LICENSE.md file for details
go get github.com/dy-fi/salvo
This is a TCP full scan of the current host on port 80 (http) and 443 (https)
import (
"fmt"
"os"
"net"
)
func main() {
// environment data
host, err := os.Hostname()
addrs,err := net.LookupHost(host)
if err != nil {
fmt.Printf("Error: can't get host \n%v", err)
}
conns := []string{}
ports := []int{}
for i := 8000; i > 0; i-- {
ports = append(ports, i)
}
for _, v := range addrs {
conns = PortScan("tcp", v, ports)
}
if len(conns) == 0 {
fmt.Println("No ports were detected")
} else {
for _, v := range conns {
fmt.Println(v + "\n")
}
}
}
func PortScan(protocol string, tgthost string, tgtports []int) ([]string)
PortScan dials host:port addresses concurrently and returns a list of successes
param | description |
---|---|
protocol string |
i.e. "tcp" |
tgthost string |
target host hostname |
tgtports |
ports to scan |