Innan vi lär oss om protokolltestning, låt oss förstå:
Vad är protokoll?
När en dator kommunicerar med varandra finns det en gemensam uppsättning regler och villkor som varje dator måste följa. Med andra ord bestämmer protokoll hur data överförs mellan datorenheter och över nätverk.
Protokolltestning
Protokolltestning är en metod för att kontrollera kommunikationsprotokoll inom domänerna Switching, Wireless, VoIP, Routing etc. Det primära målet med protokolltestning är att kontrollera strukturen för paket som skickas över ett nätverk med hjälp av protokolltestverktyg. Routrar och omkopplare används under testet för att bilda delar av enheter och produkter som testas.
Routed och Routing-protokoll
Protokoll klassificeras i två kategorier dirigerade protokoll och dirigeringsprotokoll
- Routed Protocols : Routed Protocols kan användas för att skicka användardata från ett nätverk till ett annat nätverk. Den transporterar användartrafik som e-post, webbtrafik, filöverföringar etc. Ruttade protokoll är IP, IPX och AppleTalk.
- Routing Protocols : Routing protocols är nätverksprotokoll som bestämmer rutter för routrar. Den används endast mellan routrar. Till exempel RIP, IGRP, EIGRP, etc.
Enkelt uttryckt är en router som en buss som används för transport medan routingprotokoll är signaler på vägen.
Baserat på typen av kommunikation används olika protokoll. Företag som CISCO, JUNIPER, ALCATEL producerar nätverksenheter som routrar, modem, trådlösa åtkomstpunkter etc. som använder olika protokoll för kommunikation, till exempel använder Cisco EIGRP, OSPF etc. Protokolltestning är inget annat än att kontrollera om EIGRP (Enhanced Interior) Gateway Routing Protocol) eller OSPF (Open Shortest Path First) eller något annat protokoll fungerar enligt respektive standard.
Typer av datorprotokoll
Typer av protokoll | Syfte med protokoll |
---|---|
TCP / IP | Den används för att skicka information i små paket över Internet |
UDP / ICMP | Den används för att skicka en liten mängd information i datapaket över internet |
POP3 och SMTP | Den används för att skicka och ta emot e-post |
Protokoll för hypertextöverföring | Den används för att överföra HTML-sida i krypterad form för att ge känslig information känslig säkerhet |
FTP | Den används för att transportera filer över ett nätverk från en nod till en annan |
* 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
Olika typer av nätverksprotokoll (L2 och L3)
OSI-modellen har totalt 7 lager nätverkskommunikation, där lager 2 och lager 3 är mycket viktiga.
- Layer 2 : Det är ett datalänklager. Mac-adress, Ethernet, Token Ring och Frame Relay är alla exempel på datalänklager.
- Layer 3 : Det är ett nätverkslager som bestämmer den bästa tillgängliga sökvägen i nätverket för kommunikation. En IP-adress är ett exempel på layer3.
Hur man gör protokolltestning
- För protokolltestning behöver du protokollanalysator och simulator
- Protokollanalysator säkerställer korrekt avkodning tillsammans med samtals- och sessionsanalys. Medan simulator simulerar olika enheter av nätverkselement
- Vanligtvis utförs en protokolltestning av DUT (enhet under test) till andra enheter som switchar och routrar och konfigurerar protokoll i den
- Kontrollera därefter paketstrukturen för paketen som skickas av enheterna
- Den kontrollerar enhetens skalbarhet, prestanda, protokollalgoritm etc. med hjälp av verktyg som lxNetworks, Scapy och Wireshark
Testtyper för protokolltestning
Protokolltestning inkluderar testning av funktionalitet, prestanda, protokollstack, interoperabilitet etc. Under protokolltestning görs i princip tre kontroller.
- Korrekthet : Får vi paket X när vi förväntade oss
- Latency : Hur lång tid tar det för ett paket att transportera systemet
- Bandbredd : Hur många paket vi kan skicka per sekund
Protokolltestning kan delas in i två kategorier. Stress- och tillförlitlighetstester och funktionstester. Stress- och tillförlitlighetstest omfattar belastningstest, stresstestning, prestandatestning etc. Medan funktionstestning inkluderar negativa tester, överensstämmelsestest, interoperabilitetstest etc.
- Test av överensstämmelse : De protokoll som implementeras på produkter testas för att följa dem som IEEE, RFC etc.
- Interoperabilitetstest : Interoperabilitet för olika leverantörer testas. Denna testning görs efter överensstämmelsestestning på lämplig plattform
- Test av nätverksfunktioner : Funktionerna i nätverksprodukter testas för funktionalitet med hänvisning till designdokumentet. Till exempel kan funktioner vara port-säkerhet på en switch, ACL på en router etc.
Exempel på testfall för protokolltestning av nätverksenheter
Här är exempel på testfall för routrar
Testnamn | Testfall |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Verktyg för protokolltestning
Låt oss diskutera de viktigaste testverktygen som används för att verifiera protokoll
Scapy för pakethantverk
Scapy är ett kraftfullt interaktivt paketmanipuleringsprogram. Det gör att du kan
- Skapa paket
- Avkoda paket i nätverket
- Fånga paket och analysera dem
- Injicera paket i nätverket
Så i grund och botten gör scapy huvudsakligen två saker: att få svar och skicka paket . Du definierar paketen, den skickar dem, tar emot svar, matchar förfrågningar med svar och returnerar en lista över paketpar och en lista med oöverträffade paket.
Det kan också hantera andra saker som spårning, enhetstester, attacker eller nätverksupptäckt, utveckling av nya protokoll, sondering etc.
Scapy gör det möjligt för oss att skriva ett Python-skript som gör att vi kan utföra en uppgift som att skicka och ta emot paket eller sniffa paket. Scapy kan till exempel sniffa datapaketet med hjälp av ett Python-skript. Kommandot för att öppna getdit in i redigeraren
#gedit scapysniff.py#! / usr / bin / env pythonfrån scapy.all import *a = sniffa (räkna = 10)a.nsummary ()spara och ändra filens läge till en körbar form# chmod + x scapysniff.py# ./scaotsbuff.py
Det kommer att sniffa 10 paket och så snart det har snusat 10 paket kommer det att skriva ut sammanfattningen. Scapy också som en rad kommandon för att skicka och ta emot paket samtidigt
Ladda ner Scapy
Wireshark-verktyg för analys
Verktyg som används för protokolltestning - Wireshark. Det gör det möjligt att fånga paket i realtid och visa dem i läsbar form. Det låter dig gräva djupt i nätverkstrafiken och inspektera enskilda paket med hjälp av färgkodning och filter.
Wireshark fångar paket som hjälper till att avgöra när sessionen etableras, när den exakta dataresen startades och hur mycket data skickas varje gång etc.
Wireshark har en uppsättning rika funktioner som inkluderar
- En grundlig inspektion av hundratals protokoll, fler läggs till hela tiden
- Live-inspelning och offline-analys
- Rik VoIP-analys
- Standard webbläsare med tre rutor
- Körs på flera plattformar som Windows, Linux, OSX och så vidare
- Fångade nätverksdata kan bläddras via ett GUI
- Dekryptering stöder många protokoll som IPsec, ISAKMP, SSL / TLS
- Live data kan läsas från Ethernet, ATM, Bluetooth, USB, token etc.
- Utdata kan exporteras till CSV, XML, vanlig text, etc.
Ladda ner Wireshark
TTCN
TCCN är ett standardspråk för att definiera testscenario och deras implementering för protokolltestning. En TCCN-testsvit innehåller många testfall skrivna på TTCN-programmeringsspråket och används för testning av reaktiva system eller beteendestestning .
Till exempel en kaffeautomat som ger dig kaffe när du sätter in ett dollarmynt men inte svarar om något mindre än en dollar sätts in i den. För att programmera sådana maskiner används TCCN3-språk. För att få kaffemaskinen att reagera när vi sätter in ett mynt måste vi skriva TCCN-3-komponent som fungerar som en kaffemaskin. Det gör att vi kan köra vårt test innan en verklig kaffemaskin finns tillgänglig som produkt. När det är klart ansluter vi TCCN3-testsviten till den externa enheten.
Testsystemet avger stimuli (dollarmynt) och får svar (kaffe). Stimuliadaptern hämtar stimuli från testsystemet och skickar dem till systemet som testas. Svarsadaptern väntar på svar från systemet som testas och skickar dem till testsystemet.
TCCN3 kan användas inom olika områden som
- Mobilkommunikation (LTE, WiMAX, 3G etc)
- Bredbandsteknik (ATM, DSL)
- Middleware-plattformar (webbtjänster, CORBA etc)
- Internetprotokoll (SIP, IMS, IPv6)
- Smartkort
- Fordon (AutoSAR, MEST, KAN)
I TCCN kan vi definiera
- Test sviter
- Testfall
- Teststeg
- Deklarera variabler
- Förklara timers
- Skapa PDU: er etc.
TCCN kan integreras med olika system av andra språk som ASN.1, XML, C / C ++. TCCN3-kärnspråk finns i textformat bortsett från andra format som tabellformat, grafiskt och presentation.