Tinklo testavimas ir diagnostika yra gyvybiškai svarbūs siekiant užtikrinti sklandų ir saugų ryšių veikimą. Viena iš esminių tinklo testavimo sričių yra prievadų (portų) tikrinimas, ypač naudojant UDP (User Datagram Protocol) ir TCP (Transmission Control Protocol) protokolus. Šie protokolai sudaro TCP/IP protokolų rinkinio, kuris yra populiariausias pasaulyje, pagrindą. Šiame straipsnyje nuodugniai nagrinėsime UDP ir TCP prievadų testavimo svarbą, metodus ir įrankius, ypatingą dėmesį skirdami UDP paslaugoms ir su jomis susijusiems testavimo aspektams.
UDP prievadų skenavimo svarba ir iššūkiai
UDP prievadų skenavimas yra svarbus tinklo testavimo įrankis, leidžiantis atlikti bendrų UDP paslaugų patikrą. Šis skenavimas yra IP įrankių rinkinio dalis. Nors UDP yra ryšio nenustatantis protokolas, t. y. jis nesiunčia patvirtinimo apie duomenų gavimą, jo prievadų testavimas gali atskleisti potencialias tinklo saugumo spragas ir paslaugų prieinamumą.

Viena iš dažniausių UDP paslaugų yra Domain Name System (DNS), kuri susieja vardus su IP adresais. Kitos svarbios UDP paslaugos apima:
- Network Time Protocol (NTP): leidžia kompiuteriams internete sinchronizuoti laiką.
- Simple Network Management Protocol (SNMP): monitoringo ir konfigūravimo protokolas, dažnai naudojamas sistemos našumo ir sąsajos naudojimo stebėjimui.
- Multicast Domain Name System (mDNS): DNS implementacija, skirta vietiniams tinklams. Ji naudoja daugkartinį transliavimą (multicast) vardams susieti su IP adresais, kai nėra sukonfigūruotas DNS serveris.
- Universal Plug and Play (UPnP): tinklo protokolas, skirtas namų ir mažesniems tinklams, leidžiantis tokiems įrenginiams kaip spausdintuvai, dalijimosi duomenimis ir pramogų įrenginiams bendrauti tarpusavyje.
UDP prievadų skenavimo rezultatuose gali kilti tam tikras neaiškumas. Negavus atsakymo iš prievado, tai gali reikšti, kad prievadas yra užblokuotas ugniasienės (firewall), arba kad paslauga neatpažino pirminio paketo ir neatsakė. Nepaisant šios neaiškumo galimybės, UDP prievadų skenavimo negalima ignoruoti, nes tai gali palikti organizaciją pažeidžiamą įvairioms atakoms. Tokios atakos gali apimti išnaudojamas paslaugas, kurios gali lemti nuotolinį vykdymą, arba dažnai pasitaikančias UDP atspindžio atakas prieš tokias paslaugas kaip NTP ir DNS.
UDP atspindžio atakos ir DDoS
Kadangi UDP yra ryšio nenustatantis protokolas, jis nepatikrina siuntėjo IP adreso. Tai leidžia atakatoriui suklastoti IP paketą ir nurodyti bet kokį siuntėjo IP adresą. Suklastojęs siuntėjo IP adresą ir išsiuntęs daugybę paketų į kelis UDP serverius, atakatorius gali vykdyti paskirstytą paslaugos trikdymo (Distributed Denial of Service - DDoS) ataką. Amplifikacijos (padidinimo) faktorius priklauso nuo protokolo. Pavyzdžiui, naudojant memcached, atakatoriai sugebėjo pasiekti 10000-50000 kartų didesnį nei pradinio duomenų krūvio (payload) amplifikacijos faktorių.
Siekiant suprasti UDP prievadų skenavimo atsakymus, galima atlikti testavimą, pavyzdžiui, nuskenuojant vietinį maršrutizatorių. Naudojant tokius įrankius kaip Nmap, galima pastebėti "open|filtered" (atviras|užblokuotas) rezultatą. Tai dažnai įvyksta dėl maršrutizatoriaus ugniasienės, kuri blokuoja UDP paketą. Analizuojant užfikruotą UDP srautą (pvz., naudojant Wireshark), galima matyti atsakymą iš maršrutizatoriaus, kuris grįžta į localhost per 5353 UDP prievadą.
TCP vs UDP Comparison
TCP/IP tinklų pagrindai ir prievadų reikšmė
TCP/IP protokolų rinkinys yra sukurtas palaikyti įvairaus dydžio tinklus ir atlieka daugybę paslaugų, todėl šiuo metu yra populiariausias pasaulyje protokolas. Jo pirminis tikslas buvo sukurti tinklų sujungimo būdą, leidžiantį sujungti skirtingus fizinius tinklus taip, kad vartotojui jie atrodytų kaip vienas didelis tinklas.
Viso protokolų rinkinio pagrindas yra tarp tinklinės sąveikos lygmuo, realizuojantis duomenų paketų perdavimą nenustatant ryšio, t. y. naudojant datagramas. Būtent šis lygmuo tinklu perduoda paketus racionaliausiu maršrutu. Šiam lygiui priskiriamas IP (Internet Protocol). Jis siekia perduoti duomenis gavėjui, naudodamas datagraminį režimą, t. y. nenustatydamas sujungimo. Transporto lygmenyje TCP protokolas šiuos trūkumus ištaiso. IP yra geras tuo, kad sėkmingai veikia dideliuose ir mažuose, lėtuose ir greituose tinkluose. Šiam lygiui priskiriami visi duomenų maršrutizavimo protokolai: RIP, OSPF (Open Shortest Path First), ICMP (Internet Control Message Protocol). ICMP naudojamas informacijai apie klaidas perduoti.
Transporto lygmenyje veikia duomenų perdavimo valdymo protokolas TCP, kuris susietas su datagramų transporto protokolu UDP (User Datagram Protocol). Jo dėka patikimai perduodami duomenys tarp tolimųjų taškų. Duomenų srautas dalijamas į segmentus ir perduodamas žemesniajam lygiui.
Taikomojo lygmens prievadai
Taikomasis lygmuo jungia visas sistemos tarnybas ir nuolat plečiamas, siekiant patenkinti augančius vartotojų poreikius. Taikomajame lygmenyje šias paslaugas naudoja: FTP (File Transfer Protocol - failų perdavimo protokolas), TELNET - programa, skirta prisijungti prie tolimojo interneto tinklo kompiuterio, ir kt.
Tam, kad TCP atpažintų taikomąją programą, perdavusią duomenis, naudojami taikomojo lygmens prievadų (ports) numeriai, trumpumo sumetimais dažnai vadinami tiesiog prievadais. IP adresas TCP/IP protokolui nurodo kompiuterį tinkle, o prievado numeris TCP protokolui - taikomąją programą kompiuteryje. Taigi IP datagramose nurodomi siuntėjo ir gavėjo adresai, o transportiniame lygmenyje (TCP ir UDP) nurodomi prievadų numeriai. Dažnai naudojamiems interneto taikomojo lygmens protokolams, pvz., FTP, Telnet, elektroniniam paštui, priskirti oficialūs (well-known) prievadų numeriai, kurie visiems žinomi ir laikomi standartu.
Siunčiamų duomenų paketas nuolat papildomas informacija, atitinkančia lygmenį. Atitinkamai naujas paketas keičia savo pavadinimą.
Įrankiai UDP ir TCP prievadų testavimui: Hercules SETUP Utility
Vienas iš naudingų įrankių, skirtų tiek UDP, tiek TCP prievadų testavimui, yra Hercules SETUP Utility. Tai nemokama programa (freeware), sukurta HW group vidiniam naudojimui, tačiau dabar turinti daugybę funkcijų vienoje programoje. Ji veikia kaip nuoseklusis prievadų terminalas (RS-485 arba RS-232), UDP/IP terminalas ir TCP/IP klientų/serverių terminalas.

