Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
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.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
sonar — Strumento CLI per ispezionare e gestire i servizi in ascolto sulle porte di localhost | Kitploit
Strumenti/GitHubGitHub/raskrebs/sonar
Utilità GenericheMappatura della ReteScansione PorteScripting e AutomazioneRaccolta InformazioniDevSecOps
GitHubraskrebs/sonar

sonar

Strumento CLI per ispezionare e gestire i servizi in ascolto sulle porte di localhost

Vedi Repository
1.1k333 mesi 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 →
Condividi
root@kitploit:~
███████╗ ██████╗ ███╗   ██╗ █████╗ ██████╗
██╔════╝██╔═══██╗████╗  ██║██╔══██╗██╔══██╗
███████╗██║   ██║██╔██╗ ██║███████║██████╔╝
╚════██║██║   ██║██║╚██╗██║██╔══██║██╔══██╗
███████║╚██████╔╝██║ ╚████║██║  ██║██║  ██║
╚══════╝ ╚═════╝ ╚═╝  ╚═══╝╚═╝  ╚═╝╚═╝  ╚═╝

Scopri cosa c'è in esecuzione sulla tua macchina.

Mi sono stancato di eseguire lsof -iTCP -sTCP:LISTEN | grep ... ogni volta che una porta era già occupata, per poi perdere un altro minuto a capire se si trattava di un container Docker o di qualche server di sviluppo orfano da un altro worktree. Così ho creato sonar.

Mostra tutto ciò che è in ascolto su localhost, con i nomi dei container Docker, i progetti Compose, l'utilizzo delle risorse e URL cliccabili. Puoi terminare processi, seguire i log, accedere ai container e molto altro — tutto tramite numero di porta.

root@kitploit:~
$ sonar list
PORTA   PROCESSO                      CONTENITORE                    IMMAGINE        P_CONTAINER   URL
1780    proxy (traefik:3.0)           my-app-proxy-1                 traefik:3.0     80            http://localhost:1780
3000    next-server (v16.1.6)                                                       http://localhost:3000
5432    db (postgres:17)              my-app-db-1                   postgres:17      5432          http://localhost:5432
6873    frontend (frontend:latest)    my-app-frontend-1             frontend:latest  5173          http://localhost:6873
9700    backend (backend:latest)      my-app-backend-1              backend:latest   8000          http://localhost:9700

5 porte (4 docker, 1 utente)

Installazione

Homebrew (macOS / Linux)

root@kitploit:~
brew install raskrebs/sonar/sonar

Su macOS questo installa anche l'app della barra dei menu sonar-tray.

Script di installazione

root@kitploit:~
curl -sfL https://raw.githubusercontent.com/raskrebs/sonar/main/scripts/install.sh | bash

Scarica l'ultimo binario in ~/.local/bin e lo aggiunge al tuo PATH se necessario. Riavvia il terminale o esegui source ~/.zshrc.

Su Windows (PowerShell):

root@kitploit:~
irm https://raw.githubusercontent.com/raskrebs/sonar/main/scripts/install.ps1 | iex

Posizione di installazione personalizzata:

root@kitploit:~
curl -sfL https://raw.githubusercontent.com/raskrebs/sonar/main/scripts/install.sh | SONAR_INSTALL_DIR=/usr/local/bin bash

Installa una versione specifica:

root@kitploit:~
curl -sfL https://raw.githubusercontent.com/raskrebs/sonar/main/scripts/install.sh | SONAR_VERSION=vX.Y.Z bash
root@kitploit:~
$env:SONAR_VERSION="vX.Y.Z"; irm https://raw.githubusercontent.com/raskrebs/sonar/main/scripts/install.ps1 | iex

Usando Go

root@kitploit:~
go install github.com/raskrebs/sonar@latest

Nota: go install installa solo la CLI. L'app della barra dei menu (sonar tray) è un binario Swift nativo e deve essere compilata separatamente — vedi App della barra dei menu più sotto.

Completamenti per la shell (completamento tab dei numeri di porta):

root@kitploit:~
sonar completion zsh > "${fpath[1]}/_sonar"   # zsh
sonar completion bash > /etc/bash_completion.d/sonar  # bash
sonar completion fish | source                 # fish

Utilizzo

Elenca le porte

root@kitploit:~
sonar list                     # mostra tutte le porte
sonar list --stats             # include CPU, memoria, stato, uptime
sonar list --filter docker     # solo porte Docker
sonar list --sort name         # ordina per nome del processo
sonar list --json              # output JSON
sonar list -a                  # include app desktop
sonar list -c port,cpu,mem,uptime,state  # colonne personalizzate
sonar list --health            # esegue controlli di integrità HTTP
sonar list --host user@server  # esamina una macchina remota via SSH

Per impostazione predefinita, sonar nasconde le app desktop e i servizi di sistema che ascoltano su porte TCP ma non sono rilevanti per lo sviluppo — cose come Figma, Discord, Spotify, ControlCenter, AirPlay e altri bundle .app di macOS e demoni di /System/Library/. Usa -a per includerli.

Colonne disponibili: port, process, pid, type, url, cpu, mem, threads, uptime, state, connections, health, latency, container, image, containerport, , , , ,

Ispeziona una porta

root@kitploit:~
sonar info 3000

Mostra tutto su una porta: comando completo, utente, indirizzo di bind, CPU/memoria/thread, uptime, risultato del controllo di integrità e dettagli Docker se applicabili.

Termina i processi

