Wireshark je de-facto go-to nástroj pre niekoľko sieťových problémov, ktoré sa líšia od riešenia problémov so sieťou, skúmania bezpečnostných problémov, kontroly sieťovej prevádzky podozrivej aplikácie, ladenia implementácií protokolov, spolu s účelmi učenia sa sieťových protokolov atď.
Projekt Wireshark bol zahájený v roku 1998. Vďaka dobrovoľnému príspevku globálneho sieťového experta pokračuje v aktualizácii nových technológií a štandardov šifrovania. Preto je to jednoznačne jeden z najlepších nástrojov na analyzovanie paketov a je používaný ako štandardný komerčný nástroj rôznymi vládnymi agentúrami, vzdelávacími inštitútmi a neziskovými organizáciami.
Nástroj Wireshark sa skladá z bohatej sady funkcií. Niektoré z nich sú nasledujúce:
- Multiplatforma: je k dispozícii pre systémy Unix, Mac a Window.
- Zachytáva pakety z rôznych sieťových médií, t.j.e., Bezdrôtová sieť LAN, Ethernet, USB, Bluetooth atď.
- Otvára paketové súbory zachytené inými programami, ako sú Oracle snoop a atmsnoop, Nmap, tcpdump, Microsoft Network Monitor, SNORT a mnoho ďalších.
- Ukladá a exportuje zachytené údaje paketov v rôznych formátoch (CSV, XML, holý text atď.).).
- Poskytuje podporu popisu protokolov vrátane SSL, WPA / WPA2, IPsec a mnohých ďalších.
- Zahŕňa filtre na zachytávanie a zobrazovanie.
Wireshark vás však nebude varovať pred škodlivými činnosťami. Pomôže vám iba skontrolovať a zistiť, čo sa deje vo vašej sieti. Okrem toho bude analyzovať iba sieťový protokol / aktivity a nebude vykonávať žiadnu inú činnosť, ako je odosielanie / zachytávanie paketov.
Tento článok poskytuje podrobný návod, ktorý začína základnými informáciami (t.j.e., filtrovanie, sieťové vrstvy Wireshark atď.) a prenesie vás do hĺbky dopravnej analýzy.
Filtre Wireshark
Wireshark je dodávaný s výkonnými filtrami, zachytávacími filtrami a obrazovými filtrami, ktoré odstraňujú šum zo siete alebo už zachytený prenos. Tieto filtre zúžia nevyžiadanú komunikáciu a zobrazia iba pakety, ktoré chcete vidieť. Táto funkcia pomáha správcom siete pri riešení problémov, ktoré máte k dispozícii.
Predtým, ako prejdete do podrobností filtrov. Ak vás zaujíma, ako zachytiť sieťový prenos bez filtra, môžete stlačiť kombináciu klávesov Ctrl + E alebo prejsť na možnosť Zachytiť v rozhraní Wireshark a kliknúť na tlačidlo Štart.
Poďme sa teraz hlbšie venovať dostupným filtrom.
Zachytiť filter
Wireshark poskytuje podporu pri znižovaní veľkosti zachytávania nespracovaných paketov tým, že vám umožňuje používať filter zachytenia. Zachytáva však iba prenos paketov, ktorý sa zhoduje s filtrom, a ignoruje jeho zvyšok. Táto funkcia vám pomáha monitorovať a analyzovať prenos konkrétnej aplikácie pomocou siete.
Nezamieňajte tento filter s filtrami displeja. Nie je to filter zobrazenia. Tento filter sa zobrazí v hlavnom okne, ktoré je potrebné nastaviť pred začatím zaznamenávania paketov. Tento filter navyše nemôžete počas snímania upravovať.
Môžete ísť do Zachyťte možnosť rozhrania a vyberte Zachytiť filtre.
Zobrazí sa výzva s oknom, ako je znázornené na snímke. Môžete si vybrať ľubovoľný filter zo zoznamu filtrov alebo pridať / vytvoriť nový filter kliknutím na ikonu + tlačidlo.
Príklady zoznamu užitočných filtrov zachytenia:
- hostiteľská ip_adresa - zachytáva prenos, iba medzi konkrétnou komunikujúcou IP adresou
- netto 192.168.0.0/24 - zachytáva prenosy medzi rozsahmi adries IP / CIDR
- port 53 - zachytáva prenosy DNS
- rozsah portov tcp 2051-3502 - zachytáva prenos TCP z rozsahu portov 2051-3502
- port nie 22 a nie 21 - zachytiť všetku komunikáciu okrem SSH a FTP
Filter displeja
Filtre displeja vám umožňujú skryť niektoré pakety pred už zachyteným sieťovým prenosom. Tieto filtre je možné pridať nad zachytený zoznam a je možné ich priebežne upravovať. Teraz môžete kontrolovať a zužovať pakety, na ktoré sa chcete sústrediť, a skryť nepotrebné pakety.
Filtre môžete pridať na panel s nástrojmi filtra displeja priamo nad prvým panelom obsahujúcim informácie o paketoch. Tento filter možno použiť na zobrazenie paketov na základe protokolu, zdrojovej adresy IP, cieľovej adresy IP, portov, hodnoty a informácií o poliach, porovnania medzi poľami a oveľa viac.
To je správne! Môžete vytvoriť kombináciu filtrov pomocou logických operátorov ako ==.!=, ||, &&, atď.
Niektoré príklady filtrov zobrazenia jedného protokolu TCP a kombinovaného filtra sú uvedené nižšie:
Sieťové vrstvy v sieti Wireshark
Okrem kontroly paketov predstavuje spoločnosť Wireshark vrstvy OSI, ktoré pomáhajú pri riešení problémov. Wireshark zobrazuje vrstvy v opačnom poradí, ako napríklad:
- Fyzická vrstva
- Vrstva dátového spojenia
- Sieťová vrstva
- Transportná vrstva
- Aplikačná vrstva
Upozorňujeme, že program Wireshark nemusí vždy zobrazovať fyzickú vrstvu. Teraz budeme kopať v každej vrstve, aby sme pochopili dôležitý aspekt analýzy paketov a to, čo každá vrstva predstavuje vo Wiresharku.
Fyzická vrstva
Fyzická vrstva, ako je znázornené na nasledujúcej snímke, predstavuje fyzické zhrnutie rámca, napríklad hardvérové informácie. Ako správca siete všeobecne neextrahujete informácie z tejto vrstvy.
Vrstva dátového spojenia
Ďalšia vrstva dátového spojenia obsahuje adresu zdrojovej a cieľovej sieťovej karty. Je to pomerne jednoduché, pretože dodáva iba rám z prenosného počítača k smerovaču alebo nasledujúcemu susednému rámcu na fyzickom médiu.
Sieťová vrstva
Sieťová vrstva predstavuje zdrojové a cieľové adresy IP, verziu protokolu IP, dĺžku hlavičky, celkovú dĺžku paketu a množstvo ďalších informácií.
Transportná vrstva
V tejto vrstve Wireshark zobrazuje informácie o transportnej vrstve, ktorá sa skladá z portu SRC, DST portu, dĺžky hlavičky a poradového čísla, ktoré sa pre každý paket mení.
Aplikačná vrstva
V záverečnej vrstve môžete vidieť, aký typ údajov sa na médium odosiela a ktorá aplikácia sa používa, napríklad FTP, HTTP, SSH atď.
Analýza dopravy
Analýza prenosu ICMP
ICMP sa používa na hlásenie chýb a testovanie na základe určenia, či sa údaje dostanú do zamýšľaného cieľa včas alebo nie. Obslužný program Ping používa správy ICMP na testovanie rýchlosti spojenia medzi zariadeniami a na správu, ako dlho paketu trvá, kým dorazí do cieľa, a potom sa vráti.
Ping použije správu ICMP_echo_request pre zariadenie v sieti a zariadenie odpovie správou ICMP_echo_reply. Ak chcete zachytiť pakety na Wireshark, spustite funkciu Capture na Wireshark, otvorte terminál a spustite nasledujúci príkaz:
ubuntu $ ubuntu: ~ $ ping na google.comPoužite Ctrl + C ukončiť proces zachytávania paketov vo Wiresharku. Na snímke nižšie si môžete všimnúť ICMP paket odoslaný = ICMP paket prijatý so stratou 0% paketov.
Na paneli snímania Wireshark vyberte prvý paket ICMP_echo_request a pozorujte podrobnosti otvorením stredného panela Wireshark.
V sieťovej vrstve si môžete všimnúť zdroj Src ako moja ip_adresa, zatiaľ čo cieľ Dst ip_address je server Google, zatiaľ čo vrstva IP uvádza protokol ako ICMP.
Teraz priblížime podrobnosti paketu ICMP rozšírením Internet Control Message Protocol a dekódujeme zvýraznené políčka na snímke nižšie:
- Typ: 08-bitové pole nastavené na 8 znamená správu s požiadavkou na ozvenu
- Kód: pre pakety ICMP vždy nula
- kontrolný súčet: 0x46c8
- Identifikačné číslo (BE): 19797
- Identifikačné číslo (LE): 21837
- Poradové číslo (BE): 1
- Poradové číslo (LE): 256
Identifikátor a poradové čísla sú spárované, aby pomohli pri identifikácii odpovedí na echo požiadavky. Podobne sa pred prenosom paketu vypočíta kontrolný súčet a pridá sa do poľa na porovnanie s kontrolným súčtom v prijatom dátovom pakete.
Teraz si v pakete odpovedí ICMP všimnite vrstvu IPv4. Zdrojová a cieľová adresa sa vymenili.
Vo vrstve ICMP overte a porovnajte nasledujúce dôležité polia:
- Typ: 08-bitové pole nastavené na 0 znamená Echo response message
- Kód: pre pakety ICMP vždy 0
- kontrolný súčet: 0x46c8
- Identifikačné číslo (BE): 19797
- Identifikačné číslo (LE): 21837
- Poradové číslo (BE): 1
- Poradové číslo (LE): 256
Môžete si všimnúť, že odpoveď ICMP odráža rovnaký kontrolný súčet, identifikátor a poradové číslo žiadosti.
Analýza prenosu HTTP
HTTP je protokol aplikačnej vrstvy Hypertext Transfer. Používa ho celosvetový web a definuje pravidlá, keď klient / server HTTP vysiela / prijíma príkazy HTTP. Najčastejšie používané metódy HTTP ae POST a GET:
POST: táto metóda sa používa na bezpečné odoslanie dôverných informácií na server, ktorý sa nezobrazí v adrese URL.
ZÍSKAJTE: táto metóda sa zvyčajne používa na získanie údajov z panela s adresou z webového servera.
Predtým, ako sa budeme hlbšie venovať analýze paketov HTTP, najskôr vo Wiresharku krátko predvedieme trojcestné podanie protokolu TCP.
TCP trojstranným podaním ruky
Pri trojstrannom podaní ruky klient iniciuje pripojenie odoslaním paketu SYN a prijatím odpovede SYN-ACK zo servera, ktorú klient potvrdí. Na ilustráciu handshake TCP medzi klientom a serverom použijeme príkaz Nmap TCP connect scan.
ubuntu $ ubuntu: ~ $ nmap -sT google.comNa paneli zachytávania paketov Wireshark posuňte zobrazenie do hornej časti okna a všimnite si rôzne spôsoby nadviazania spojenia založené na konkrétnych portoch.
Použi tcp.port == 80 filter, aby ste zistili, či je spojenie nadviazané cez port 80. Môžete si všimnúť úplné podanie ruky tromi spôsobmi, t.j.e., SYN, SYN-ACK, a ACK, zvýraznená v hornej časti snímky, ktorá ilustruje spoľahlivé pripojenie.
Analýza paketov HTTP
Ak chcete analyzovať pakety HTTP, prejdite do prehľadávača a vložte adresu URL dokumentácie Wireshark: http: // www.oblátkar.sk a stiahnuť užívateľskú príručku PDF. Medzitým musí Wireshark zachytiť všetky pakety.
Použite filter HTTP a vyhľadajte ZÍSKAŤ HTTP požiadavka zaslaná na server klientom. Ak chcete zobraziť paket HTTP, vyberte ho a na strednom paneli rozbaľte vrstvu aplikácie. V žiadosti môže byť veľa hlavičiek, v závislosti od webových stránok a prehľadávača. Na snímke nižšie budeme analyzovať hlavičky prítomné v našej žiadosti.
- Spôsob vyžiadania: metóda HTTP požiadavky je GET
- Hostiteľ: identifikuje názov servera
- User-Agent: informuje o type prehliadača na strane klienta
- Prijať, Prijať kódovanie, Prijať jazyk: informuje server o type súboru, akceptovanom kódovaní na strane klienta, t.j.e., gzip atď., a prijatý jazyk
- Cache-Control: ukazuje, ako sú požadované informácie uložené v pamäti
- Pragma: zobrazuje názov súboru cookie a hodnoty, ktoré prehliadač uchováva pre webovú stránku
- Pripojenie: hlavička, ktorá určuje, či spojenie zostane po transakcii otvorené
V HTTP v poriadku paket zo servera na klienta, pri sledovaní informácií vo vrstve protokolu Hypertext Transfer Protocol sa zobrazuje „200 OK„. Táto informácia naznačuje normálny úspešný prenos. V pakete HTTP OK môžete pozorovať rôzne hlavičky v porovnaní s ZÍSKAŤ HTTP paket. Tieto hlavičky obsahujú informácie o požadovanom obsahu.
- Verzia odpovede: informuje o verzii HTTP
- Stavový kód, fráza odpovede: odoslaný serverom
- Dátum: čas, keď server prijal paket HTTP GET
- Server: podrobnosti servera (Nginx, Apache atď.)
- Druh obsahu: typ obsahu (json, txt / html atď.)
- Dĺžka obsahu: celková dĺžka obsahu; náš súbor je 39696 bajtov
V tejto časti ste sa naučili, ako funguje protokol HTTP a čo sa stane, keď požadujeme obsah na webe.
Záver
Wireshark je najpopulárnejší a najsilnejší nástroj na sledovanie a analýzu sietí. Je široko používaný v každodenných úlohách analýzy paketov v rôznych organizáciách a ústavoch. V tomto článku sme študovali niektoré témy Wireshark v Ubuntu pre začiatočníkov až strednú úroveň. Naučili sme sa typ filtrov, ktoré ponúka Wireshark na analýzu paketov. Pokryli sme model sieťovej vrstvy vo Wiresharku a vykonali sme hĺbkovú analýzu paketov ICMP a HTTP.
Naučiť sa a pochopiť rôzne aspekty tohto nástroja je však dlhá náročná cesta. Preto je k dispozícii veľa ďalších online prednášok a cvičení, ktoré vám pomôžu s konkrétnymi témami Wireshark. Môžete postupovať podľa oficiálnej používateľskej príručky dostupnej na webe Wireshark. Navyše, akonáhle získate základné znalosti o analýze protokolov, odporúča sa tiež použiť nástroj ako Varonis, ktorý vás upozorní na potenciálnu hrozbu, a potom pomocou programu Wireshark preskúmať lepšie porozumenie.