Preden se naučimo preizkušanja protokola, razumimo:
Kaj je protokol?
Ko računalnik komunicira med seboj, obstajajo skupna pravila in pogoji, ki jih mora vsak računalnik upoštevati. Z drugimi besedami, protokoli določajo, kako se podatki prenašajo med računalniškimi napravami in prek omrežij.
Preskušanje protokola
Preizkušanje protokolov je metoda preverjanja komunikacijskih protokolov na področjih preklapljanja, brezžičnega omrežja, VoIP-a, usmerjanja itd. Primarni cilj testiranja protokola je preveriti strukturo paketov, ki se pošiljajo prek omrežja z orodji za testiranje protokolov. Usmerjevalniki in stikala se med preskusom uporabljajo za oblikovanje delov naprav in izdelkov, ki se testirajo.
Preusmerjeni in usmerjevalni protokoli
Protokoli so razvrščeni v dve kategoriji usmerjeni protokoli in usmerjevalni protokoli
- Preusmerjeni protokoli : preusmerjeni protokoli se lahko uporabljajo za pošiljanje uporabniških podatkov iz enega omrežja v drugo omrežje. Prenaša uporabniški promet, kot so e-pošta, spletni promet, prenosi datotek itd. Preusmerjeni protokoli so IP, IPX in AppleTalk.
- Usmerjevalni protokoli : Usmerjevalni protokoli so omrežni protokoli, ki določajo poti usmerjevalnikov. Uporablja se samo med usmerjevalniki. Na primer RIP, IGRP, EIGRP itd.
Preprosto povedano, usmerjevalnik je kot vodilo, ki se uporablja za prevoz, medtem ko so usmerjevalni protokoli signali na cesti.
Glede na vrsto komunikacije se uporabljajo različni protokoli. Podjetja, kot so CISCO, JUNIPER, ALCATEL, izdelujejo omrežne naprave, kot so usmerjevalniki, modemi, brezžične dostopne točke itd., Ki uporabljajo različne protokole za komunikacijo, na primer Cisco uporablja EIGRP, OSPF itd. Testiranje protokola ni nič drugega kot preverjanje, ali EIGRP (Enhanced Interior) Gateway Routing Protocol) ali OSPF (Open Shortest Path First) ali kateri koli drug protokol deluje v skladu z ustreznim standardom.
Vrste računalniških protokolov
Vrste protokolov | Namen protokolov |
---|---|
TCP / IP | Uporablja se za pošiljanje informacij v majhnih paketih prek interneta |
UDP / ICMP | Uporablja se za pošiljanje majhne količine informacij v podatkovnih paketih prek interneta |
POP3 in SMTP | Uporablja se za pošiljanje in prejemanje pošte |
Protokol za prenos hiperteksta | Uporablja se za prenos strani HTML v šifrirani obliki za zagotavljanje varnosti občutljivih podatkov |
FTP | Uporablja se za prenos datotek po omrežju od enega vozlišča do drugega |
* TCP / IP - protokol za nadzor prenosa / internetni protokol, UDP / ICMP - protokol uporabniškega datagrama / protokol za nadzor internetnih sporočil, POP3 / SMTP - protokol pošte / protokol enostavnega prenosa pošte, HTTP - protokol prenosa hiperbesedila, FTP - protokol prenosa datotek
Različne vrste omrežnih protokolov (L2 in L3)
Model OSI ima skupaj 7 plasti omrežne komunikacije, pri čemer sta plast 2 in 3 zelo pomembni.
- Sloj 2 : To je plast podatkovne povezave. Naslov Mac, Ethernet, Token Ring in Frame Relay so vsi primeri sloja podatkovne povezave.
- 3. sloj : To je omrežni sloj, ki določa najboljšo razpoložljivo pot v omrežju za komunikacijo. Naslov IP je primer plasti3.
Kako narediti testiranje protokola
- Za testiranje protokola potrebujete analizator protokola in simulator
- Analizator protokolov zagotavlja pravilno dekodiranje skupaj z analizo klicev in sej. Medtem ko simulator simulira različne entitete mrežnega elementa
- Ponavadi testiranje protokola izvede DUT (naprava v preskusu) na drugih napravah, kot so stikala in usmerjevalniki, ter konfiguriranje protokola v njem
- Nato preverite strukturo paketov paketov, ki jih pošljejo naprave
- Z orodji, kot so lxNetworks, Scapy in Wireshark, preveri razširljivost, zmogljivost, algoritem protokola itd.
Vrste preskušanja za preskušanje protokola
Preizkušanje protokola vključuje preizkušanje funkcionalnosti, zmogljivosti, sklada protokolov, interoperabilnosti itd. Med preskušanjem protokola se opravijo v bistvu trije pregledi.
- Pravilnost : Ali dobimo paket X, ko smo pričakovali
- Latencija : Koliko časa traja paket za tranzit sistema
- Pasovna širina : koliko paketov lahko pošljemo na sekundo
Preizkušanje protokola lahko ločimo v dve kategoriji. Preskusi napetosti in zanesljivosti ter funkcionalni testi. Preskusi napetosti in zanesljivosti zajemajo preskušanje obremenitve, testiranje izjemnih situacij, preizkušanje zmogljivosti itd. Medtem ko funkcionalno testiranje vključuje negativno preskušanje, preskušanje skladnosti, preskušanje interoperabilnosti itd.
- Preizkušanje skladnosti : Protokoli, ki se izvajajo na izdelkih, so preizkušeni glede skladnosti, kot so IEEE, RFC itd.
- Preskušanje interoperabilnosti : preizkušena je interoperabilnost različnih ponudnikov. To testiranje se opravi po tem, ko se na ustrezni platformi opravi testiranje skladnosti
- Preizkušanje funkcij omrežja : Funkcije mrežnih izdelkov so preizkušene glede funkcionalnosti s sklicevanjem na projektni dokument. Na primer, funkcije so lahko zaščita vrat na stikalu, ACL na usmerjevalniku itd.
Vzorčni primeri primerov za testiranje protokola omrežnih naprav
Tu je primer testnega primera za usmerjevalnike
Ime testa | Testni primeri |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Orodja za testiranje protokolov
Pogovorimo se o najpomembnejših orodjih za testiranje, ki se uporabljajo za preverjanje protokolov
Scapy za izdelavo paketov
Scapy je zmogljiv interaktivni program za manipulacijo paketov. Omogoča vam
- Ustvari pakete
- Dešifriranje paketov v omrežju
- Zajemite pakete in jih analizirajte
- Vbrizgajte pakete v omrežje
Torej v bistvu Scapy počne predvsem dve stvari: prejemanje odgovorov in pošiljanje paketov . Določite pakete, ta jih pošlje, prejme odgovore, ujema z zahtevami in odgovori ter vrne seznam paketnih parov in seznam neprimerljivih paketov.
Lahko se ukvarja tudi z drugimi stvarmi, kot so usmerjanje sledi, preskusi enot, napadi ali odkrivanje omrežja, razvoj novih protokolov, sondiranje itd.
Scapy nam omogoča pisanje skripta Python, ki nam omogoča izvajanje naloge, kot je pošiljanje in sprejemanje paketov ali njuhanje paketov. Na primer, scapy lahko povoha podatkovni paket s pomočjo skripta Python. Ukaz za odpiranje getdita, vnesenega v urejevalnik
#gedit scapysniff.py#! / usr / bin / env pythoniz scapy.all uvoz *a = vohanje (štetje = 10)a.nsummary ()shranite in spremenite način datoteke v izvedljivo obliko# chmod + x scapysniff.py# ./scaotsbuff.py
Povohalo bo 10 paketov in takoj, ko je povohalo 10 paketov, bo natisnilo povzetek. Scapy tudi kot niz ukazov za istočasno pošiljanje in prejemanje paketov
Prenesite Scapy
Wireshark orodja za analizo
Orodja za testiranje protokolov - Wireshark. Omogoča zajemanje paketov v realnem času in prikaz v razumljivi obliki. Omogoča vam kopanje globoko v omrežni promet in pregledovanje posameznih paketov z uporabo barvnega kodiranja in filtrov.
Wireshark zajema pakete, ki pomagajo določiti, kdaj se seja vzpostavi, kdaj se je začel natančen prenos podatkov in koliko podatkov je poslanih vsakič itd.
Wireshark ima nabor bogatih funkcij, ki vključujejo
- Temeljit pregled na stotine protokolov, ki so bili ves čas dodani
- Zajemanje v živo in analiza brez povezave
- Bogata VoIP analiza
- Standardni brskalnik s tremi podokni
- Deluje na več platformah, kot so Windows, Linux, OSX itd
- Zajete omrežne podatke je mogoče brskati prek GUI
- Dešifriranje podpira številne protokole, kot so IPsec, ISAKMP, SSL / TLS
- Podatke v živo lahko berete iz Etherneta, ATM-ja, Bluetooth-a, USB-ja, žetona itd.
- Izhod lahko izvozite v CSV, XML, navadno besedilo itd.
Prenesite Wireshark
TTCN
TCCN je standardni testni jezik za določanje testnega scenarija in njihovo izvajanje za testiranje protokola. Testni paket TCCN vsebuje veliko testnih primerov, napisanih v programskem jeziku TTCN, in se uporablja za testiranje reaktivnih sistemov ali vedenjsko testiranje .
Na primer avtomat za kavo, ki vam da kavo ob vstavitvi kovanca za dolar, vendar se ne odzove, če je vanj vstavljeno kaj manj kot dolar. Za programiranje takšnih strojev se uporablja jezik TCCN3. Da bi se aparat za kavo odzval pri vstavljanju kovanca, moramo napisati komponento TCCN-3, ki deluje kot aparat za kavo. Omogoča nam preizkus, preden je dejanski aparat za kavo na voljo kot izdelek. Ko končate, bomo testni paket TCCN3 povezali z zunanjo napravo.
Testni sistem odda dražljaje (dolarski kovanec) in prejme odzive (kava). Adapter za dražljaje pridobi dražljaje iz testnega sistema in jih posreduje v sistem, ki se testira. Odzivni adapter čaka na odzive preskušanega sistema in jih posreduje preskusnemu sistemu.
TCCN3 se lahko uporablja na različnih področjih, kot so
- Mobilne komunikacije (LTE, WiMAX, 3G itd.)
- Širokopasovne tehnologije (ATM, DSL)
- Platforme Middleware (spletne storitve, CORBA itd.)
- Internetni protokol (SIP, IMS, IPv6)
- Pametne kartice
- Avtomobilizem (AutoSAR, MOST, CAN)
V TCCN lahko določimo
- Testni apartmaji
- Testni primeri
- Preizkusni koraki
- Navedite spremenljivke
- Izjava o časovnikih
- Ustvari PDU itd.
TCCN je mogoče integrirati z vrstami sistemov drugih jezikov, kot so ASN.1, XML, C / C ++. Osnovni jezik TCCN3 obstaja v besedilni obliki, razen drugih formatov, kot so tabelarični, grafični in predstavitveni.