Mielőtt megismernénk a protokolltesztelést, értsük meg:
Mi az a protokoll?
Amikor egy számítógép kommunikál egymással, közös szabályok és feltételek vannak, amelyeket minden számítógépnek be kell tartania. Más szavakkal, a protokollok meghatározzák, hogyan továbbítják az adatokat a számítástechnikai eszközök és a hálózatok között.
Protokoll tesztelése
A protokolltesztelés egy módszer a kommunikációs protokollok ellenőrzésére a kapcsolási, vezeték nélküli, VoIP, útválasztási stb. Területeken. A protokolltesztelés elsődleges célja a hálózaton keresztül küldött csomagok szerkezetének ellenőrzése protokolltesztelő eszközök segítségével. A teszt során routereket és kapcsolókat használnak a tesztelés alatt álló eszközök és termékek alkatrészeinek kialakításához.
Útválasztási és útválasztási protokollok
A protokollokat két kategóriába sorolják: továbbított protokollok és útválasztási protokollok
- Útválasztási protokollok : Az átirányított protokollok felhasználhatók a felhasználói adatok egyik hálózatról a másik hálózatra történő elküldésére. Felhasználói forgalmat bonyolít le, például e-maileket, webes forgalmat, fájlátviteleket stb. Az átirányított protokollok: IP, IPX és AppleTalk.
- Útválasztási protokollok : Az útválasztási protokollok hálózati protokollok, amelyek meghatározzák az útválasztók útvonalait. Csak az útválasztók között használják. Például RIP, IGRP, EIGRP stb.
Egyszerűen fogalmazva, az útválasztó olyan, mint a busz, amelyet a szállításhoz használnak, míg az útválasztási protokollok jelek az úton.
A kommunikáció típusa alapján különböző protokollokat használnak. Az olyan vállalatok, mint a CISCO, a JUNIPER, az ALCATEL olyan hálózati eszközöket gyártanak, mint például útválasztók, modemek, vezeték nélküli hozzáférési pontok stb., Amelyek különböző protokollokat használnak a kommunikációhoz, például a Cisco EIGRP, OSPF stb. Gateway Routing Protocol) vagy OSPF (Open Shortest Path First) vagy bármely más protokoll a megfelelő szabvány szerint működik.
A számítógépes protokollok típusai
A protokollok típusai | A jegyzőkönyvek célja |
---|---|
TCP / IP | Információk kis csomagokban történő küldésére szolgál az interneten keresztül |
UDP / ICMP | Arra szolgál, hogy kis mennyiségű információt küldjön adatcsomagokban az interneten keresztül |
POP3 és SMTP | Levelek küldésére és fogadására használják |
Hypertext Transfer Protocol | A HTML-oldal titkosított formátumban történő továbbítására szolgál a bizalmas adatok biztonsága érdekében |
FTP | Fájlok hálózaton keresztüli szállítására szolgál egyik csomópontról a másikra |
* TCP / IP - Átviteli vezérlő protokoll / internetes protokoll, UDP / ICMP - Felhasználói adatprotokoll / Internetes vezérlő üzenet protokoll, POP3 / SMTP - Postahivatali protokoll / Egyszerű levélátviteli protokoll, HTTP - Hyper szövegátviteli protokoll, FTP - Fájlátviteli protokoll
Különböző típusú hálózati protokollok (L2 és L3)
Az OSI modell összesen 7 rétegű hálózati kommunikációt tartalmaz, amelyben a 2. és a 3. réteg nagyon fontos.
- 2. réteg : Ez egy adatkapcsolati réteg. A Mac-cím, az Ethernet, a Token Ring és a Frame Relay példák az adatkapcsolati rétegre.
- 3. réteg : Ez egy hálózati réteg, amely meghatározza a hálózat elérhető legjobb elérési útját a kommunikációhoz. Az IP-cím a 3. réteg példája.
Hogyan kell elvégezni a protokolltesztelést
- A protokoll teszteléséhez protokollelemzőre és szimulátorra van szükség
- A protokollelemző biztosítja a megfelelő dekódolást, valamint a hívás és a munkamenet elemzését. Míg a szimulátor a hálózati elem különböző entitásait szimulálja
- Általában a DUT (tesztelt eszköz) egy protokolltesztelést hajt végre más eszközökkel, például kapcsolókkal és útválasztókkal, valamint a protokollok konfigurálásával
- Ezt követően ellenőrizze az eszközök által küldött csomagok csomagszerkezetét
- Olyan eszközök segítségével ellenőrzi az eszköz méretezhetőségét, teljesítményét, protokollalgoritmusát stb., Mint az lxNetworks, a Scapy és a Wireshark
Tesztelési típusok a protokollteszteléshez
A protokolltesztelés magában foglalja a funkcionalitás, a teljesítmény, a protokollköteg, az interoperabilitás stb. Tesztelését. A protokolltesztelés során alapvetően három ellenőrzést végeznek.
- Helyesség : Akkor kapjuk meg az X csomagot, amikor vártuk
- Késleltetés : Mennyi ideig tart egy csomag a rendszer átviteléhez
- Sávszélesség : Hány csomagot tudunk elküldeni másodpercenként
A protokolltesztelés két kategóriába sorolható. Stressz és megbízhatóság tesztek és funkcionális tesztek. A stressz- és megbízhatósági tesztek kiterjednek a terheléses tesztekre, a stressz-tesztekre, a teljesítmény-tesztekre stb. Míg a funkcionális tesztelés negatív teszteket, megfelelőségi teszteket, interoperabilitási teszteket stb.
- Megfelelőség tesztelése : A termékeken végrehajtott protokollok betartását tesztelik, például IEEE, RFC stb.
- Interoperabilitási tesztelés : A különböző gyártók interoperabilitását tesztelik. Ezt a tesztet a megfelelő platformon végzett megfelelőségvizsgálat után kell elvégezni
- Hálózati jellemzők tesztelése: A hálózati termékek jellemzőinek működését a tervdokumentumra hivatkozva tesztelik. Például a funkciók lehetnek a portbiztonság egy kapcsolón, az ACL az útválasztón stb.
Minta tesztesetek a hálózati eszközök protokollteszteléséhez
Itt van a minta teszteset az útválasztókhoz
Teszt neve | Teszt esetek |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Eszközök a protokollteszteléshez
Beszéljük meg a protokollok ellenőrzéséhez használt legfontosabb tesztelő eszközöket
Scapy csomagkészítéshez
A Scapy egy erőteljes interaktív csomagkezelő program. Lehetővé teszi, hogy
- Készítsen csomagokat
- Dekódolja a csomagokat a hálózaton
- Ragadja meg a csomagokat és elemezze azokat
- Injektáljon csomagokat a hálózatba
Tehát alapvetően a scapy két dolgot végez: válaszok fogadása és csomagok küldése . Meghatározza a csomagokat, küldi, fogadja a válaszokat, egyezteti a kéréseket a válaszokkal, és visszaadja a csomagpárok listáját és a párosítatlan csomagok listáját.
Egyéb dolgokat is képes kezelni, például nyomkövetést, egységteszteket, támadásokat vagy hálózati felfedezéseket, új protokollok kifejlesztését, tesztelést stb.
A Scapy lehetővé teszi számunkra, hogy írjunk egy Python szkriptet, amely lehetővé teszi számunkra a feladatok végrehajtását, például csomagok küldését és fogadását vagy csomagok szippantását. Például a scapy egy Python-szkript használatával szimatolhatja az adatcsomagot. A szerkesztőbe beírt parancs a getdit megnyitására
#gedit scapysniff.py#! / usr / bin / env pythonfrom scapy.all import *a = szippantás (szám = 10)a. összefoglaló ()mentse, és változtassa meg a fájl módját futtatható formára# chmod + x scapysniff.py# ./scaotsbuff.py
10 csomagot szippant be, és amint 10 csomagot beszippant, kinyomtatja az összefoglalót. A Scapy parancsok tömbjeként csomagok egyszerre történő küldésére és fogadására is
Letöltés Scapy
Wireshark eszközök elemzésre
A protokoll teszteléséhez használt eszközök- Wireshark. Lehetővé teszi a csomagok valós időben történő rögzítését és ember által olvasható formában történő megjelenítését. Lehetővé teszi, hogy mélyen belemélyedjen a hálózati forgalomba és megvizsgálja az egyes csomagokat színkódolás és szűrők használatával.
A Wireshark olyan csomagokat rögzít, amelyek segítenek meghatározni, hogy mikor kezdődik a munkamenet, mikor kezdődött a pontos adatutazás, és mennyi adatot küldtek el minden alkalommal stb.
A Wireshark gazdag funkciókkal rendelkezik, amelyek a következőket tartalmazzák:
- Több száz protokoll alapos ellenőrzése, folyamatosan bővül
- Élő rögzítés és offline elemzés
- Gazdag VoIP elemzés
- Normál három panelből álló böngésző
- Több platformon fut, például Windows, Linux, OSX és így tovább
- A rögzített hálózati adatokat egy GUI-n keresztül lehet böngészni
- A visszafejtés számos olyan protokollt támogat, mint az IPsec, az ISAKMP, az SSL / TLS
- Az élő adatok kiolvashatók Ethernetről, ATM-ről, Bluetooth-ról, USB-ről, tokenekről stb.
- A kimenet exportálható CSV-be, XML-be, egyszerű szövegbe stb.
Töltse le a Wireshark alkalmazást
TTCN
A TCCN egy szabványos tesztnyelv a tesztforgatókönyv és a protokolltesztelés megvalósításához. A TCCN tesztcsomag számos tesztesetet tartalmaz, amelyek a TTCN programozási nyelvén vannak megírva, és reaktív rendszerek tesztelésére vagy viselkedési tesztelésre használják .
Például egy kávéautomata, amely kávét ad a dollárérme behelyezésekor, de nem reagál, ha dollárnál kevesebbet helyeznek bele. Az ilyen gépek programozásához a TCCN3 nyelvet használják. Annak érdekében, hogy a kávéfőző reagáljon egy érme behelyezésekor, meg kell írnunk a TCCN-3 komponenst, amely kávéfőzőként viselkedik. Ez lehetővé teszi számunkra a teszt lefuttatását, mielőtt egy tényleges kávéfőző termékként elérhető lenne. Miután elkészült, összekapcsoljuk a TCCN3 tesztcsomagot a külső eszközzel.
A teszt rendszer ingereket bocsát ki (dollár érme), és válaszokat kap (kávé). Az ingeradapter megszerzi az ingereket a tesztrendszerből, és továbbítja azokat a vizsgált rendszerbe. A válaszadapter megvárja a tesztelt rendszer válaszait, és továbbítja azokat a tesztrendszernek.
A TCCN3 különféle területeken használható, például
- Mobil kommunikáció (LTE, WiMAX, 3G stb.)
- Szélessávú technológiák (ATM, DSL)
- Középprogram platformok (webszolgáltatások, CORBA stb.)
- Internet protokoll (SIP, IMS, IPv6)
- Intelligens kártyák
- Autóipar (AutoSAR, MOST, CAN)
A TCCN-ben meghatározhatjuk
- Test Suites
- Teszt esetek
- Tesztlépések
- Deklarálja a változókat
- Deklarálja az időzítőket
- Hozzon létre PDU-kat stb.
A TCCN integrálható más nyelvű rendszerek típusaival, például ASN.1, XML, C / C ++. A TCCN3 törzsnyelve szöveges formátumban létezik, eltekintve más táblázatos, grafikus és prezentációs formátumtól.