Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

FeedContattoPrivacy© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
spoonmap — Wrapper Python attorno a masscan e nmap per il port discovery su larga scala, l'host discovery, il banner grabbing e la scansione delle vulnerabilità basata su NSE su reti interne o esterne. | Kitploit
Strumenti/GitHubGitHub/trustedsec/spoonmap
Strumenti DifensiviRicognizioneScanner di VulnerabilitàMappatura della ReteScansione PorteScripting e AutomazioneRaccolta InformazioniSicurezza di RetePenetration TestingUtilità e Framework
GitHub
2084373 giorni faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
trustedsec/spoonmap

spoonmap

Wrapper Python attorno a masscan e nmap per il port discovery su larga scala, l'host discovery, il banner grabbing e la scansione delle vulnerabilità basata su NSE su reti interne o esterne.

Vedi Repository
Condividi

SpooNMAP

CI

Dipendenze

Questo script è un wrapper per masscan e nmap. nmap gestisce l'host discovery e (per scansioni più piccole) la port discovery, il service banner grabbing e gli script NSE. Masscan viene utilizzato per la port discovery su larga scala dove la velocità grezza è fondamentale. Installa entrambi dal tuo package manager preferito o dai sorgenti.

È richiesto Python 3.8+ (requires-python in pyproject.toml; la CI parte da 3.8).

Installazione

SpooNMAP può essere eseguito direttamente da un checkout — nessun passaggio di installazione necessario, vedi "Utilizzo" di seguito — oppure installato come comando standalone con uv:

uv tool install git+https://github.com/trustedsec/spoonmap

Questo mette un eseguibile spoonmap nel tuo PATH, così puoi invocarlo come spoonmap da qualsiasi directory invece di clonare il repo ed eseguire ./spoonmap.py. Non esiste un pacchetto PyPI — questo progetto non è mai stato pubblicato su pypi.org, e il comando sopra installa direttamente dal repository git. Usa la forma completa git+https://... sopra, non un semplice uv tool install spoonmap; qualunque cosa quel nome risolva su PyPI, ora o in futuro, non è questo progetto.

Per aggiornare all'ultimo commit:

uv tool upgrade spoonmap

Installare in questo modo non rende SpooNMAP uno scanner autonomo: masscan e nmap restano strumenti di sistema separati che devono essere installati indipendentemente (vedi "Dependencies" sopra), esattamente come quando si esegue da un checkout — uv tool install impacchetta solo il codice Python di SpooNMAP e i suoi script NSE inclusi, non i binari esterni che invoca.

L'unica cosa che vale la pena capire prima di installare in questo modo: il modulo Python di uno spoonmap installato risiede ovunque uv abbia collocato il suo ambiente gestito per gli strumenti — non in una directory in cui ti verrebbe mai da cercare un file di configurazione o l'output di una scansione. È esattamente lo scenario di cui tratta la sezione "Where Files Live" qui sotto — leggi quella sezione per capire cosa viene risolto rispetto alla tua directory corrente e perché; installare tramite uv tool install non cambia la regola, la rende semplicemente rilevante, dato che non resta alcuna directory di checkout su cui un percorso di configurazione o di output possa ricadere per abitudine.

Usage

Eseguire semplicemente lo script ti chiederà tutte le opzioni richieste.

config.json, i file di target/esclusione e l'output della scansione vengono tutti risolti rispetto alla directory da cui esegui il comando — vedi "Where Files Live" qui sotto se il tuo output non è dove te lo aspetti, specialmente se sei abituato a invocare SpooNMAP tramite percorso da fuori la sua directory.

Se usi uv, puoi eseguire senza un ambiente virtuale separato:

uv run spoonmap.py

Oppure invocalo direttamente se lo script è eseguibile:

# ./spoonmap.py

________                   _____   _______  _________________
__  ___/______________________  | / /__   |/  /__    |__  __ \
_____ \___  __ \  __ \  __ \_   |/ /__  /|_/ /__  /| |_  /_/ /
____/ /__  /_/ / /_/ / /_/ /  /|  / _  /  / / _  ___ |  ____/
/____/ _  .___/\____/\____//_/ |_/  /_/  /_/  /_/  |_/_/
       /_/