Hercules veikia su virtualiaisiais nuosekliaisiais prievadais (pvz., COM12). Ji palaiko NVT (Network Virtual Terminal) funkcionalumą, kaip ir NVT derinimo funkcijas.
Hercules aplikacijos ir naudojimo galimybės
Hercules yra puikus įrankis dirbant su nuosekliaisiais ir Ethernet įrenginiais bei sąsajomis.
- TCP Client meniu: leidžia prisijungti prie įrenginio per 99 prievadą arba atidaryti Telnet jungtį (port 23). Jei įrenginio prievadas nenustatytas į 23, jungtis nepavyks. Taip pat galima atidaryti įrenginio puslapį žiniatinklio naršyklėje, jei įrenginyje veikia žiniatinklio serveris.
- Serial tab: gali būti naudojamas kaip paprastas nuoseklusis prievadų terminalas RS-232 standartui. Čia galima nustatyti ir rodyti signalo reikšmes kiekvienoje modemo linijoje, konfigūruoti lyginumo bitą (parity bit) klaidų tikrinimui, naudoti RTS/CTS aparatinį susiejimą (hardware handshaking) arba XON/XOFF programinį susiejimą (software handshaking) duomenų srauto valdymui.
- Firmware update: leidžia siųsti HWg firmware failą (.Hwg) nuotolinio įrenginio firmware atnaujinimui.
- Ping: funkcija nuotolinio įrenginio ping'ui atlikti ir ryšiui patikrinti.
- TEA Key: 16 baitų slaptažodis, naudojamas TCP jungčiai įjungti. Jei jūsų TEA Key sutampa su priešingos pusės raktu, TCP jungtis bus įjungta; kitaip ji bus uždaryta po tam tikro laiko.
- Test file generator: skirta PortStore ir PortStore2 testavimui.
- HEX/ASCII siuntimas: galimybė siųsti duomenis HEX arba ASCII formatu. ASCII režimu galima naudoti specialius kodus, pvz.,
#xxx(kur x yra skaičius 0-9) arba$yy(kur y yra šešioliktainis skaičius) linijos perėjimui arba grįžimui į pradžią. - TCP Server tab: gali būti naudojamas kaip TCP serverio terminalas ir klausytis bet kokio prievado. Serveris priima arba atmeta jungtis, jei klientas naudoja tą patį TEA raktą. TCP serveris klausosi nurodytame prievade ir rodo gautus duomenis RAW formatu. Svarbu: MS Windows sistemoje nerekomenduojama naudoti prievadų, mažesnių nei 1024, nes Windows naudoja šiuos prievadų numerius sistemos funkcijoms.
- UDP tab: pagrindinis šio skirtuko tikslas yra siųsti UDP paketus iš jūsų kompiuterio į nurodytą paskirtį.
NVT komandos ir konfigūracija
Testavimo režimas (Test mode) skirtas visoms HW group Ethernet įrenginių funkcijoms išbandyti. NVT (Network Virtual Terminal) komandos gali būti naudojamos valdyti I/O (Input/Output) jungtis Charon moduliuose ar kituose įrenginiuose. Tai veikia tik jei įjungtas NVT arba pasirinkta "[V: NetworkVirtualTerminal On]" parinktis SETUP meniu. Galima kontroliuoti išvesties poliškumą, siųsti NVT komandas paspaudus "Write" mygtuką, skaityti įvesties reikšmes ir atnaujinti virtualius LED indikatorius.
Galima įjungti išeinančių NVT komandų rodymą, kad matytumėte, kokios komandos siunčiamos valdant išvestis. Specialūs simboliai (pvz., CR - carriage return, LF - line feed) gali būti rodomi skirtingais formatais (ASCII, HEX, DEC). Taip pat galima nustatyti eilutės pabaigos simbolius skirtingoms operacinėms sistemoms (Windows, Unix, Mac) ir įrašyti visą ekrano turinį į tekstinį failą.
Alternatyvūs įrankiai ir programos
Be Hercules SETUP Utility, yra ir kitų įrankių bei programų, skirtų tinklo prievadų testavimui:
- UDP TCP Sender & Receiver: programa, skirta iPad, kuri suteikia pagrindinius tinklo testavimo įrankius. Ji leidžia filtruoti žurnalus, išvalyti žurnalus ir yra skirta greitiems tinklo patikrinimams, prototipavimui ir derinimui. Ji yra nemokama, su reklamomis.
- IP Tools: programų rinkinys, apimantis UDP prievadų skenavimą.
- Nmap: galingas tinklo skeneris, naudojamas saugumo auditams ir tinklo atradimams atlikti. Nmap gali būti naudojamas tiek TCP, tiek UDP prievadų skenavimui.
- Wireshark: tinklo protokolo analizatorius, leidžiantis stebėti ir analizuoti tinklo srautą, įskaitant UDP ir TCP paketus. Jis yra nepakeičiamas įrankis suprasti, kaip veikia tinklo protokolai ir ką siunčia bei gauna įrenginiai.
Išvados ir rekomendacijos
UDP ir TCP prievadų testavimas yra esminė tinklo administravimo ir saugumo užtikrinimo dalis. Nors UDP prievadų skenavimas gali būti ne toks aiškus kaip TCP, jis atskleidžia svarbią informaciją apie paslaugų prieinamumą ir galimas saugumo spragas, tokias kaip UDP atspindžio atakos. Įrankiai kaip Hercules SETUP Utility, kartu su analizatoriais kaip Wireshark ir skeneriais kaip Nmap, suteikia tinklo specialistams galimybę atlikti išsamų testavimą, diagnozuoti problemas ir stiprinti tinklo saugumą. Svarbu suprasti skirtingų protokolų veikimo ypatumus ir naudoti tinkamus įrankius, siekiant efektyviai valdyti ir apsaugoti tinklo išteklius.