Protokolli testimise õpetus: L2 & L3

Lang L: none (table-of-contents):

Anonim

Enne kui saame teada protokollide testimisest, mõistame järgmist:

Mis on protokoll?

Kui arvuti omavahel suhtleb, on olemas ühtsed reeglid ja tingimused, mida iga arvuti peab järgima. Teisisõnu määravad protokollid, kuidas andmeid edastatakse arvutiseadmete vahel ja võrkude kaudu.

Protokolli testimine

Protokollide testimine on meetod kommunikatsiooniprotokollide kontrollimiseks kommutatsiooni, traadita ühenduse, VoIP, marsruutimise jne valdkondades. Protokollide testimise peamine eesmärk on kontrollida võrgu kaudu protokolliproovimise tööriistade abil saadetud pakettide struktuuri. Ruutereid ja lüliteid kasutatakse katse ajal testitavate seadmete ja toodete osade moodustamiseks.

Marsruudi ja marsruudi protokollid

Protokollid liigitatakse kahte kategooriasse marsruutitud protokollid ja marsruutimisprotokollid

  • Marsruutprotokollid : marsruutitud protokolle saab kasutada kasutajaandmete saatmiseks ühest võrgust teise võrku. See kannab kasutajaliiklust nagu e-kirjad, veebiliiklus, failiedastused jne. Suunatud protokollid on IP, IPX ja AppleTalk.
  • Marsruutimisprotokollid : marsruutimisprotokollid on võrguprotokollid, mis määravad marsruuterite marsruudid. Seda kasutatakse ainult ruuterite vahel. Näiteks RIP, IGRP, EIGRP jne.

Lihtsamalt öeldes on ruuter nagu buss, mida kasutatakse transpordiks, samas kui marsruutimisprotokollid on teel signaalid.

Suhtlustüübi põhjal kasutatakse erinevaid protokolle. Sellised ettevõtted nagu CISCO, JUNIPER, ALCATEL toodavad võrguseadmeid nagu ruuterid, modemid, traadita pöörduspunktid jne, mis kasutavad suhtlemiseks erinevaid protokolle, näiteks Cisco kasutab EIGRP, OSPF jne. Protokollide testimine pole midagi muud, kui kontrollida, kas EIGRP (Enhanced Interior Gateway Routing Protocol) või OSPF (Open Shortest Path First) või mõni muu protokoll töötab vastavalt vastavale standardile.

Arvutiprotokollide tüübid

Protokollide tüübid Protokollide eesmärk
TCP / IP Seda kasutatakse teabe edastamiseks Interneti kaudu väikestes pakettides
UDP / ICMP Seda kasutatakse väikese koguse teabe edastamiseks andmepakettides Interneti kaudu
POP3 ja SMTP Seda kasutatakse kirjade saatmiseks ja vastuvõtmiseks
Hüperteksti edastamise protokoll Seda kasutatakse HTML-lehe edastamiseks krüptitud kujul, et tagada tundlike andmete turvalisus
FTP Seda kasutatakse failide transportimiseks üle võrgu ühest sõlmest teise

* TCP / IP - edastuse juhtimisprotokoll / Interneti-protokoll, UDP / ICMP - kasutaja Datagrammi protokoll / Interneti-juhtimise teateprotokoll, POP3 / SMTP - postkontori protokoll / lihtne postiedastuse protokoll, HTTP - hüpertekstiprotokoll, FTP - failiedastusprotokoll

Erinevat tüüpi võrguprotokollid (L2 ja L3)

OSI-mudelil on kokku 7 kihti võrgusidet, milles kihid 2 ja 3 on väga olulised.

  • 2. kiht : see on andmeside kiht. Maci aadress, Ethernet, Token Ring ja Frame Relay on kõik andmesidekihi näited.
  • 3. kiht : see on võrgukiht, mis määrab võrgu parima võimaliku tee suhtlemiseks. IP-aadress on kihi 3 näide.

Kuidas teha protokollide testimist

  • Protokolli testimiseks vajate protokollianalüsaatorit ja simulaatorit
  • Protokollianalüsaator tagab korraliku dekodeerimise koos kõne ja seansi analüüsiga. Simulaator simuleerib võrguelemendi erinevaid üksusi
  • Tavaliselt teostab DUT (testitav seade) protokolli testimise teistele seadmetele nagu lülitid ja ruuterid ning selles oleva protokolli konfigureerimine
  • Seejärel kontrollige seadmete saadetud pakettide struktuuri
  • See kontrollib seadme mastaapsust, jõudlust, protokolli algoritmi jne, kasutades selliseid tööriistu nagu lxNetworks, Scapy ja Wireshark

