Før vi lærer om protokollprøving, la oss forstå:
Hva er protokoll?
Når en datamaskin kommuniserer med hverandre, er det et felles sett med regler og betingelser som hver datamaskin må følge. Med andre ord bestemmer protokoller hvordan data overføres mellom dataenheter og over nettverk.
Protokollprøving
Protokollprøving er en metode for å sjekke kommunikasjonsprotokoller i domenene Switching, Wireless, VoIP, Routing, etc. Det primære målet for protokollprøving er å kontrollere strukturen til pakker som sendes over et nettverk ved hjelp av protokollprøveverktøy. Rutere og brytere brukes under testen for å danne deler av enheter og produkter som testes.
Routed og Routing Protokoller
Protokoller er klassifisert i to kategorier rutede protokoller og rutingsprotokoller
- Rutede protokoller : Rutede protokoller kan brukes til å sende brukerdataene fra ett nettverk til et annet nettverk. Den bærer brukertrafikk som e-post, webtrafikk, filoverføring osv. Rutede protokoller er IP, IPX og AppleTalk.
- Ruteprotokoller : Ruteprotokoller er nettverksprotokoller som bestemmer rutene for rutere. Den brukes bare mellom rutere. For eksempel RIP, IGRP, EIGRP, etc.
Enkelt sagt er en ruter som en buss som brukes til transport mens ruteprotokoller er signaler på veien.
Basert på typen kommunikasjon, brukes forskjellige protokoller. Bedrifter som CISCO, JUNIPER, ALCATEL produserer nettverksenheter som rutere, modemer, trådløse tilgangspunkter osv. Som bruker forskjellige protokoller for kommunikasjon, for eksempel bruker Cisco EIGRP, OSPF osv. Protokollprøving er ingenting annet enn å sjekke om EIGRP (Enhanced Interior) Gateway Routing Protocol) eller OSPF (Open Shortest Path First) eller annen protokoll fungerer i henhold til respektive standard.
Typer datamaskinprotokoller
Typer protokoller | Formål med protokoller |
---|---|
TCP / IP | Den brukes til å sende informasjon i små pakker over Internett |
UDP / ICMP | Den brukes til å sende en liten mengde informasjon i datapakker over internett |
POP3 og SMTP | Den brukes til å sende og motta e-post |
Hypertext Transfer Protocol | Den brukes til å overføre HTML-siden i kryptert form for å gi sikkerhet til sensitive data |
FTP | Den brukes til å transportere filer over et nettverk fra en node til en annen |
* TCP / IP - Transmission Control Protocol / Internet protocol, UDP / ICMP - User Datagram Protocol / Internet Control Message Protocol, POP3 / SMTP - Post Office Protocol / Simple Mail Transfer Protocol, HTTP - Hyper Text Transfer Protocol, FTP - File Transfer Protocol
Ulike typer nettverksprotokoller (L2 og L3)
OSI-modellen har totalt 7 lag med nettverkskommunikasjon, der lag 2 og lag 3 er veldig avgjørende.
- Lag 2 : Det er et datalinklag. Mac-adresse, Ethernet, Token Ring og Frame Relay er alle eksempler på datalinklag.
- Lag 3 : Det er et nettverkslag som bestemmer den beste tilgjengelige banen i nettverket for kommunikasjon. En IP-adresse er et eksempel på layer3.
Hvordan gjøre protokollprøving
- For protokollprøving trenger du protokollanalysator og simulator
- Protokollanalysator sørger for riktig dekoding sammen med samtale- og sesjonsanalyse. Mens simulator simulerer forskjellige enheter av nettverkselement
- Vanligvis utføres en protokollprøving av DUT (enhet under test) til andre enheter som brytere og rutere og konfigurerer protokoll i den
- Kontroller deretter pakkestrukturen til pakkene som sendes av enhetene
- Den sjekker skalerbarhet, ytelse, protokollalgoritme etc. på enheten ved hjelp av verktøy som lxNetworks, Scapy og Wireshark
Testing Typer for Protocol Testing
Protokollprøving inkluderer testing av funksjonalitet, ytelse, protokollstabel, interoperabilitet, etc. Under protokollprøving utføres i utgangspunktet tre kontroller.
- Korrekthet : Får vi pakke X når vi forventet
- Latens : Hvor lang tid tar en pakke å transittere systemet
- Båndbredde : Hvor mange pakker vi kan sende per sekund
Protokollprøving kan deles inn i to kategorier. Stress- og pålitelighetstester og funksjonelle tester. Stress- og pålitelighetstester dekker belastningstesting, stresstesting, ytelsestesting osv. Mens funksjonstesting inkluderer negativ testing, samsvarstesting, interoperabilitetstesting osv.
- Test av samsvar : Protokollene som er implementert på produkter blir testet for overholdelse som IEEE, RFC etc.
- Interoperabilitetstesting : Interoperabilitet for forskjellige leverandører blir testet. Denne testingen gjøres etter at samsvarstesting er utført på den aktuelle plattformen
- Testing av nettverksfunksjoner : Funksjonene til nettverksprodukter testes for funksjonalitet med henvisning til designdokumentet. For eksempel kan funksjoner være port-sikkerhet på en bryter, ACL på en ruter etc.
Eksempel på testtilfeller for protokolltesting av nettverksenheter
Her er prøveeksemplet for rutere
Testnavn | Test tilfeller |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Verktøy for protokollprøving
La oss diskutere de viktigste testverktøyene som brukes til å verifisere protokoller
Scapy for pakkeutforming
Scapy er et kraftig interaktivt pakkepanipuleringsprogram. Det gjør at du kan
- Lag pakker
- Dekode pakker på nettverket
- Fang pakker og analyser dem
- Injiser pakker i nettverket
Så i utgangspunktet gjør scapy hovedsakelig to ting: motta svar og sende pakker . Du definerer pakkene, den sender dem, mottar svar, samsvarer forespørsler med svar og returnerer en liste over pakkepar og en liste over uovertruffen pakker.
Det kan også håndtere andre ting, som spor-ruting, enhetstester, angrep eller nettverksoppdagelse, utvikling av nye protokoller, sondering, etc.
Scapy gjør det mulig for oss å skrive et Python-skript som lar oss utføre en oppgave som å sende og motta pakker eller snuse pakker. For eksempel kan scapy snuse datapakken ved å bruke et Python-skript. Kommandoen for å åpne getdit ble skrevet inn i redigeringsprogrammet
#gedit scapysniff.py#! / usr / bin / env pythonfra scapy.all import *a = snuse (count = 10)a.nsummary ()lagre, og endre filens modus til et kjørbart skjema# chmod + x scapysniff.py# ./scaotsbuff.py
Den vil snuse 10 pakker, og så snart den har snuset 10 pakker vil den skrive ut sammendraget. Scapy også som en rekke kommandoer for sending og mottak av pakker samtidig
Last ned Scapy
Wireshark verktøy for analyse
Verktøy brukt til protokollprøving - Wireshark. Det gjør det mulig å fange pakker i sanntid og vise dem i lesbar form. Det lar deg grave dypt inn i nettverkstrafikken og inspisere individuelle pakker ved hjelp av fargekoding og filtre.
Wireshark fanger opp pakker som hjelper til med å bestemme når økten blir etablert, når den eksakte datereisen ble startet og hvor mye data som sendes hver gang, etc.
Wireshark har et sett med rike funksjoner som inkluderer
- En grundig inspeksjon av hundrevis av protokoller, flere blir lagt til hele tiden
- Live capture og offline analyse
- Rik VoIP-analyse
- Standard nettleser med tre ruter
- Kjører på flere plattformer som Windows, Linux, OSX og så videre
- Hentede nettverksdata kan blades gjennom en GUI
- Dekryptering støtter mange protokoller som IPsec, ISAKMP, SSL / TLS
- Direkte data kan leses fra Ethernet, ATM, Bluetooth, USB, token etc.
- Output kan eksporteres til CSV, XML, ren tekst, etc.
Last ned Wireshark
TTCN
TCCN er et standard testspråk for å definere testscenario og implementering av dem for protokolltesting. En TCCN-testpakke inneholder mange testsaker skrevet i TTCN-programmeringsspråket, og den brukes til å teste reaktive systemer eller atferdstesting .
For eksempel en kaffeautomat som gir deg kaffe når du setter inn en dollarmynt, men som ikke svarer hvis noe mindre enn en dollar settes inn i den. For å programmere slike maskiner brukes TCCN3 språk. For å få kaffemaskinen til å reagere når du setter inn en mynt, må vi skrive TCCN-3-komponent som oppfører seg som en kaffemaskin. Det lar oss kjøre testen vår før en faktisk kaffemaskin er tilgjengelig som produkt. Når det er gjort, kobler vi TCCN3-testpakken med den eksterne enheten.
Testsystemet avgir stimuli (dollarmynt) og mottar svar (kaffe). Stimuliadapteren henter stimuli fra testsystemet og sender dem til systemet som testes. Svaradapteren venter på svarene til systemet som testes, og sender dem til testsystemet.
TCCN3 kan brukes i forskjellige felt som
- Mobilkommunikasjon (LTE, WiMAX, 3G osv.)
- Bredbåndsteknologi (ATM, DSL)
- Middleware-plattformer (Webservices, CORBA etc)
- Internett-protokoll (SIP, IMS, IPv6)
- Smartkort
- Automotive (AutoSAR, MOST, CAN)
I TCCN kan vi definere
- Test suiter
- Test tilfeller
- Teststrinn
- Deklarer variabler
- Erklære timere
- Opprett PDUer etc.
TCCN kan integreres med typer systemer fra andre språk som ASN.1, XML, C / C ++. TCCN3 kjernespråk eksisterer i tekstformat bortsett fra andre formater som tabellform, grafisk og presentasjon.