Service Categories (comma-separated numbers, default: All)
	(1) Web          [80, 443, 7001, 7002, 8000, 8080, 8081, 8443, 8888, 9090, 10443]
	(2) Database     [1433, U:1434, 1521, 3306, 5432, 6379, 9200, 27017]
	(3) Remote Management  [22, 23, 3389, 5900, 5901, 6129, 1723, 5985, 5986]
	(4) Email        [25, 110, 143, 465, 587, 993, 995]
	(5) LDAP         [389, 636]
	(6) Network Infrastructure  [53, 179, U:500, U:161, U:623, U:631, U:1194, 1194]
	(7) File Transfer      [21, 111]
	(8) SMB          [445, 135, 139, U:137]
	(9) Specialized  [1090, 3300, 4786, 6970, 2375, 4243, 9100, 8530, 8531]
	(10) Containers & Debuggers  [2377, 10250, 8001, 9229, 2345, 5005, 61616, 8009, 6000]
	(11) Local LLM  [11434, 1234, 7860, 5000, 5001, 1337, 3000, 8000, 8080]
	(12) Full Port Scan  [1-65535, TCP only — no UDP]
	(c) Custom Port Scan  [enter your own comma-separated ports]

(The Full Port Scan number increments automatically with the number of categories.)

**Full Port Scan is TCP only.** It sweeps TCP 1-65535 and runs no UDP discovery at
all, so every `U:` port listed in the categories above — SNMP (U:161), IKE (U:500),
IPMI (U:623), IPP (U:631), OpenVPN (U:1194), NetBIOS (U:137), SQL Browser (U:1434) —
is skipped, along with the NSE scripts and findings that depend on them. It is
*wider* than All on TCP and *narrower* on UDP. For both, run All and Full as two
passes, or use the Custom option with the UDP ports appended
(e.g. `1-65535,U:161,U:500,U:623`).

Which categories would you like to scan (e.g. 1,3 — default: All)?

Would you like to enumerate service banners for any identified services (default: Yes)?

Would you like to run NSE security scripts on identified services (default: No)?

Target Scan
	(1) External
	(2) Internal

Is this an internal or external scan (default: External)?

How fast would you like to scan (default: 20000 packets/second)?

Please enter the full path for the file containing target hosts (default: /opt/spoonmap/ranges.txt):

Would you like to exclude any hosts? (default: No)

Run host discovery before port scanning (default: Yes)?

Tune advanced settings (nmap threads, masscan batch size, nmap work-unit threshold)? (default: No)

Puoi anche creare un file config.json (basato su config.json.sample) per saltare tutti i prompt:

{
    "scan_categories": ["Web", "Database", "Remote Management"],
    "banner_scan": "True",
    "script_scan": "False",
    "host_discovery": "True",
    "target_scan": "Internal",
    "max_rate": "2000",
    "target_file": "ranges.txt",
    "output_path": "./",
    "exclusions_file": "exclusions.txt",
    "nmap_threads": 5,
    "masscan_batch_size": 5,
    "nmap_threshold": 5000000
}

Per scansionare tutte le categorie, impostare "scan_categories": "All". Per scansionare tutte le 65535 porte TCP, impostare "scan_categories": "Full" — si noti che questo è solo TCP e non esegue alcuna scoperta UDP. Per un elenco di porte completamente personalizzato, omettere scan_categories e usare invece "dest_ports": ["80","443","U:53"]. Le porte UDP sono specificate con un prefisso U: (ad es. "U:53").

Quando si risponde ai prompt interattivi, le opzioni selezionate vengono scritte in config.json prima che inizi la scansione. Il file generato documenta ogni campo modificabile allo stesso modo di config.json.sample, e contiene una chiave marcatore __generated_by_prompts__. Ciò significa che una scansione interattiva interrotta può essere ripresa allo stesso modo di una guidata da configurazione — è sufficiente rieseguirla con --resume, e tutti i prompt vengono saltati.

Se viene rilevato l'output di una scansione precedente in output_path, lo strumento offre tre scelte: [d]elete (rimuovere l'output precedente e ricominciare da zero), [a]ppend (mantenere l'output precedente ma rieseguire tutte le fasi), oppure [r]esume (mantenere l'output precedente e saltare il lavoro già completato, esattamente come fa il flag --resume).

Scarica lo strumento