Prieš sužinodami apie protokolo testavimą, supraskime:
Kas yra protokolas?
Kai kompiuteris bendrauja tarpusavyje, yra bendras taisyklių ir sąlygų rinkinys, kurio turi laikytis kiekvienas kompiuteris. Kitaip tariant, protokolai nustato, kaip duomenys perduodami tarp skaičiavimo įrenginių ir tinklais.
Protokolo testavimas
Protokolo testavimas yra ryšio protokolų tikrinimo būdas perjungimo, belaidžio ryšio, VoIP, maršruto parinkimo ir kt. Srityse. Pagrindinis protokolų testavimo tikslas yra patikrinti tinklų siunčiamų paketų struktūrą naudojant protokolo testavimo įrankius. Maršrutizatoriai ir jungikliai bandymo metu naudojami sudarant bandomų prietaisų ir gaminių dalis.
Maršruto ir maršruto protokolai
Protokolai skirstomi į dvi kategorijas nukreipti protokolai ir maršruto parinkimo protokolai
- Maršrutiniai protokolai : Maršrutiniai protokolai gali būti naudojami vartotojo duomenims siųsti iš vieno tinklo į kitą tinklą. Jis perduoda vartotojų srautą, pvz., El. Laiškus, žiniatinklio srautą, failų perkėlimą ir kt. Maršrutiniai protokolai yra IP, IPX ir AppleTalk.
- Maršrutizavimo protokolai : Maršrutizavimo protokolai yra tinklo protokolai, kurie nustato maršrutizatorių maršrutus. Jis naudojamas tik tarp maršrutizatorių. Pavyzdžiui, RIP, IGRP, EIGRP ir kt.
Paprasčiau tariant, maršrutizatorius yra tarsi autobusas, naudojamas transportavimui, o maršruto parinkimo protokolai yra signalai kelyje.
Atsižvelgiant į ryšio tipą, naudojami skirtingi protokolai. Tokios kompanijos kaip CISCO, JUNIPER, ALCATEL gamina tinklo įrenginius, tokius kaip maršrutizatoriai, modemai, belaidžiai prieigos taškai ir kt., Kurie naudoja skirtingus protokolus ryšiui, pavyzdžiui, „Cisco“ naudoja EIGRP, OSPF ir kt. „Gateway Routing Protocol“) arba OSPF („Open Shortest Path First“) arba bet kuris kitas protokolas veikia pagal atitinkamus standartus.
Kompiuterių protokolų tipai
Protokolų rūšys | Protokolų paskirtis |
---|---|
TCP / IP | Jis naudojamas informacijos siuntimui mažais paketais internetu |
UDP / ICMP | Jis naudojamas nedideliam informacijos kiekiui duomenų paketuose siųsti internetu |
POP3 ir SMTP | Jis naudojamas laiškams siųsti ir gauti |
Hiperteksto perdavimo protokolas | Jis naudojamas perkeliant HTML puslapį užšifruota forma, kad būtų užtikrinta neskelbtinų duomenų apsauga |
FTP | Jis naudojamas failams per tinklą perkelti iš vieno mazgo į kitą |
* TCP / IP - perdavimo valdymo protokolas / interneto protokolas, UDP / ICMP - vartotojo duomenų „Instagram“ protokolas / interneto valdymo pranešimų protokolas, POP3 / SMTP - pašto skyriaus protokolas / paprastas pašto perdavimo protokolas, HTTP - „Hyper Text Transfer Protocol“, FTP - failų perdavimo protokolas
Skirtingi tinklo protokolų tipai (L2 ir L3)
OSI modelyje yra iš viso 7 tinklo ryšio sluoksniai, kuriuose labai svarbus yra 2 ir 3 sluoksniai.
- 2 sluoksnis : tai duomenų ryšio sluoksnis. „Mac“ adresas, „Ethernet“, „Token Ring“ ir „Frame Relay“ yra duomenų ryšio sluoksnio pavyzdžiai.
- 3 sluoksnis : Tai tinklo sluoksnis, kuris nustato geriausią prieinamą tinklo kelią komunikacijai. IP adresas yra „layer3“ pavyzdys.
Kaip atlikti protokolo testavimą
- Norint išbandyti protokolą, jums reikia protokolo analizatoriaus ir treniruoklio
- Protokolo analizatorius užtikrina tinkamą dekodavimą kartu su skambučių ir sesijų analize. Simuliatorius imituoja įvairius tinklo elemento objektus
- Paprastai protokolą bando DUT (bandomasis įrenginys) kitiems įrenginiams, pvz., Jungikliams ir maršrutizatoriams, ir jame konfigūruoja protokolą
- Po to patikrinkite prietaisų siunčiamų paketų paketų struktūrą
- Jis patikrina prietaiso mastelį, našumą, protokolo algoritmą ir kt., Naudodamas tokias priemones kaip „lxNetworks“, „Scapy“ ir „Wireshark“.
Testavimo tipai protokolo testavimui
Protokolo testavimas apima funkcionalumo, našumo, protokolo kaupimo, sąveikumo ir kt. Testavimą. Protokolo testavimo metu iš esmės atliekami trys patikrinimai.
- Teisingumas : ar gauname X paketą, kai tikėjomės
- Delsos laikas : kiek laiko paketas perkelia sistemą
- Pralaidumas : Kiek paketų galime išsiųsti per sekundę
Protokolo testavimą galima suskirstyti į dvi kategorijas. Streso ir patikimumo testai bei funkciniai testai. Įtempimo ir patikimumo testai apima apkrovos testavimą, įtempių testavimą, eksploatacinių savybių testavimą ir kt. Nors funkcinis testavimas apima neigiamą testavimą, atitikties testavimą, sąveikos testavimą ir kt.
- Atitikties testavimas : Produktams pritaikytų protokolų tikrinama, ar laikomasi IEEE, RFC ir kt.
- Sąveikumo testavimas : išbandoma skirtingų tiekėjų sąveika. Šis bandymas atliekamas atlikus atitikties patikrinimą atitinkamoje platformoje
- Tinklo funkcijų testavimas: Tinklo produktų funkcijų funkcionalumas tikrinamas atsižvelgiant į projektavimo dokumentą. Pvz., Funkcijos gali būti jungiklio sauga, kelvedžio ACL ir kt.
Tinklo įrenginių protokolinių bandymų bandymų atvejų pavyzdžiai
Čia yra maršrutizatorių bandymo atvejo pavyzdys
Testo pavadinimas | Bandymo atvejai |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Protokolo testavimo įrankiai
Aptarkime svarbiausius bandymų įrankius, naudojamus protokolams patikrinti
Pakuotė rankdarbiams
Scapy yra galinga interaktyvi paketų manipuliavimo programa. Tai leidžia jums
- Kurkite paketus
- Dekoduokite paketus tinkle
- Užfiksuokite ir analizuokite paketus
- Įveskite paketus į tinklą
Taigi iš esmės scapy daugiausia daro du dalykus: gauna atsakymus ir siunčia paketus . Apibrėžiate paketus, jie juos siunčia, gauna atsakymus, suderina užklausas su atsakymais ir pateikia paketų porų sąrašą ir nesuderintų paketų sąrašą.
Jis taip pat gali tvarkyti kitus dalykus, tokius kaip maršruto nustatymas, vieneto bandymai, atakos ar tinklo atradimas, naujų protokolų kūrimas, zondavimas ir kt.
„Scapy“ leidžia mums parašyti „Python“ scenarijų, kuris leidžia mums atlikti užduotis, pvz., Siųsti ir priimti paketus ar uostyti paketus. Pavyzdžiui, „scapy“ gali užuosti duomenų paketą naudodamas „Python“ scenarijų. Į redaktorių įvesta komanda atidaryti „getdit“
#gedit scapysniff.py#! / usr / bin / env pythoniš scapy.all importuoti *a = uostyti (skaičius = 10)a. santrauka ()išsaugokite ir pakeiskite failo režimą į vykdomąją formą# chmod + x scapysniff.py# ./scaotsbuff.py
Jis užuostys 10 paketų ir, kai tik užuostys 10 paketų, atspausdins santrauką. Scapy taip pat kaip komandų masyvas, skirtas vienu metu siųsti ir priimti paketus
Parsisiųsti Scapy
„Wireshark“ analizės įrankiai
Protokolo testavimui naudojamos priemonės - „Wireshark“. Tai leidžia užfiksuoti paketus realiu laiku ir pateikti juos žmonėms suprantama forma. Tai leidžia jums gilintis į tinklo srautą ir tikrinti atskirus paketus naudojant spalvų kodavimą ir filtrus.
„Wireshark“ fiksuoja paketus, kurie padeda nustatyti, kada seansas įsitvirtina, kada buvo pradėta tiksli duomenų kelionė ir kiek duomenų siunčiama kiekvieną kartą ir pan.
„Wireshark“ turi daugybę funkcijų, įskaitant:
- Kruopštus šimtų protokolų patikrinimas, jų vis pridedama
- Tiesioginis fiksavimas ir analizė neprisijungus
- Turtinga VoIP analizė
- Standartinė trijų sričių naršyklė
- Veikia keliose platformose, tokiose kaip „Windows“, „Linux“, OSX ir pan
- Užfiksuotus tinklo duomenis galima naršyti per GUI
- Iššifravimas palaiko daugelį protokolų, pvz., „IPsec“, ISAKMP, SSL / TLS
- Tiesioginius duomenis galima nuskaityti iš Ethernet, ATM, „Bluetooth“, USB, žetonų ir kt.
- Išvestį galima eksportuoti į CSV, XML, paprastą tekstą ir kt.
Atsisiųskite „Wireshark“
TTCN
TCCN yra standartinė testavimo kalba, skirta apibrėžti bandymo scenarijų ir jų įgyvendinimą protokolo testavimui. TCCN testų rinkinyje yra daug bandymų atvejų, parašytų TTCN programavimo kalba, ir jis naudojamas reaktyviųjų sistemų arba elgsenos testavimui .
Pvz., Kavos automatas, kuris duoda kavos įdėjus dolerio monetą, bet nereaguoja, jei į ją įdedama kas mažiau nei doleris. Tokioms mašinoms programuoti naudojama TCCN3 kalba. Kad kavos aparatas reaguotų įmetant monetą, turime parašyti TCCN-3 komponentą, kuris veikia kaip kavos aparatas. Tai leidžia mums atlikti bandymą, kol tikrasis kavos aparatas bus parduodamas kaip produktas. Kai tai bus padaryta, mes sujungsime TCCN3 testų rinkinį su išoriniu įrenginiu.
Tyrimo sistema skleidžia dirgiklius (dolerio moneta) ir gauna atsakymus (kava). Dirgiklių adapteris gauna stimulus iš bandomosios sistemos ir perduoda juos į bandomą sistemą. Atsakymo adapteris laukia bandomos sistemos atsakymų ir perduoda juos bandymo sistemai.
TCCN3 gali būti naudojamas įvairiose srityse, tokiose kaip
- Mobilusis ryšys (LTE, WiMAX, 3G ir kt.)
- Plačiajuosčio ryšio technologijos (ATM, DSL)
- Tarpinės programinės įrangos platformos (interneto paslaugos, CORBA ir kt.)
- Interneto protokolas (SIP, IMS, IPv6)
- Išmaniosios kortelės
- Automobiliai („AutoSAR“, „MOST“, „CAN“)
TCCN galime apibrėžti
- „Test Suites“
- Bandymo atvejai
- Bandymo žingsniai
- Deklaruoti kintamuosius
- Paskelbti laikmačius
- Kurkite PDU ir kt.
TCCN gali būti integruotas į kitų kalbų sistemų tipus, pvz., ASN.1, XML, C / C ++. TCCN3 pagrindinė kalba egzistuoja teksto formatu, išskyrus kitus, pavyzdžiui, lentelių, grafinius ir pateikimo formatus.