ZENA: Analizzatore di reti wireless sniffer 2.4GHz [recensione]

Lo sniffer Zena proposto da Microchip, è uno sniffer di rete 802.15.4 ottimo per la cattura dei pacchetti di rete sia dello standard ZigBee sia dei protocolli proprietari della Microchip, come nel caso dei protocolli MiWi e MiWi P2P (sempre basati su 802.15.4).

Questi protocolli consentono di realizzare applicazioni wireless a corto raggio, e di fatto modificano lo strato di Media Access Control della specifica  dello standard IEEE 802.15.4 aggiungendo dei comandi che facilitano il processo di handshaking.  In questo articolo si è preso in considerazione solo lo stack standard ZigBee, comune a tutti i dispositivi certificati ZigBee, indipendentemente dal vendor che li ha realizzati.

Gli altri protocolli proprietari sviluppati da Microchip e disponibili nel tool di configurazione, sono comunque ampiamente trattati in dettaglio dalla documentazione in pdf fornita con l’installazione del sofware.  Lo sniffer Zena si propone come ottimo strumento di sviluppo, valorizzando la fase di debug di un sistema, mettendo a disposizione dell’utente due tool grafici molto pratici: lo ZigBee Network Monitor e lo Zena Network Configuration Display. E’ inoltre consentita una configurazione  minuziosa dei parametri riferiti all’hardware prodotto dalla Microchip.

Nel caso specifico di questo articolo, i dispositivi hardware a disposizione erano della Jennic (moduli ZigBeePro 5148), e i tool applicativi forniti a corredo con lo sniffer, hanno consentito un tracciamento puntuale dei pacchetti scambiati tra i vari nodi  all’interno della rete ZigBee in esame. Una delle peculiarità di questi tools, è il ricorso ai colori sia per evidenziare meglio la composizione del singolo pacchetto (ZigBee Network Monitor) sia per individuare agevolmente ogni singolo nodo ZigBee e i relativi comandi/risposte intercorsi durante la comunicazione, oltre alla possibilità di posizionare i nodi con un semplice ‘drag and drop’ all’interno dell’area di visualizzazione fornita dallo Zena Network Configuration Display: se si ha voglia e tempo si può rendere più ‘reale’ questa disposizione dell’hardware, grazie all’opportunità di caricare una mappa in formato bitmap (opportunamente scalata) dell’area di test.

In conclusione questo prodotto Microchip  (sniffer di rete HW ed il software applicativo a corredo) consente  di poter processare i dati raccolti in fase di test ed analizzare in modo più o meno approfondito (scegliendo tra tre livelli di dettaglio) e ricostruire passo dopo passo una sequenza particolare di messaggi: ottimo per isolare eventuali anomalie ed ottimo anche come strumento didattico per comprendere in modo dinamico come avviene la comunicazione tra i vari nodi nella rete. Un maggior livello di dettaglio è possibile raggiungerlo solo utilizzando dispositivi hardware della Microchip, avendo in questo modo la possibilità di configurare minuziosamente ogni parametro del singolo dispositivo, sino a consentire di configurare il singolo pin del microprocessore in esame.

  

ZENA Sniffer di Rete

Contenuto della scatola:  

  • Zena sniffer di rete 802.15.4
  • Cavo usb per collegare lo sniffer alla porta USB del Pc
  • Software  di installazione su CD.

 La scatola porta in rilievo la scritta “Inspected 16 july 2007” e la versione del software risulta essere la 2.0. Il processo di installazione del software applicativo e dei driver  contenuti nel CD è immediato: una volta inserito il CD di installazione parte l’autorun in automatico. Se avete disattivato questa opzione da Windows potete tranquillamente mandare in esecuzione il sw di installazione avviandolo direttamente dall’unità del vostro drive ottico tramite il programma “ZENAmenu.exe”. Viene mostrato subito il menu di installazione che mette a disposizione tre pulsanti: il primo prevede l’installazione completa del software, mentre gli ultimi due prevedono l’installazione del SW relativo solo ad uno stack protocollare tra quelli disponibili. Nell’installazione del software ho preferito effettuare l’installazione completa (Figura 1).

   

 Figura 1

Figura 1 