Protokollide testimise tüübid

Protokollide testimine hõlmab funktsionaalsuse, jõudluse, protokollivirna, koostalitlusvõime jms testimist. Protokollide testimise käigus tehakse põhimõtteliselt kolm kontrolli.

  • Korrektsus : kas pakett X saabub siis, kui ootasime
  • Latentsus : kui kaua võtab pakett süsteemi transiidiks
  • Ribalaius : mitu paketti saame sekundis saata

Protokollide testimist saab jagada kahte kategooriasse. Stressi- ja töökindlustestid ning funktsionaalsed testid. Pinge- ja töökindlustestid hõlmavad koormustestimist, stressitestimist, jõudluskontrolli jne. Funktsionaalne testimine hõlmab negatiivseid teste, vastavuskontrolli, koostalitlusvõime testimist jne.

  • Vastavustestimine : Toodetele rakendatud protokollide vastavust testitakse nagu IEEE, RFC jne.
  • Koostalitlusvõime testimine : testitakse erinevate tootjate koostalitlusvõimet. See testimine tehakse pärast vastavuskontrolli tegemist vastaval platvormil
  • Võrgufunktsioonide testimine: võrgutoodete funktsioonide funktsionaalsust testitakse viitega disainidokumendile. Näiteks võivad funktsioonid olla sadama turvalisus lülitil, ACL ruuteril jne.

Võrguseadmete protokollide testimise näidisjuhtumid

Siin on ruuterite proovitesti juhtum

Testi nimi Katsejuhtumid
  1. Üks VLAN ühel lülitil
  • Ehitage kaks erinevat VLAN-i. Kontrollige erinevate VLAN-ide hostide vahelist nähtavust
  1. Kolm sümmeetrilist VLAN-i ühel lülitil
  • Looge kolm erinevat asümmeetrilist VLAN-i. Kontrollige hostide vahelist nähtavust
  1. Üleulatuv puu: juurteekulu variatsioon
  • Testige, kuidas juurteekulu muutub pärast topoloogia variatsiooni
  1. Üleulatuv puu: sadamate blokeerimine
  • Kontrollige, kuidas laienduspuu protokoll väldib tsüklite moodustumist võrgus, blokeerides üleliigseid linke ka VLAN-ide olemasolu korral
  1. Erinevate juurte sild erinevate MSTI jaoks
  • Näidake, et igal MSTI-l võib olla erinev juursild
  1. Nähtavus erinevate STP piirkondade vahel
  • Sama VLAN-iga kontrollige nähtavust erinevate STP-piirkondade vahel
  1. Telefonilüliti jõudlus
  • Looge 1000 telefonikõnet ja kontrollige, kas telefonilüliti ikka töötab või selle toimivus halveneb
  1. Seadme negatiivne test
  • Sisestage vale võti ja kontrollige kasutaja autentimist. See ei tohiks lubada kasutajal juurdepääsu
  1. Liini kiirus
  • Kontrollige 10Gbps kiirusel töötavat seadet, kasutades sissetuleva liikluse haldamiseks kogu saadaolevat ribalaiust
  1. Protokollivestluse määr
  • Jälgige kahe seadme vahelist TCP-vestlust ja veenduge, et iga seade käituks õigesti
  1. Seansi algatamise reageerimisaeg
  • Mõõtke seadme reageerimisaega seansi algatamise kutse peale

Tööriistad protokollide testimiseks

Arutame läbi protokollide kontrollimiseks kasutatavad kõige olulisemad testimisvahendid

Scapy pakettide meisterdamiseks

Scapy on võimas interaktiivne pakettidega manipuleerimise programm. See võimaldab teil seda teha

  • Looge pakette
  • Dekodeerige võrgus olevad paketid
  • Jäädvustage pakette ja analüüsige neid
  • Süstige pakette võrku

Põhimõtteliselt teeb scapy peamiselt kahte asja: saabub vastuseid ja saadetakse pakette . Te määratlete paketid, see saadab need, võtab vastu vastuseid, sobitab päringud vastustega ja tagastab pakettpaaride loendi ja sobitamata pakettide loendi.

See saab hakkama ka muude asjadega, nagu jälje marsruutimine, üksustestid, rünnakud või võrgu avastamine, uute protokollide väljatöötamine, sondeerimine jne.

