Example Usage
package main
import (
"flag"
"fmt"
"log"
"net"
"os"
"time"
"github.com/CyberRoute/scanme/scanme"
"github.com/google/gopacket/routing"
)
var (
targetIP = flag.String("ip", "127.0.0.1", "IP address to bind the web UI server to.")
)
func main() {
flag.Parse()
if *targetIP == "" {
fmt.Println("No ip specified.")
flag.Usage()
os.Exit(1)
}
targetIP := *targetIP
ip := net.ParseIP(targetIP)
if ip == nil {
log.Fatalf("Invalid IP address: %q", targetIP)
} else if ip = ip.To4(); ip == nil {
log.Fatalf("Non-IPv4 address provided: %q", targetIP)
}
startTime := time.Now() // Record the start time
router, err := routing.New()
if err != nil {
log.Fatal("Routing error:", err)
}
scanner, err := scanme.NewScanner(ip, router)
if err != nil {
log.Fatalf("Unable to create scanner for %v: %v", ip, err)
}
openPorts, err := scanner.Synscan()
if err != nil {
log.Fatalf("Unable to scan %v: %v", ip, err)
}
// Process open ports
for port, service := range openPorts {
log.Printf("Port %v is %v", port, service)
}
defer scanner.Close()
elapsedTime := time.Since(startTime)
log.Printf("Execution time: %s", elapsedTime)
}
See also
dnsx
Open Source
Fast and multi-purpose DNS toolkit from ProjectDiscovery. Resolves domains, performs wildcard filter…
Flipper Zero
Open Source
Portable multi-tool for hardware hacking. Supports Sub-GHz radio, 125kHz RFID, NFC, Infrared, iButto…
Certipy
Open Source
Offensive tool for Active Directory Certificate Services (AD CS) enumeration and abuse. Finds and ex…
Aquatone
Open Source
Tool for visual inspection of websites across large numbers of hosts. Takes screenshots of web pages…
BloodHound
Open Source
Kali
Uses graph theory to reveal hidden and often unintended relationships within Active Directory enviro…
NetworkMiner
Freemium
Network forensics analysis tool (NFAT) that captures packets and parses them to reconstruct transmit…