Prima di apprendere il test del protocollo, capiamo:
Cos'è il protocollo?
Quando un computer comunica tra loro, esiste un insieme comune di regole e condizioni che ogni computer deve seguire. In altre parole, i protocolli determinano il modo in cui i dati vengono trasmessi tra i dispositivi informatici e sulle reti.
Test del protocollo
Il test del protocollo è un metodo per controllare i protocolli di comunicazione nei domini di Switching, Wireless, VoIP, Routing, ecc. L'obiettivo principale del test del protocollo è controllare la struttura dei pacchetti inviati su una rete utilizzando strumenti di test del protocollo. Router e switch vengono utilizzati durante il test per formare parti di dispositivi e prodotti in fase di test.
Protocolli di instradamento e instradamento
I protocolli sono classificati in due categorie protocolli di routing e protocolli di routing
- Protocolli instradati : i protocolli instradati possono essere utilizzati per inviare i dati utente da una rete a un'altra rete. Trasporta il traffico degli utenti come e-mail, traffico web, trasferimenti di file, ecc. I protocolli instradati sono IP, IPX e AppleTalk.
- Protocolli di routing : i protocolli di routing sono protocolli di rete che determinano le route per i router. Viene utilizzato solo tra router. Ad esempio RIP, IGRP, EIGRP, ecc.
In termini semplici, un router è come un autobus utilizzato per il trasporto mentre i protocolli di routing sono segnali sulla strada.
In base al tipo di comunicazione vengono utilizzati diversi protocolli. Aziende come CISCO, JUNIPER, ALCATEL producono dispositivi di rete come router, modem, punti di accesso wireless, ecc. Che utilizzano protocolli diversi per la comunicazione, ad esempio, Cisco utilizza EIGRP, OSPF, ecc. Il test del protocollo non è altro che verificare se EIGRP (Enhanced Interior Gateway Routing Protocol) o OSPF (Open Shortest Path First) o qualsiasi altro protocollo funziona secondo il rispettivo standard.
Tipi di protocolli per computer
Tipi di protocolli | Scopo dei protocolli |
---|---|
TCP / IP | Viene utilizzato per inviare informazioni in piccoli pacchetti su Internet |
UDP / ICMP | Viene utilizzato per inviare una piccola quantità di informazioni in pacchetti di dati su Internet |
POP3 e SMTP | Viene utilizzato per inviare e ricevere posta |
Protocollo di trasferimento ipertestuale | Viene utilizzato per trasferire la pagina HTML in forma crittografata per fornire sicurezza ai dati sensibili |
FTP | Viene utilizzato per il trasporto di file su una rete da un nodo a un altro |
* TCP / IP - Protocollo di controllo della trasmissione / Protocollo Internet, UDP / ICMP - Protocollo datagramma utente / Protocollo messaggi di controllo Internet, POP3 / SMTP - Protocollo Post Office / Simple Mail Transfer Protocol, HTTP - Hyper Text Transfer Protocol, FTP - File Transfer Protocol
Diversi tipi di protocolli di rete (L2 e L3)
Il modello OSI ha un totale di 7 livelli di comunicazione di rete, in cui il livello 2 e il livello 3 sono molto cruciali.
- Livello 2 : è un livello di collegamento dati. Indirizzo Mac, Ethernet, Token Ring e Frame Relay sono tutti esempi di livello di collegamento dati.
- Livello 3 : è un livello di rete che determina il miglior percorso disponibile nella rete per la comunicazione. Un indirizzo IP è un esempio di layer3.
Come eseguire il test del protocollo
- Per il test del protocollo, è necessario un analizzatore e un simulatore di protocollo
- L'analizzatore di protocollo garantisce una decodifica adeguata insieme all'analisi delle chiamate e delle sessioni. Mentre il simulatore simula varie entità di elementi di rete
- Di solito, un test del protocollo viene eseguito da DUT (dispositivo sotto test) ad altri dispositivi come switch e router e il protocollo di configurazione in esso
- Successivamente controllare la struttura dei pacchetti dei pacchetti inviati dai dispositivi
- Controlla la scalabilità, le prestazioni, l'algoritmo del protocollo ecc. Del dispositivo utilizzando strumenti come lxNetworks, Scapy e Wireshark
Tipi di test per il test del protocollo
Il test del protocollo include il test di funzionalità, prestazioni, stack del protocollo, interoperabilità, ecc. Durante il test del protocollo, fondamentalmente, vengono eseguiti tre controlli.
- Correttezza : riceviamo il pacchetto X quando ce lo aspettavamo
- Latenza : quanto tempo impiega un pacchetto per transitare nel sistema
- Larghezza di banda : quanti pacchetti possiamo inviare al secondo
Il test del protocollo può essere suddiviso in due categorie. Test di stress e affidabilità e test funzionali. I test di stress e affidabilità coprono i test di carico, i test di stress, i test delle prestazioni, ecc. Mentre i test funzionali includono test negativi, test di conformità, test di interoperabilità, ecc.
- Test di conformità : i protocolli implementati sui prodotti sono testati per l'aderenza come IEEE, RFC ecc.
- Test di interoperabilità : viene testata l'interoperabilità per diversi fornitori. Questo test viene eseguito dopo che il test di conformità è stato eseguito sulla piattaforma appropriata
- Test delle funzionalità di rete : le funzionalità dei prodotti di rete vengono testate per la funzionalità con riferimento al documento di progettazione. Ad esempio, le funzionalità possono essere la sicurezza della porta su uno switch, ACL su un router ecc.
Esempi di casi di test per il test del protocollo di dispositivi di rete
Ecco il caso di test di esempio per i router
Nome del test | Casi test |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Strumenti per il test del protocollo
Parliamo degli strumenti di test più importanti utilizzati per verificare i protocolli
Scapy per la creazione di pacchetti
Scapy è un potente programma interattivo di manipolazione dei pacchetti. Ti permette di farlo
- Crea pacchetti
- Decodifica i pacchetti sulla rete
- Cattura i pacchetti e analizzali
- Inietta pacchetti nella rete
Quindi, fondamentalmente, scapy fa principalmente due cose: ricevere risposte e inviare pacchetti . Tu definisci i pacchetti, li invia, riceve risposte, confronta le richieste con le risposte e restituisce un elenco di coppie di pacchetti e un elenco di pacchetti non abbinati.
Può anche gestire altre cose come il routing della traccia, i test di unità, gli attacchi o la scoperta della rete, lo sviluppo di nuovi protocolli, il rilevamento, ecc.
Scapy ci consente di scrivere uno script Python che ci consente di eseguire un'attività come l'invio e la ricezione di pacchetti o lo sniffing di pacchetti. Ad esempio, scapy può annusare il pacchetto di dati utilizzando uno script Python. Il comando per aprire il getdit inserito nell'editor
#gedit scapysniff.py#! / usr / bin / env pythonda scapy.all import *a = annusare (conteggio = 10)a. riepilogo ()salvare e modificare la modalità del file in un formato eseguibile# chmod + x scapysniff.py# ./scaotsbuff.py
Analizzerà 10 pacchetti e non appena avrà rilevato 10 pacchetti stamperà il riepilogo. Scapy anche come array di comandi per inviare e ricevere pacchetti contemporaneamente
Scarica Scapy
Strumenti di Wireshark per l'analisi
Strumenti utilizzati per il test del protocollo: Wireshark. Permette di catturare i pacchetti in tempo reale e visualizzarli in forma leggibile dall'uomo. Ti consente di scavare in profondità nel traffico di rete e di ispezionare i singoli pacchetti utilizzando codici colore e filtri.
Wireshark acquisisce pacchetti che aiutano a determinare quando viene stabilita la sessione, quando è stato avviato il viaggio esatto dei dati e quanti dati vengono inviati ogni volta, ecc.
Wireshark ha una serie di ricche funzionalità che include
- Un'ispezione approfondita di centinaia di protocolli, altri vengono aggiunti continuamente
- Acquisizione in tempo reale e analisi offline
- Ricca analisi VoIP
- Browser standard a tre riquadri
- Funziona su più piattaforme come Windows, Linux, OSX e così via
- I dati di rete acquisiti possono essere sfogliati tramite una GUI
- La decrittografia supporta molti protocolli come IPsec, ISAKMP, SSL / TLS
- I dati in tempo reale possono essere letti da Ethernet, ATM, Bluetooth, USB, token, ecc.
- L'output può essere esportato in CSV, XML, testo normale, ecc.
Scarica Wireshark
TTCN
TCCN è un linguaggio di test standard per la definizione dello scenario di test e la loro implementazione per il test del protocollo. Una suite di test TCCN contiene molti casi di test scritti nel linguaggio di programmazione TTCN e viene utilizzata per testare sistemi reattivi o test comportamentali .
Ad esempio, un distributore automatico di caffè che ti dà il caffè inserendo una moneta da un dollaro ma non risponde se viene inserito qualcosa di meno di un dollaro. Per programmare tali macchine viene utilizzato il linguaggio TCCN3. Affinché la macchina da caffè risponda all'inserimento di una moneta, dobbiamo scrivere un componente TCCN-3 che si comporta come una macchina da caffè. Ci consente di eseguire il nostro test prima che una vera macchina da caffè sia disponibile come prodotto. Una volta terminato, collegheremo la suite di test TCCN3 con il dispositivo esterno.
Il sistema di test emette stimoli (moneta da un dollaro) e riceve risposte (caffè). L'adattatore di stimoli ottiene gli stimoli dal sistema di test e li trasmette al sistema da testare. L'adattatore di risposta attende le risposte del sistema sottoposto a test e le passa al sistema di test.
TCCN3 può essere utilizzato in vari campi come
- Comunicazioni mobili (LTE, WiMAX, 3G ecc.)
- Tecnologie a banda larga (ATM, DSL)
- Piattaforme middleware (servizi Web, CORBA ecc.)
- Protocollo Internet (SIP, IMS, IPv6)
- Smart card
- Automotive (AutoSAR, MOST, CAN)
In TCCN possiamo definire
- Suite di test
- Casi test
- Passaggi del test
- Dichiarare le variabili
- Dichiara i timer
- Crea PDU ecc.
TCCN può essere integrato con tipi di sistemi di altri linguaggi come ASN.1, XML, C / C ++. Il linguaggio di base di TCCN3 esiste in formato testo oltre ad altri formati come tabulare, grafico e presentazione.