Catturare traffico di rete di un nas Synology tramite tcpdump e Wireshark

Network-analisys
Network analisys

Synology network monitoring

Se avete bisogno di analizzare il traffico di rete che interessa il vostro nas server Synology e state cercando una soluzione comoda, in tempo reale e graficamente semplice allora seguite questa guida!

Software necessari:

  1. tcpdump installato sull’host/server che si intende monitorare (es: Synology Nas)
  2. Wireshark installato sul client che effettua il monitoring (es: Mac o Linux)

wireshark-logo

Una volta installati entrambi i software occorre prima abilitare il login ssh come “root” al server/nas: l’accesso come root permetterà a tcpdump di avere permessi sufficienti.
Dalle ultime versioni del DSM però non è più possibile accedere come root via ssh di default. Tuttavia si può abilitare l’accesso usando un sistema a coppia di chiavi pubblica/privata.

Per la creazione da PC Windows consiglio questa guida ufficiale di Synology , oppure usate il vostro terminale (nel mio caso, dal Mac) ed eseguite i comandi:

ssh-keygen -t rsa
ssh-copy-id [email protected]_IP

In questo modo verrà copiata la chiave SSH in ~/.ssh/authorized_keys dal vostro terminale (Mac) alla home folder dell’utente user.

Ora, se provate ad accedere via ssh a [email protected]_IP noterete che non vi verrà più chiesta la password.
Bene, abilitiamo quindi l’accesso via root semplicemente copiando il file authorized_keys nella home folder di root:

ssh [email protected]_IP
sudo mkdir /root/.ssh
sudo cp .ssh/authorized_keys /root/.ssh/

A questo punto potete accedere senza password anche con l’utente root!

Avviamo infine il comando che ci permetterà di analizzare i pacchetti sul Wireshark locale, tramite apposita applicazione tcpdump installata sul NAS:

ssh [email protected]_IP tcpdump -U -s0 -w - 'not port 22' | wireshark -k -i -

Il comando, in ordine:

  1. si connette in SSH al server/nas tramite root
  2. avvia tcpdump sul server/nas in modalità packet-buffered (-U)  escludendo la porta 22 (traffico SSH)
  3. avvia Wireshark come stardard-input sul client Mac/Linux (si noti “Standard Input” sulla barra di stato)

    wireshark-standard-input
    Wireshark avviato in stardard-input

Dando avvio, la shell prima chiede la password dell’utente root e, se tutto va a buon fine, avvia tcpdump mostrando a video il messaggio “tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes”.

Per uscire dalla cattura interrompere il comando con “CTRL + T” (anche Wireshark si chiuderà in automatico).

Buon lavoro!

Commenti

Ancora nessun commento. Perché non inizi una discussione?

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.