package scan import ( "net" "strconv" ) func ScanPort(port int) bool { ln, err := net.Listen("tcp", ":"+strconv.Itoa(port)) if err != nil { return true } defer ln.Close() return false } func ScanUDPPort(port int) bool { ln, err := net.ListenUDP("udp", &net.UDPAddr{IP: net.IPv4(127, 0, 0, 1), Port: port}) if err != nil { return true } defer ln.Close() return false } func ScanPortWithProto(port int, proto string) bool { if proto == "udp" { return ScanUDPPort(port) } return ScanPort(port) }