Scapy võimaldab meil kirjutada Pythoni skripti, mis võimaldab meil teha sellist ülesannet nagu pakettide saatmine ja vastuvõtmine või pakettide nuusutamine. Näiteks võib scapy Pythoni skripti abil andmepaketti nuusutada. Redaktorisse sisestatud käsk getdit avamiseks

#gedit scapysniff.py#! / usr / bin / env pythonsaidilt scapy.all import *a = nuuskama (loend = 10)a. kokkuvõte ()salvestage ja muutke faili režiim käivitatavaks vormiks# chmod + x scapysniff.py# ./scaotsbuff.py

See nuusutab 10 paketti ja kohe, kui on nuusutanud 10 paketti, prindib see kokkuvõtte. Scapy ka käskude massiivina pakettide samaaegseks saatmiseks ja vastuvõtmiseks

Laadige alla Scapy

Wiresharki tööriistad analüüsimiseks

Protokolli testimiseks kasutatavad tööriistad - Wireshark. See võimaldab jäädvustada pakette reaalajas ja kuvada neid inimesele loetaval kujul. See võimaldab teil värvikoodide ja filtrite abil süveneda võrguliiklusse ja kontrollida üksikuid pakette.

Wireshark haarab pakette, mis aitavad kindlaks teha, millal seanss sisse seatakse, millal täpset andmesidet alustati ja kui palju andmeid iga kord saadeti jne.

Wiresharkil on hulk rikkalikke funktsioone, mis hõlmavad järgmist

  • Sadade protokollide põhjalik kontrollimine, neid lisandub kogu aeg
  • Reaalajas jäädvustamine ja võrguühenduseta analüüs
  • Rikkalik VoIP-analüüs
  • Tavaline kolme paneeliga pakitud brauser
  • Töötab mitmel platvormil nagu Windows, Linux, OSX ja nii edasi
  • Jäädvustatud võrguandmeid saab sirvida graafilise kasutajaliidese kaudu
  • Dekrüpteerimine toetab paljusid protokolle nagu IPsec, ISAKMP, SSL / TLS
  • Reaalajas olevaid andmeid saab lugeda Ethernetist, sularahaautomaadist, Bluetoothist, USB-st, märgist jne.
  • Väljundit saab eksportida CSV-vormingusse, XML-i, lihtteksti jne.

Laadige alla Wireshark

TTCN

TCCN on standardne testkeel teststsenaariumi ja nende rakendamise määratlemiseks protokollide testimiseks. TCCN-testipakett sisaldab palju TTCN-i programmeerimiskeeles kirjutatud testjuhtumeid ja seda kasutatakse reaktiivsete süsteemide või käitumuslike testide testimiseks .

Näiteks kohvimasin, mis annab teile dollari mündi sisestamisel kohvi, kuid ei reageeri, kui sinna on sisestatud midagi vähem kui dollar. Selliste masinate programmeerimiseks kasutatakse TCCN3 keelt. Selleks, et kohvimasin reageeriks mündi sisestamisel, peame kirjutama TCCN-3 komponendi, mis käitub kohvimasinana. See võimaldab meil oma testi läbi viia enne, kui tegelik kohvimasin on tootena saadaval. Kui see on tehtud, ühendame TCCN3 testimissüsteemi välise seadmega.

Testisüsteem kiirgab stiimuleid (dollarimünt) ja saab vastuseid (kohv). Stiimuliadapter saab katsesüsteemist ärritusi ja edastab need testitavasse süsteemi. Reageerimisadapter ootab testitava süsteemi vastuseid ja edastab need testimissüsteemile.

TCCN3 saab kasutada erinevates valdkondades, näiteks

  • Mobiilside (LTE, WiMAX, 3G jne)
  • Lairibatehnoloogiad (ATM, DSL)
  • Vahevara platvormid (veebiteenused, CORBA jne)
  • Interneti-protokoll (SIP, IMS, IPv6)
  • Kiipkaardid
  • Autotööstus (AutoSAR, MOST, CAN)

TCCN-is saame seda määratleda

  • Testi sviidid
  • Katsejuhtumid
  • Testi sammud
  • Deklareerige muutujad
  • Deklareeri taimerid
  • Loo PDU-d jne

TCCN-i saab integreerida teiste keeltega süsteemide tüüpidega, näiteks ASN.1, XML, C / C ++. TCCN3 põhikeel eksisteerib tekstivormingus, välja arvatud muud vormingud, näiteks tabel, graafika ja esitlus.