n breve tempo il sw dell’applicazione ed i driver dello sniffer vengono installati senza alcun problema. Personalmente ho provato l’installazione sia su un sistema a 32 bit con Win XpPro sia su un sistema a 64bit con Win7 x64, entrambe andate a buon fine. Al termine dell’installazione si è subito operativi: basta collegare lo sniffer con il cavo usb collegato al  PC ed una rete ZigBee attiva e si è pronti per iniziare. All’avvio il  programma ZENA mostra due menu (tre nell’ultima versione disponibile dal sito della MicroChip – versione 3.0) che consentono di accedere allo stesso sottomenu:

 Figura 2.0: ZigBee e MiWi (più MiWi P2P nella vers. 3.0).

 

   Vediamo brevemente Stack Configuration ed in modo più approfondito il Network Traffic Monitor

 

  Stack Configuration

 La selezione di questa voce, consente di accedere ad una configurazione puntuale dei vari parametri della rete ZigBee, limitatamente all’HW prodotto dalla Microchip.  A questo proposito, la stessa MicroChip fornisce una esaustiva guida in merito oltre ad altro materiale cartaceo o lezioni video (webinar), liberamente scaricabili dal loro sito.  Chi non dovesse avere a disposizione moduli ZigBee della MicroChip, come chi sta scrivendo, può comunque sfruttare lo Zena al meglio come sniffer di rete,  analizzato nel dettaglio nella sezione Network Traffic Monitor . Se non  si ha molta dimestichezza con i dispositivi hardware ZigBee, è consigliabile dare una occhiata al dettagliato documento PDF, "ZENA Analyzer User's Guide 51606b " che accampagna l’installazione del pacchetto software.

  Network Traffic Monitor

 

 Nel mio caso specifico,  ho utilizzato lo sniffer durante una sessione di test in ambito  localizzazione interna su ZigBee, con moduli HW 5148 (ZigBeePro) della Jennic. Lo scenario di test è composto da quattro nodi ZigBee configurati come Router ed un nodo ZigBee configurato come coordinatore, più un nodo ZigBee semplice costituito da un navigatore.  

 

  

 Figura 2.1  

 Figura 2.1

 Dopo aver selezionato l’item Network Traffic Monitor dal menu ZigBeeTools, vengono aperte due nuove finestre:

  •  ZigBee Network Monitor 
  • Zena Packet Sniffer

Vediamo più da vicino questi due utili strumenti.

 

 

ZigBee Network Monitor 

 Questa applicazione, ampiamente customizzabile, si presenta come un pannello di controllo da cui selezionare i parametri fondamentali su cui agirà il tool. 

 

 Figura 3.0

 Figura 3.0

 

L’impostazione di default rende disponibile l’accesso ai principali parametri, come la scelta del canale da monitorare, il tempo di aggiornamento, se si vuole visualizzare in tempo reale il monitoraggio dei pacchetti intercettati dallo sniffer, più la sezione Verboseness Level che consente di scegliere la modalità ed il livello con cui i messaggi relativi ai parametri MAC, NWK e APS devono essere visualizzati.

 Le opzioni che si possono selezionare sono tre:

  • Verbose: mostra dettagliatamente la descrizione dell’headers per ogni campo di cui è composto ogni pacchetto
  • Numeric: mostra i valori numerici dell’headers
  • Condensed: mostra l’headers dei pacchetti in modo più compatto. E’ in assoluto il livello, meno dettagliato 

 Figura 3.1

Figura 3.1

 Queste tre modalità possono essere scelte in modo indipendente per i parametri MAC, NWK e APS, cioè si può scegliere anche un livello di dettaglio differente per ognuno dei tre parametri. Per chi volesse avere ancora un maggior dettaglio su cosa monitorare, il pannello di controllo consente una maggior flessibilità, selezionando il pulsante ‘Filter’:

 

 

Figura 3.2

Figura 3.2

 

 


Figura 3.3

 L’ opzione ‘Filter’ risulta molto utile nella fase di debug, perchè consente di isolare in modo certosino gli eventuali problemi. Questo perchè se da un lato può essere utile avere a disposizione il maggior dettaglio possibile su ciò che accade durante la trasmissione dei pacchetti, è anche vero che essere inondati di ogni tipo di info può distogliere l’attenzione e rendere problematica l’individuazione di un particolare problema. Una volta selezionato il livello di dettaglio delle informazioni che desideriamo monitorare, il pannello di controllo consente di visualizzare solo i principali pulsanti di comando, consentendo di dare maggior spazio alle finestre di monitoraggio.

Figura 3.4

Figura 3.4

Bene, ora dopo aver impostato tutti i livelli di  dettaglio che desideriamo, possiamo iniziare a monitorare i pacchetti premendo il classico pulsante di Play. Se dal pannello di controllo si è selezionato l’item Real Time Display con attiva la funzione di AutoScroll,  nella finestra Zena packet Sniffer si inizieranno a veder scorrere tutti i pacchetti scambiati dai dispositivi ZigBee in esame. Per facilitare l’individuazione dei vari campi che costituiscono il pacchetto, MicroChip ha pensato bene di assegnare dei colori, secondo lo schema di seguito riportato nella tabella 1.

Campo

Colore

MAC Header

Bianco

MAC Commands and Beacons

Rosso

NWK Header

Verde chiaro

NWK Commands

Fucsia

APS Header

Giallo

APS Payload/Decoding

Celeste

Security Header and Encrypted Data

Blue

Unknown

Verde oliva

Tabella 1