root@kitploit:~
sonar kill 3000                            # SIGTERM
sonar kill 3000 -f                         # SIGKILL
sonar kill-all --filter docker             # ferma tutti i container Docker
sonar kill-all --project my-app            # ferma un progetto Compose
sonar kill-all --filter user -y            # salta la conferma

I container Docker vengono arrestati con docker stop invece di inviare segnali.

Visualizza i log

root@kitploit:~
sonar logs 3000

Per i container Docker, esegue docker logs -f. Per i processi nativi, scopre i file di log tramite lsof e li segue. In alternativa usa log stream su macOS o /proc/<pid>/fd su Linux.

Collega a un servizio

root@kitploit:~
sonar attach 3000                          # shell nel container Docker, o connessione TCP
sonar attach 3000 --shell bash             # shell specifica

Monitora le modifiche

root@kitploit:~
sonar watch                                # polling ogni 2s, mostra le differenze
sonar watch --stats                        # statistiche delle risorse in tempo reale (come docker stats)
sonar watch -i 500ms                       # polling più veloce
sonar watch --notify                       # notifiche desktop quando le porte vanno su/giù
sonar watch --host user@server             # monitora una macchina remota

Grafico delle dipendenze

root@kitploit:~
sonar graph                                # mostra quali servizi comunicano tra loro
sonar graph --json                         # output strutturato
sonar graph --dot                          # formato Graphviz DOT

Mostra le connessioni stabilite tra le porte in ascolto (es. il tuo backend che si connette a postgres).

Profili

Salva un insieme di porte previste per un progetto, poi verifica se sono tutte attive o fermale:

root@kitploit:~
sonar profile create my-app                # istantanea delle porte correnti
sonar profile list                         # elenca i profili salvati
sonar profile show my-app                  # mostra i dettagli del profilo
sonar up my-app                            # verifica quali porte previste sono in esecuzione
sonar down my-app                          # ferma tutte le porte nel profilo

Attesa delle porte

root@kitploit:~
sonar wait 5432                        # blocca finché la porta non accetta connessioni
sonar wait 5432 3000 6379              # attesa per più porte
sonar wait 5432 --timeout 30s         # fallisce dopo 30 secondi
sonar wait 5432 --http                # attesa per HTTP 200, non solo TCP aperto
sonar wait 5432 --http=/health        # controlla un endpoint specifico
sonar wait 5432 -i 500ms              # intervallo di polling personalizzato
sonar wait 5432 -q                    # nessun output, solo codice di uscita (per script)

Utile per script attorno a docker compose up -d o servizi in background. Il flag --http attende una risposta HTTP 200-399 effettiva, non solo un socket TCP, catturando servizi che accettano connessioni prima di essere realmente pronti. Usa --http=/health per controllare un endpoint specifico. Codici di uscita: 0 (pronto), 1 (timeout), 2 (interrotto).

root@kitploit:~
docker compose up -d
sonar wait 5432 3000 --timeout 60s && npm run migrate && npm run test

Mappatura delle porte

root@kitploit:~
sonar map 6873 3002

Proxy del traffico in modo che il servizio sulla porta 6873 sia disponibile anche sulla porta 3002.

Trova porte libere

root@kitploit:~
sonar next                                 # prima porta libera successiva da 3000
sonar next 8000                            # prima porta libera successiva da 8000
sonar next 3000-3100                       # prima porta libera successiva nell'intervallo
sonar next -n 3                            # 3 porte libere consecutive
sonar next --json                          # output JSON

Altro

root@kitploit:~
sonar open 3000                            # apre nel browser
sonar tray                                 # app nella barra dei menu con statistiche in tempo reale (macOS)
sonar --no-color                           # disabilita i colori (rispetta anche la variabile d'ambiente NO_COLOR)

Il flag --stats recupera l'utilizzo delle risorse per processo e per container. Per i container Docker, utilizza l'API Docker Engine per metriche accurate per container. Senza --stats, sonar restituisce immediatamente.

Configurazione

sonar legge le impostazioni predefinite opzionali da ~/.config/sonar/config.yaml. Il file è opzionale — senza di esso, vengono applicate le impostazioni predefinite interne. I flag della riga di comando sovrascrivono sempre il file di configurazione.

Crea un file iniziale:

root@kitploit:~
sonar config init       # scrive un template commentato
sonar config path       # stampa la posizione del file
sonar config edit       # lo apre in $EDITOR

Esempio di configurazione:

root@kitploit:~
list:
  columns: [port, process, container, image, containerport, url]
  sort: port            # port | pid | name | type
  filter: ""            # docker | user | system | "" (tutti)
  all: false            # include le app desktop per default
color: true             # imposta false per disabilitare l'output a colori
services:               # etichetta porte personalizzate/sconosciute
  9000: php-fpm
  5050: my-dashboard

I valori non validi vengono ignorati con un avviso; sonar continua con i valori predefiniti.

App della barra dei menu

L'app della barra dei menu (solo macOS) è un binario Swift nativo che mostra le statistiche delle porte in tempo reale nella barra dei menu. Se hai installato sonar tramite lo script di installazione o una release di GitHub, il binario della barra (sonar-tray) è incluso automaticamente.

Se hai installato tramite go install, compilalo manualmente:

root@kitploit:~
swiftc -O -o sonar-tray tray/SonarTray.swift -target arm64-apple-macos13

Quindi sposta sonar-tray da qualche parte nel tuo $PATH ed esegui:

root@kitploit:~
sonar tray

Piattaforme supportate

  • macOS (usa lsof)
  • Linux (usa ss)
  • Windows (usa netstat)

Contributori

Grazie a tutti coloro che hanno contribuito a sonar!

Scarica lo strumento
compose
project
user
bind
ip