Identificazione dei servizi e risoluzione dei nomi.
Novità
Identificazione dei servizi (opzione -b o --banner) — ogni porta
aperta viene interrogata per ricavare l'identità di ciò che ascolta.
Prima:
22/tcp APERTA 172ms ssh
80/tcp APERTA 178ms http
Adesso:
22/tcp APERTA 172ms ssh SSH-2.0-OpenSSH_6.6.1p1 Ubuntu-2ubuntu2.13
80/tcp APERTA 178ms http Apache/2.4.7 (Ubuntu)
Non è un dettaglio estetico: quelle due righe dicono che dall'altra
parte c'è una Ubuntu 14.04, fuori supporto da anni. Il numero di porta
da solo non lo avrebbe mai detto.
Sono gestiti i tre comportamenti dei protocolli più diffusi. Alcuni si
presentano da soli appena la connessione si apre (SSH, SMTP, FTP,
POP3, IMAP); altri restano in attesa di una richiesta, e ricevono una
HEAD minima da cui si estrae l'intestazione Server; altri ancora
non dicono nulla in chiaro, e per questi si completa l'handshake TLS
ricavando versione del protocollo e nome comune del certificato — che
sugli apparati di gestione identifica il dispositivo meglio di
qualsiasi banner applicativo:
443/tcp APERTA 2ms https TLS1.2 | cudy.net
L'opzione comporta l'invio di dati verso il servizio, e quindi una
traccia più evidente nei log del sistema interrogato: per questo non è
attiva di default.
Risoluzione inversa dei nomi nella scansione di rete. Gli host
attivi vengono risolti in parallelo, con un timeout indipendente da
quello delle sonde perché un indirizzo privo di record PTR fa attendere
il resolver fino alla propria scadenza. Su una rete dove il DNS inverso
è popolato, un elenco di indirizzi diventa un inventario leggibile.
Binari
| File | Sistema | Architettura | Note |
|---|---|---|---|
netools-linux-amd64 |
Linux | x86-64 | server e desktop |
netools-linux-386 |
Linux | x86 32 bit | sistemi datati |
netools-linux-arm64 |
Linux | ARM 64 bit | Raspberry Pi 4/5, VM ARM |
netools-linux-armv7 |
Linux | ARM 32 bit | Raspberry Pi 2/3 |
netools-darwin-arm64 |
macOS | Apple Silicon | M1 e successivi |
netools-darwin-amd64 |
macOS | Intel | |
netools-windows-amd64.exe |
Windows | x86-64 | |
netools-windows-arm64.exe |
Windows | ARM 64 bit | |
netools-freebsd-amd64 |
FreeBSD | x86-64 | TrueNAS, pfSense |
Binari statici: non richiedono runtime, librerie di sistema o privilegi
di amministratore.
Rispetto alla 0.5 le dimensioni sono raddoppiate, da 2.4 a circa 5 MB:
è il costo dell'implementazione TLS della libreria standard, che porta
con sé suite crittografiche, parser dei certificati e archivio delle
autorità di certificazione.
Uso
chmod +x netools-linux-amd64
./netools-linux-amd64 -b 10.0.0.5 storage
./netools-linux-amd64 scan 10.0.0.0/24
Su macOS un binario scaricato viene messo in quarantena da Gatekeeper:
xattr -d com.apple.quarantine netools-darwin-arm64