Una volta presa un pò di familiarità con i colori, selezionando la modalità Real Time Display con l’item Auto Scroll attivato è possibile avere un check visivo immediato sui pacchetti che i vari nodi ZigBee si scambiano, e verificare ad esempio se la join tra i router ed il coordinatore è andata a buon fine. Ma al di là di questo task particolare, è bene ricordarsi di non selezionare l’ Auto Scroll onde evitare di rallentare eccessivamente il sistema. Daltronde il più grosso aiuto che uno sniffer fornisce, riguarda la fase di debug a posteriori, consentendo di analizzare tutti i dati raccolti in modo da individuare ed isolare agevolmente le anomalie occorse.  Per concludere l’attività di raccolta dei pacchetti, basta usare il canonico pulsante di Stop posto sul pannelo di controllo. Un messaggio di pop-up ci informerà che è stato avviato il processamento dei dati. Alla fine del processamento si possono salvare i dati in un file nel formato proprietario del tool, che presenta estensione “.zna”. Per l’analisi basta caricare il file di interesse e farne il Play. Verrà automaticamente creata la finestra dello ZENA Packet Sniffer al cui interno vengono mostrati tutti i pacchetti, rigorosamente numerati e ordinati.  Negli screenshot che seguono potete farvi un idea di come vengano evidenziate le info contenute nei pacchetti ed il livello di dettaglio massimo consentito dal tool.

Figura 3.5

Figura 3.5

 

Figura 3.6a

Figura 3.6a

Figura 3.6b

Figura 3.6b

N.B. I due screenshot presentati in figura 3.6 vanno considerati affiancati, perchè riguardano i medesimi pacchetti (non cambia il frame number).

Ma il tool non si limita a questo. Ogni pacchetto può essere selezionato (figura 3.7) ed il contenuto inviato o alla clipboard in formato esadecimale o ad una nuova finestra dedicata.

Figura 3.7

Figura 3.7

Per agevolarci ulteriormente nell’ingrato (per esperienza pwersonale) compito di debug, insieme alla funzione di network monitor è stata affiancato il tool di Network Configuration Display (Figura 3.8)

L’uso dei colori per codificare con maggior chiarezza quanto avviene nella rete ZigBee, trova applicazione anche qui, secondo il seguente schema:

Node Type

Color

ZigBee™ Protocol Coordinator

Celeste

ZigBee Protocol Router

Fucsia

FFD End Device

Verde chiaro

RDF End Device

Giallo

Unknown

Bianco

Tabella 2

Figura 3.8

Figura 3.8

 

Quando selezionato crea in automatico una nuova finestra che sarà popolata dalle richieste e risposte proprie del protocollo ZigBee. La figura 3.9 mostra lo Zena Network Configuration Display mentre viene popolato real time durante l’operazione di cattura dei pacchetti. Come è possibile notare, diventa difficile trarre grosso vantaggio di questo tool grafico in real time, specie nel caso in cui ci siano un numero di nodi ZigBee ben più elevato di quello dello scenario di test qui analizzato, ma nonostante ciò, la quantità di messaggi scambiata è già notevole.

Figura 3.9

Figura 3.9

 

Ancora una volta l’utilità di questo tool grafico viene ampiamente apprezzata nella fase di debug. E’ possibile popolare la NCD window con una sequenza specifica di pacchetti per ricostruire puntualmente una particolare sequenza di richieste/comandi e capire cosa avviene in un determinato intervallo temporale in modalità step by step (figura 4.0). Inoltre, può essere utilizzato anche a scopo didattico (vedere la mini slide-show allegata) per comprendere in modo dinamico chi,  che cosa e la direzione della comunicazione che avviene tra i dispositivi che formano la rete ZigBee.

Figura 4.0

Figura 4.0

 

A sottolineare l’utilità di questa funzione, c’è la possibilità di poter caricare una mappa in scala – formato bitmap – della location di test, con la possibilità di spostare tramite trascinamento i dispositivi sulla mappa, e poter avere immediatamente il colpo d’occhio sull’ambiente di test e scoprire ad esempio, se un dispositivo smette di comunicare per una qualche ragione (figura 4.1).  

Figura 4.1

Figura 4.1

 

L’unica vera grande pecca di questi due tools grafici, risiede nell’impossibilità di esportare graficamente (magari in formato vettoriale) gli utili output ottenuti dal processamento dei dati. Questa limitazione influisce negativamente anche nella generazione di una reportistica puntuale riguardo la tracciatura degli eventuali bugs. Prendere degli screenshot ‘al volo’ non consente la dovuta precisione e chiarezza, nè tantomeno si può pensare di inserire in una reportistica, la stringa esadecimale di un pacchetto dati: sicuramente allegare una immagine proveniente dallo  ZENA Packet Sniffer e/o dallo Zena Network Configurator Display danno una visuale di insieme decisamente più dettagliata ed immediata.

L'analizzatore Zena è disponibile da Farnell

Scarica subito una copia gratis

Scrivi un commento

Seguici anche sul tuo Social Network preferito!

Send this to a friend