Автор: Orebaugh Angela   Ramirez Gilbert   Burke Josh   Morris Greg   Pesce Larry   Wright Joshua  

Теги: software   informatika  

ISBN: 978-80-251-2048-4

Год: 2008

Текст
                    Wireshark
a Ethereal
Kompletm pruvodce
analyzou
a diagnostikou siti
Prakticky toolkit pro
optimalni provoz site
Navody a reseni problemu
pro klasicke i bezdratove site
Pro Windows, Linux
i Mac OS X
Prilozene CD obsahuje
• Filtry probirane v knize
Zachycena data pouzita
ve cviceni’ch
• Instalacni soubory pro
Windows a zdrojovy kod
Qp R E S S SYNGRESS®

Wireshark a Ethereal Kompletni pruvodce analyzou a diagnostikou si'ti Jste administrator!, sit’ovi a bezpecnostni odbornici, systemovi operatori nebo programatori, jejichz soucasti praceje sledovani sitoveho provozu, dia- gnostika siti a analyza proto koi u? Chcete umet naplno a prakticky vyuzi't nastroj Wireshark (drive znamy pod nazvem Ethereal)? S timto kompletnim pruvodcem hrave vyresite problemy se si'ti, konfiguraci systemu i aplikacemi. A navic vam umozni nahlednout pod poklicku zdaleka nejpouzivanejsiho sitoveho analyzatoru, jeho uzivatelskeho prostredi i prikazu. Kolektiv zkusenych autoru vas mimo jine nauci: Zavadet Wireshark v systemech Windows, Linux a Mac OS X Pouzivat Wireshark pro administraci i zabezpeceni siti Vytvaret zachytavaci a zobrazovaci filtry Zabezpecit a optimalizovat Wireshark Zachytavat pakety a datovy provoz v realnem prostredi Spravne zasadit Wireshark do stavajici sitove infrastruktury Analyzovat bezdratovy provoz Vyuzivat nastroje dodavane s Wiresharkem (TShark, Editcap a dalsi) Vytvaret disektory a prispet к vyvoji Wiresharku Za kazdou kapitolou si navic muzete overit nabyte znalosti v castech„Rychla reseni" a doplnit dalsi vedomosti v sekcich„Caste dotazy". Na doprovodnem CD naleznete instalacni soubory pro Windows a zdrojovy kod Wiresharku, slozky obsahujici filtry probirane v knize a slozku se zachycenymi daty pouzitymi ve cvicenich. О hlavni autorce: Angela Orebaugh je uznavanou expertkou na bezpecnostni techno- logic s vice nez dvanactiletou praxi v oboru. Je predni vedeckou pracov- nici pro National Vulnerability Data- base a autorkou nekolika publikaci о bezpecnostnich technologiich NIST. Je autorkou bestseller Ethe- real Packet Sniffing a podilela se na knihach Snort Cookbook a Intrusion Prevention and Active Response: Deploying Network and Host IPS. Zarazem publikace: zacatecnik pokrocliy odbormk uzivatel IT manazer administrator navrhar siti Computer Press, a.s. Holandska 8 639 00 Brno Objednavejte na: http://knihy.cpress.cz distribuce@cpress.cz Bezplatna linka 800 555 513 Qp R E S S SYNGRESS® ISBN 978-80-251-2048-4 Prodejni kod: K1599
Wireshark a Ethereal Kompletni pruvodce analyzou a diagnostikou siti Angela Orebaugh, Gilbert Ramirez, Josh Burke, Greg Morris, Larry Pesce, Joshua Wright Computer Press, a. s., 2008. Vydani prvni. Preklad: Martin Babarik Jazykova korektura: Petra Lanickova Vnitrni uprava: Jin Matousek Sazba: Rene Kasik Rejstnk: Rene Kasik Obalka: Martin Sodomka Komentar na zadni strane obalky: Libor Pacl Technicka spoluprace: Petr Klima, Zuzana §indlerova Odpovedny redaktor: Libor Pacl Technicky redaktor: Jin Matousek Produkce: Daniela Necasova This edition of Wireshark & Ethereal Network Protocol Analyzer Toolkit by Angela Orebaugh, Gilbert Ramirez, Josh Burke, Greg Morris, Larry Pesce, Joshua Wright published by arrange- ment with ELSEVIER INC of 200 Wheeler Road, 6th floor, Burlington, MA 01803, USA. Autorizovany preklad z originalniho anglickёho vydani Wireshark & Ethereal Network Protocol Analyzer Toolkit. Originalm copyright: © Syngress Publishing, Inc., 2007. Preklad: © Computer Press, a.s., 2008. Computer Press, a. s., Holandska 8, 639 00 Brno Objednavky knih: http://knihy.cpress.cz distribuce@cpress.cz tel.: 800 555 513 ISBN 978-80-251-2048-4 Prodejni kod: K1599 Vydalo nakladatelstvi Computer Press, a. s., jako svou 3004. publikaci. © Computer Press, a.s. Vsechna prava vyhrazena. Zadna cast teto publikace nesmi byt kopi- rovana a rozmnozovana za licelem rozsifovani v jakekoli forme ci jakymkoli zpusobem bez pisemneho souhlasu vydavatele.
Obsah Predmluva.......................................................................15 Prilozene CD..............................................................15 Hlavni autorka............................................................15 Odborny korektor a spoluautor.............................................16 Spoluautoii...............................................................16 Konvence pouzite v knize..................................................17 Poznamka redakce ceskeho vydani...........................................18 Kapitola 1 Uvod do analyzy site............................................................19 U vod.....................................................................20 Co je analyza site a sniffing?............................................20 Kdo pouziva analyzu site?.................................................22 Jak sniffery pouzivaji utocnici?.......................................23 Jak vypadaji zachycena data?...........................................24 Obvykle sit’ove analyzatory............................................24 Jak funguje analyza site?.................................................26 Vysvetleni Ethernetu...................................................26 Porozumeni modelu OSI (Open Systems Interconnection)...................27 Vrstva prvni: Fyzicka.............................................28 Vrstva druha: Spojova.............................................29 Vrstva tfeti: Sitova..............................................30 Vrstva ctvrta: Transport™'........................................31 Vrstva pata: Relacni..............................................32 Vrstva sesta: Prezentacni.........................................33 Vrstva sedma: Aplikacni...........................................33 CSMA/CD................................................................35 Hlavni protokoly: IP, TCP, UDP a ICMP..................................35 Protokol IP.......................................................35 Internet Control Message Protocol.................................36 TCP...............................................................36 Protokol UDP......................................................37 Hardware: Kabelove odbocky, rozbocovace a pfepinace....................37
4 Obsah Zrcadleni portu...................................................39 Vitezime nad prepinaci............................................40 Odhalovani snifferu..................................................42 Zachytavani dat v bezdratovych si'tich...............................44 Hardwarove pozadavky..............................................44 Programove vybaveni...............................................45 Rozbor protokolu.....................................................46 DNS...............................................................46 NTP...............................................................47 HTTP..............................................................48 SMTP..............................................................49 Ochrana proti snifferum..............................................51 Sit’ova analyza a firemni smernice...................................52 Shrnuti..............................................................53 Rychla reseni........................................................54 Caste dotazy.........................................................56 Kapitola 2 Predstavujeme Wireshark: analyzator sitovych protokolu..............................................57 Uvod.................................................................58 Co je Wireshark?.....................................................58 Historic Wiresharku...............................................59 Kompatibilita.....................................................60 Podporovane protokoly.............................................61 Uzivatelske rozhrani programu Wireshark...........................63 Filtry............................................................64 Doporucene zdroje.................................................68 PodpOrne programy....................................................69 Tshark............................................................69 Editcap...........................................................71 Mergecap..........................................................71 Text2pcap.........................................................72 Pouzivani Wiresharku ve vasi sit’ove architekture....................73 Pouzivani Wiresharku pro reseni problemii se siti....................77 Pouzivani Wiresharku pro administraci systemu........................79 Kontrola sitove konektivity.......................................80 Kontrola dostupnosti sitovych aplikaci............................80
Obsah 5 Scenar 1: Zprava SYN bez zpravy SYN+ACK............................... Scenar 2: Zprava SYN s okamzitou odezvou RST........................81 Scenar 3: SYN SYN+ACK ACK...........................................81 Spojeni ukonceno....................................................81 Pouzivani Wiresharku pro administraci zabezpeceni...........................81 Odhaleni aktivity IRC (Internet Relay Chat).........................81 Wireshark jako si't’ovy system pro detekci pruniku (NIDS)................82 Wireshark jako detektor pfenosu firemnich informaci......................82 Zabezpeceni Wiresharku......................................................82 Optimalizace Wiresharku.....................................................83 Rychlost sitoveho ptipojeni..............................................83 Minimalizace pfislusenstvi Wiresharku....................................83 Procesor.................................................................83 Pamet*...................................................................84 Pokrocile techniky zachytavani dat..........................................84 Dsn iff..................................................................84 Ettercap.................................................................86 Utoky MITM...............................................................86 Cracking.................................................................87 Triky s prepinacem.......................................................87 Falsovani zprav protokolu ARP (ARP Spoofing)........................87 Zahlcovani tabulky s adresami MAC (MAC Flooding)....................87 Hrajeme si se smerovanim.................................................88 Ochrana site proti zachytavani dat..........................................88 Pouziti sifrovani........................................................88 SSH.................................................................88 SSL......................................................................89 Pretty Good Privacy a Secure/Multipurpose Internet Mail Extensions.......89 Prepinani................................................................89 Nasazeni detekcnich metod...................................................89 Mistni detekce...........................................................90 Sit’ova detekce..........................................................90 Dotazy DNS..........................................................90 Latence.............................................................91 Chyby v ovladad.....................................................91 NetMon..............................................................91 Shrnuti.....................................................................92 Rychla reseni...............................................................92 Caste dotazy................................................................94
6 Obsah Kapitola 3 Jak zi'skat a nainstalovat Wireshark..........................................97 Ovod....................................................................98 Jak ziskat Wireshark....................................................98 Platformy a pozadavky na system.................................... 99 Ovladace pro zachytavani paketu........................................100 Instalace knihovny libpcap..........................................101 Instalace knihovny libpcap pomoci bahckCi RPM..................101 Instalace knihovny libpcap ze zdrojovych kodu..................103 Instalace knihovny WinPcap..........................................104 Instalace Wiresharku na operacnim systemu Windows......................105 Instalace Wiresharku na operacnim systemu Linux........................106 Instalace Wiresharku pomoci baliku RPM............................ 106 Instalace Wiresharku na operacnim systemu Mac OS X.....................108 Instalace Wiresharku na operacni system Mac OS X ze zdrojoveho kodu.108 Instalace Wiresharku na Mac OS X s pouzitim DarwinPorts.............111 Instalace Wiresharku na operacni system Mac OS X s pouzitim aplikace Fink.112 Instalace Wiresharku ze zdrojoveho kodu................................113 Zapmani a vypinani vlastnosti prostrednictvim skriptu configure.....115 Shrnuti................................................................117 Rychla reseni..........................................................117 Caste dotazy...........................................................118 Kapitola 4 Pouzivame Wireshark..........................................................121 Uvod...................................................................122 Zaciname s Wiresharkem.................................................122 Seznamujeme se s Hlavnim oknem.........................................123 Souhrnne okno.......................................................124 Okno stromu protokolu...............................................125 Okno pro zobrazem dat...............................................127 Dalsi casti okna.......................................................128 Panel filtru........................................................128 Informacni pole.....................................................130 Pole pro zobrazovani informaci......................................130 Seznamujeme se s nabidkami.............................................131 Nabidka File........................................................131
Obsah Open (Otevrit)...............................................................132 Save As (Ulozit jako)........................................................133 Print (Tisk).................................................................135 Nabidka Edit (Editace).............................................................138 Find Packet (Najdi paket)....................................................140 Set Time Reference (toggle) - Nastavit casovy odkaz (pfepinac)...............141 Preferences (Nastaveni)......................................................142 Nabidka View (Zobrazeni)...........................................................143 Informace Time Display (Zobrazeni casu)......................................144 Auto Scroll in Live Capture (Automaticky posun pfi zachytavani)..............145 Apply Color Filters (Pouziti barevnych filtru)...............................145 Show Packets in New Window (Zobrazit pakety v novem okne)....................147 Nabidka Go (Pfejdi na)........................................................... 148 Go To Packet (Prejdi na paket)...............................................149 Nabidka Capture (Zachytavani)......................................................150 Capture Interfaces (Rozhrani pro zachytavani)................................151 Capture Options (Moznosti zachytavani).......................................152 Edit Capture Filter List (Editace seznamu filtru pro zachytavani)............158 Nabidka Analyze (Analyza)..........................................................159 Edit Display Filter List (Editace seznamu filtru pro zobrazeni)..............160 Apply as Filter (Pouzit jako filtr) a Prepare a Filter (Pfipravit filtr).....164 Enabled Protocols (Povolene protokoly).......................................165 Decode As (Dekodovat jako)...................................................165 Decode As: Show (Dekodovat jako: Zobrazit)...................................167 Follow TCP Stream (Sledovat datovy proud protokolu TCP) a Follow SSL Stream (Sledovat datovy proud protokolu SSL).......................................167 Expert Info (Expertni informace) a Expert Info Composite Slozene expertni informace).................................................169 Nabidka Statistics (Statistiky)....................................................169 Summary (Souhrn).............................................................171 Protocol Hierarchy (Hierarchic protokolu)....................................172 PodnabidkaTCP Stream Graph (Graf datoveho proudu protokolu TCP)..............172 Nabidka Help (Napoveda)............................................................182 Contents (Obsah).............................................................183 Supported Protocols (Podporovane protokoly)..................................184 Podnabidka Manual Pages (Stranky manualu)....................................185 Podnabidka Wireshark Online..................................................186 About Wireshark (O Wiresharku)...............................................187 Mistni nabidky.....................................................................187 Mistni nabidky Souhrnneho okna...............................................187 Mistni nabidky Okna stromu protokolu.........................................189 Mistni nabidky Okna pro zobrazeni dat........................................190
8 Obsah Pouzivani voleb v pnkazovem fadku.............................................191 Volby pro zachytavani a praci se soubory...................................191 Moznosti filtru............................................................192 Dalsi volby................................................................192 Shrnuti.......................................................................193 Rychla reseni.................................................................193 Caste dotazy..................................................................194 Kapitola 5 Filtry...............................................................................197 Clvod.........................................................................198 Tvorba zachytavacich filtru...................................................198 Vysvetleni syntaxe tcpdump.................................................199 Nazvy a adresy hostitelli.............................................199 Hardwarove adresy.....................................................200 Porty.................................................................200 Logicke operace.......................................................201 Protokoly.............................................................202 Pole protokolti.......................................................203 Bitove operatory......................................................206 Velikost paketu.......................................................208 Phklady....................................................................209 Pouzivani filtru pro zachytavani......................................209 Tvorba zobrazovadch filtru....................................................211 Tvorba vyrazu..............................................................212 Integerove hodnoty....................................................214 Boolean...............................................................216 Cfsla s pohyblivou desetinnou carkou..................................217 Aetezce...............................................................217 Sekvence bajtu........................................................220 Adresy................................................................221 Casovci pole..........................................................223 Dalsi typy poll.......................................................223 Rozsahy...............................................................224 Logicke operatory.....................................................226 Funkce................................................................226 Vicenasobne vyskyty v polich..........................................227 Skryta pole...........................................................229 Shrnuti.......................................................................230
Obsah 9 Rychla reseni...........................................................230 Caste dotazy............................................................231 Kapitola 6 Sniffovani bezdratovych siti pomoci Wiresharku................................233 Uvod....................................................................234 Vyzvy sniffovani bezdratovych siti......................................234 Vyber statickeho kanalu..............................................234 Pouziti channel hoppingu.............................................235 Dosah bezdratovych siti..............................................236 Interference a kolize................................................236 Doporuceni pro zachytavani dat v bezdratovych sitich....................236 Operacni mody bezdratovych sit’ovych karet..............................237 Nastaveni podpory monitorovaciho modu v operacnim systemu Linux.. 238 Ovladace kompatibilni s rozhranim Linux Wireless Extensions.....239 Konfigurace ovladacu MADWIFI 0.9.1..............................240 Zachytavani bezdratoveho provozu v operacnim systemu Linux..............242 Zahajeni zachytavani paketij - Linux.................................243 Nastaveni podpory monitorovaciho modu v operacnim systemu Windows.............................................244 Pfedstavujeme AirPcap................................................244 Urceni kanalu pro zachytavani........................................245 Zachytavani bezdratoveho provozu v operacnim systemu Windows............246 Analyza bezdratoveho provozu............................................247 Navigace v okne Packet Details.......................................247 Statistiky ramcu................................................247 Hlavicka IEEE 802.11............................................249 Potencial zobrazovacich filtru.......................................251 Provoz pro urcity Basic Service Set.............................252 Provoz pro specificky Extended Service Set......................255 Pouze datovy provoz.............................................260 Pouze nesifrovany datovy provoz.................................261 Identifikace skrytych SSID......................................262 Zkoumame vymeny EAP.............................................264 Identifikace bezdratovych sifrovacich mechanismu................26q Potencial barevneho odliseni zobrazenych paketii.....................273 Oznacovani From DS a To DS......................................273 Oznacovani ruseneho provozu.....................................275 Oznacovani opakovanych pokusu...................................276
10 Obsah Pridavani informacnich sloupcO............................................277 Desifrovani provozu.......................................................278 Zachytavani bezdratoveho provozu v praxi......................................281 Identifikace kanalu stanice...............................................282 Uvod.................................................................282 Ovlivnene systemy....................................................282 Analyza..............................................................282 Selhani bezdratoveho pripojeni............................................283 Uvod.................................................................283 Ovlivnene systemy....................................................283 Analyza..............................................................284 PrOzkum bezdratovych siti.................................................290 Uvod.................................................................290 Ovlivnene systemy....................................................291 Analyza..............................................................291 Sdileni uctu pro overovani pomoci protokolu EAP...........................293 Uvod.................................................................293 Ovlivnene systemy....................................................293 Analyza..............................................................294 Utoky typu odepfeni sluzby na protokol IEEE 802.11........................295 Uvod.................................................................295 Ovlivnene systemy....................................................295 Analyza..............................................................295 Utoky typu spoofing v sitich IEEE 802.11 .................................298 Uvod.................................................................298 Ovlivnene systemy....................................................298 Analyza..............................................................298 Analyza poskozeneho datoveho provozu......................................306 Uvod.................................................................306 Ovlivnene systemy....................................................307 Analyza..............................................................307 Shrnuti.......................................................................313 Rychla reseni.................................................................313 Caste dotazy..................................................................315 Kapitola 7 Zachytavani paketu v praxi....................................317 Uvod.....................................................318 Skenovani................................................318 Sken typu „TCP Connect"................................318 Sken typu „SYN"........................................320
Obsah Sken typu„XMAS"......................................................320 Sken typu„NULL"......................................................321 Trojany pro vzdaleny pnstup.............................................322 SubSeven Legend......................................................322 Net Bus..............................................................324 RST.b................................................................325 Rozbor cervu............................................................326 Cerv SQL Slammer.....................................................327 Cerv Code Red........................................................328 Podrobnosti о cervu Code Red....................................329 Prehled dat zachycenych od cerva Code Red.......................329 Podrobny rozbor zachycenych dat CodeRed_Stage1..................331 Podrobny rozbor zachycenych dat CodeRed. Stage2.................335 Cerv Ramen...........................................................336 Aktivni odezva..........................................................339 Shrnuti'................................................................342 Rychla reseni...........................................................343 Caste dotazy............................................................344 Kapitola 8 Vyvoj Wiresharku..............................................................345 Uvod....................................................................346 Podminky pro vyvoj Wiresharku...........................................346 Dovednosti...........................................................347 Nastroje / Knihovny..................................................348 Dalsi vyvojarske prostredky.............................................352 Wiki Wiresharku......................................................353 „Wish List" Wiresharku..........................................353 E-mailova konference Wiresharku.................................353 Navrh Wiresharku................................................353 .....................................................................354 aclocal-fallback a autom4te.cache....................................354 Slozka ASN1..........................................................354 Slozka Debian........................................................354 Slozka Diameter......................................................354 Slozka doc...........................................................354 DocBook..............................................................355 Definice dtds........................................................355 Slozka epan..........................................................356
12 Obsah Slozka gtk...................................................................356 Slozka gtk2.tmp..............................................................356 Slozka Help..................................................................356 Slozka IDL...................................................................356 Slozka Image.................................................................356 Slozka Packaging.............................................................357 Zasuvne moduly...............................................................358 Slozka Radius................................................................358 Slozka Test..................................................................358 Slozka Tools.................................................................358 Slozka Wiretap...............................................................359 Vyvoj disektoru.................................................................359 Krok 1 - zkopirujte sablonu..................................................359 Krok 2 - definujte гас1епёпё soubory.........................................360 Krok 3 - vytvorte funkci pro registraci......................................362 Krok 4 - informujte Wireshark................................................364 Krok 5 - vytvorte disektor...................................................364 Krok 6 - predani dat.........................................................370 Spousteni disektoru.............................................................371 Proces rozboru...............................................................372 Pokrocila temata................................................................373 Nad dm se pri tvorbe disektoru zamyslet......................................373 Vytvareni podstromu....................................................374 Bitova pole............................................................375 ftetezce Unicode.......................................................376 Konverzace.............................................................377 Opakovany prenos paketu................................................378 Predavani dat mezi disektory...........................................378 Ukladani nastaveni preferenci..........................................379 Fragmentace paketu.....................................................380 Retezce hodnot.........................................................380 ExpertniTAP............................................................381 Ladeni vaseho disektoru................................................383 СгаАскё игма1еккё rozhrani Wiresharku (GUI)..................................383 Item Factory...........................................................384 Pouzivani GTK..........................................................385 TAP....................................................................387 Zasuvne moduly.........................................................393 Shrnuti.........................................................................393 Rychla feseni...................................................................394 Caste dotazy....................................................................396
Obsah 13 Kapitola 9 Dalsi programy dodavane s Wiresharkem...............................................399 Uvod..........................................................................400 TShark........................................................................400 Statisti ky TSharku.......................................................406 Statistiky hierarchie protokolu......................................407 Statistiky protokolu podle intervalu.................................407 Statistiky konverzaci................................................409 Rozdeleni delky paketii..............................................410 Strom cilu...........................................................411 Sloupce souhrnu paketu...............................................411 Statistiky SIP.......................................................412 Citace protokolu H.225...............................................412 H.225 Service Response Time (Doba odezvy sluzby).....................413 Media Gateway Control Protocol Round Trip Delay......................413 SMB Round Trip Data..................................................413 Zjist'ovani nazvu identifikatoru zabezpeceni protokolu SMB...........414 Statistiky protokolu BOOTP...........................................414 Statistiky protokolu HTTP............................................415 Statistiky stromu protokolu HTTP.....................................415 Statistiky zadosti protokolu HTTP....................................416 Editcap.......................................................................419 Mergecap......................................................................424 Text2pcap.....................................................................426 Capinfos......................................................................429 Dumpcap.......................................................................430 Shrnuti.......................................................................431 Rychla reseni.................................................................432 Caste dotazy..................................................................433 Rejstrik 435
Predmluva Prilozene CD Vetsina nastroju pouzitych v teto knize patri do kategorie Open Source, a tudiz se neustale vyviji. Pokud se rozhodnete nasadit libovolny z techto nastrojfi na sve siti, prosim ujistete se, ze jste stahli nejaktualnejsi dostupnou verzi. Kdekoliv to bylo mozne, uvedli jsme informace о webovych strdnkach, na kterych jsou nastroje dostupne ke stazeni. Vzdy proto hledejte ikonu CD umistenou na okraji stranky, ktera znaci pfitom- nost prave probiraneho nastroje nebo souboru na pfilozenem CD. Pro vase pohodli a take proto, abychom zajistili konzistenci pouzitych prikladfi, jsme pfilozili Wireshark ve verzi 0.99.4; v dobe vzniku teto knihy se jednalo о posledni dostupnou stabilni verzi. Slozka „Windows Installer" obsahuje soubor wireshark-setup-0.99.4.exe pro instalaci na operacnich systemech platformy Win32. Tento soubor Nullsoft Scriptable Install System se vas zepta na nekolik malo informaci v prubehu instalace Wiresharku a WinPcapu. Po instalaci bude program dostupny v nabidce Start Programy. Slozka Source Files obsahuje soubor wireshark-0.99.4.tar.gz pro instalaci na jinych operacnich sys- temech nez Microsoft Windows. Na CD take najdete slozky obsahujici filtry probirane v teto knize a slozku obsahujici zachycena data pouzita ve cvicenich v kapitolach 4,6 a 7. Poznamka: Toto CD obsahuje zachycene pakety aktivity viru Code Red a obsahuje fetezce, ktere mohou byt vasi antivirovou aplikaa detekovany jako hrozba. Abyste mohli pokracovat v pouziti techto souboru, budete muset zakazat ochranu v realnem case.Tyto soubory neobsahuji skutec:- ne viry, pouze neskodna data generovana aktivitou viru. Wireshark podleha regulaci exportu ve Spojenych statech. V pfipade pochybnosti se porad’te s prav- nikem. Hlavni autorka Angela Orebaugh je uznavanou expertkou na bezpecnostni technologic, vizionafkou a vedeckou pracovnici s vice nez dvanactiletou praxi v oboru. V soucasnosti pracuje jako pfedni bezpecnostni konzultantka a venuje se vyzkumu a vyvoji elitnich systemu pro zabezpeceni informaci. Angela se momentalne podili na nekolika bezpecnostnich iniciativach pro National Institute of Standards and lechnology (NSIT). Je pfedni vedeckou pracovnici pro National Vulnerability Database a autorkou nekolika publikaci о bezpecnostnich technologiich NIST. Casove Angelino pusobem a zkusenos- ti pfesahuji jednu dekadu prace s informacnimi technologiemi se zamerenim na obranu perimet-
16 Predmluva ru, design zabezpecenych siti, objevovani zranitelnosti, penetracni testovani a systemy pro detekci pruniku. Je drzitelkou univerzitniho titulu Master in Computer Science a momentalne pracuje na ziskani titulu Ph.D se zamerenim na informacni bezpeCnost na George Mason University. Angela je autorkou bestselleru Ethereal Packet Sniffing a podilela se na knihach Snort Cookbook a Intrusion Prevention and Active Response: Deploying Network and Host IPS. Angela je vyzkumnice, spisova- telka a mluvci institutu SANS a fakulty The Institute for Applied Network Security a George Mason University. Ma bohate znalosti z branze, univerzitniho pusobeni a spoluprace s vladou a take z prace jako konzultantka spolecnosti Fortune 500, Ministerstva obrany USA, dot-com startupu a univerzit. Je casto zvanym pfednasejicim na riiznych konferencich о bezpecnosti. Jeji soucasne centrum zajmu zahrnuje detekci pruniku, prevenci pruniku, dolovani dat, protilovani utocniku, analy/u chovani uzivatelu a vysetfovani bezpeCnostnich incidentu. Odborny korektor a spoluautor Gilbert Ramirez - pote co byl Ethereal piedstaven vefejnosli, stal se Gilbert prvnim prispevatelem a je znam jako autor pravidelnych aktualizaci tohoto produktu. Pfispival take tvorbou disektoru pro- tokohi a navrhem zakladni logiky Etherealu. Je technickym vedoucim u Cisco Systems, kde pracuje na tvorbe ruznych systemu a nastroju. Gilbert by se dal charakterizovat jako rodinny typ, lingvista, radoby kuchaf a student taekwon-do. Take je autorem publikace Ethereal Packet Sniffing. Spoluautori Josh Burke (CISSP) je nezavisly konzultant v oboru informacni bezpecnosti v Seattlu, stat Washing- ton. Po dobu 7 let pracoval na pozicich souvisejicich se sitemi, systemy a zabezpecenim na poli tech- nologii, financi a medii. Promoval na obchodni skole University of Washington. Josh se zamefuje na hledani optimalm rovnovahy mezi technickymi a obchodmmi potfebami spolecnosti v mnoha oblas- tech informacni bezpecnosti. Take podporuje vSeobecne pozitivni bezpecnostni filozoiii spolecnosti, ktere povzbuzuji diskusi о zasadnich otazkach bezpecnosti a zasadach zabezpeceni, misto aby vyuco- val pouze ruzne formy omezeni a zakazu. Josh je expertem na open-source aplikace jako Snort, Ethereal a Nessus. Jeho vyzkumne zajmy zahr- nuji zlepsovani bezpecnosti a odolnosti systemu DNS a NTP. Take se v£nuje cetbe knih s matema- tickou tematikou nebo tematikou historic kryptografie, ale stejne se nemU/e /bavit pocitu, ze po kazdem takovem cteni vi о dane oblasti jeste mene, nez kdyz s cetbou zacal. Larry Pesce (CCNA, GCFA Silver, GAWN Silver) je manazerem spolecnosti Information Services Security at Care New England, stfedne velke spolecnosti zamefene na poskytovani zdravotni pece v Nove Anglii. Za poslednich 13 let stravenych v IT-branzi se Larry stal doslova vSeumelem; zabyval se opravami PC, sifovym inzenyrstvim, navrhem webu, nelinearni audio a video produkci a pocita- covou bezpecnosti. Larry je take za vyhodnych podminek zamestnan jako penetracni tester a eticky hacker u spolecnosti Defensive Intuition na Rhode Islandu. Po promoci na Roger Williams Univer- sity v oboru pocitacovych informacnich systemu Roger pfemysh о dalsim vzdelavani. Krome pusobeni v oboru je Larry take Security Evangelist tydennich podcastu PaulDotCom Security Weekly na adrese www.pauldotcom.com. Larry momentalne dokoncuie svou praci s kolegou z Paul- DotCom Security Weekly Paulem Asadoorianem о hackovani Linksys WRT54G. DalSi Larryho prace, navody a clanky najdete na jeho blogu na adrese www.haxorthematrix.com.
Greg Morris (5-CNA, 5-CNE, 3-MCNE, Linux+, LPIC-1) je Senior Resolution Engineer ve spoled- nosti Novell Technical Services v Provo, stat Utah. Greg je puvodem z Oklahomy a stravil pfes 25 let praci v pocitacove branzi. I kdyz Greg promoval v oboru managementu, jeho vasni je kreativita. A pfesne tu Gregovi poskytuje proces vyvoje softwaru. Jeho nespocetne zkusenosti zahrnuji znalost reseni problemu hardwaru a softwaru na mainframech a PC ruznych kategorii. Gregovy rane kofeny ve vyvqii softwaru spocivaji v databazovych technologiich, koketovani s programovanim v C a assem- blers avsak nejvice pracoval s jazykem zvanym Clipper od Nantucketu. Gregova prace na Etherealu zacala v listopadu roku 2000. Od te doby piispel к tomuto projektu vyznamnym mnozstvim prace, vcetne novych disektoru (NCP, NDS, NDPS) a novych funkci (rozsirene vyhledavani). Greg take upravil nmoho dalsich disektoru a momentalne vyviji dekodery pro Novell Modular Authenticati- on Services (NMAS), Novell SecretStore Services (SSS), Novell International Cryptographic Infra- structure (NIC1) a dalsi dekodery specificke pro Novell. Greg aktivne vyvijel treninkove programy pro zakazniky i intern! zamestnance pro mnozstvi ruznych produktu Novell. Jeden z jeho nejunikat- nejsich programu byl vyvinut pro vyuku internich uzivatelu, aby ovladli schopnosti nutne pro analy- zu zachycenych paketu. Greg zacal pracovat se sledovannn paketu pfed mnoha lety pomoo novellovy LANalyzeru. Odtud Greg migroval к produktu Network Associates Sniffer. Avsak od te doby, co zacal pracovat s Etherealem a pfidal kompletni podporu paketu Novell NCP/NDS, by Greg uz nepouzival zadny jiny produkt. Momentalne pracuje s Windows 2000 a Microsoft Visual C++, ale planuje pre- chod na SuSE Linux a kompilator GNU pro dalsi vyvoj Wiresharku. Joshua Wright pracuje jako senior bezpeCnostni vyzkumnik pro spolecnost Aruba Network, svetovou jednic- ku voblasti reseni pro zabezpeceni mobilnich bezdratovych komunikaci. Joshua je autorem nekolika doku- mentu о bezdratove bezpecnosti a analyze pruniku. Take napsal nekolik open-source nastroju navrzenych pro zvyrazneni slabin v bezdratovych sitich. Joshua je take senior instruktorem v SANS Institute a pravi- delnym pfednasejicim na konferencich о intbrmacni bezpecnosti. Kdyz se prave nezabyva prolamovanim bezdratovych siti, rad se venuje praci na svem dome, kde vetsinou rozbiji veci zcela jineho charakteru. Konvence pouzite v knize Text doplnuje rada specialnich odstavcu a casti: Tip: Zajimavy tip pro praci a rozSirujici informace. Dulezite: Informace, ktere byste si meli zapamatovat. Poznamka: Dalsi informace к tematu. Tyto cAsti textu poskytuji podrobnejSi informace Takto je oznacen text, ktery se vztahuje к obsahu CD.
18 Pfedmluva Poznamka redakce cesk6ho vydani I nakladatelstvi Computer Press, ktere pro vas tuto knihu prelozilo, stoji о zpetnou vazbu a bude na vase podnety a dotazy reagovat. Muzete se obratit na nasleduiici adresy: Computer Press redakce poci'tacove literatury Holandska 8 639 00 Brno nebo knihy@cpress.cz. Dalsi informace a pripadne opravy ceskeho vydani knihy najdete na internetove adrese http://knihy. cpress.cz/1599. Prostrednictvim uvedene adresy muzete tez nasi redakci zaslat komentaf nebo dotaz tykajici se knihy. Na vase reakce se srdecne test me.
KAPITOLA 1 lived do analyzy site Resent v teto kapitole: ♦ Co je analyza site a sniffing? ♦ Kdo pouziva sitovou analyzu? ♦ Jak Iimguje analyza site? ♦ Odhalovani snifferu ♦ Ochrana proti snifferum ♦ Sitbva analyza a firemm smernice ♦ Shrnuti ♦ Rychla resen i ♦ Caste dotazy
20 Kapitola 1: Uvod do analyzy site Uvod „Proc je sitbve pripojeni tak pomale?“ „Proc se nemohu dostat ke svemu e-mailu?“ „Proc se nemo- hu pfipojit ke sdilene slozce?“ „Proc se muj poatac chova divne?“ Pokud jste systemovymi admim- stratory, sifovymi nebo bezpecnostnimi specialisty, urcite jste takoveto dotazy slySeli nescetnekrat. Zacina jimi zdlouhava a nekdy strastiplna cesta к vyfeseni problemu. Zacnete tun, ze se pokusite navodit problem na svem pocitaci, ale ani vy se nemuzete pfipojit к Internetu nebo mistni siti. Co ted? Pujdete ke kazdemu serveru a /kontrolujete, zda pracuje spravne? Zkontrolujete, zda funguje smerovac? Zkontrolujete vsechny pocitace, jestli nemaji problem se si'tbvou kartou? Predstavte si nasledujici situaci. Jdete к hlavnimu prepinaci vasi site nebo hranicnimu smerovaci a nastavite jeden z nepouzivanych portii pro zrcadleni. Pfipojite svuj laptop, spustite analyzator site a vidite tisice paketu protokolu TCP (urcenych pro port 25) s ruznymi adresami protokolu IP. Vse podrobne prozkoumate a zjistite, ze na vasi siti je virus, ktery se sin eleklronickou postou. Okamzite pouzijete pfistupove tiltry, abyste temto paketum zabranili ve vstupu do vasi site, ale take v tom, aby z ni odchazely ven. Diky sve znalosti prace se sitbvym analyzatorem jste problem nastesti pomerne rychle odstranili. Co je analyza site a sniffing? Analyza site (take se muzeme setkat s vyrazy jako analyza sitbveho provozu, sniffing, analyza pake- tu, sitbvy odposlech apod.) je proces zachytavani sifoveho provozu a jeho detailni rozbor - to vse, abychom zjistili, co se v siti deje. Sitbvy analyzator dekoduje datove pakety znamych protokolu a zobrazuje sitbvy provoz ve srozumitelne podobe. Sniffer je program, ktery sleduje data putujici siti. Pouziti snifferu neopravnenou osobou predstavuje znacnou hrozbu pro bezpecnost site, nebof odhaleni jejich pfitomnosti v siti je obtizne a daji se nasadit temef kdekoliv, coz z nich dela oblibe- nou zbrah hackeru. Sitbvy analyzator muze byt bud’samostatne hardwarove zafizeni se specializovanymi programy nebo aphkace nainstalovana na pracovni stanici ci prenosnem pocitaci. Rozdily mezi jednotlivymi sifovy- mi analyzatory spocivaji zejmena v takovych vlastnostech, jako je pocet podporovanych protokolu, uzivatelske rozhrani a take statisticke schopnosti a moznosti gratickeho vystupu. Dalsi rozdily jsou dany take schopnosti dovozovani (napr. expertni analyzou) a kvalitou dekodovani paketu. Ackoliv mnoho ruznych sifovych analyzatoru umi dekodovat urcitou spolecnou mnozinu protokolu, nektere z nich odvedou s ohledem na specifika vasi site svou praci lepe nez jine. 4 Poznamka: Obchodni znacka „Sniffer ™", kterou vlastni spolecnost Network General, predstavu- je produktovou fadu s n^zvem Sniffer. V pocitacove branzi „sniffer" znamena program, ktery je schopen zachytavani a analyzy sifovych dat. Obrazek 1.1 znazornuje okno s vystupem programu Wireshark Network Analyzer. Typicky sitbvy analyzator zobrazuje zachyceny provoz ve tfech panelech: ♦ Souhrn - tento panel zobrazuje jednofadkovy souhrn odchycenych dat. Udaje zahrnuji datum, cas, zdrojovou adresu, cilovou adresu a nazev protokolu nejvyssi vrstvy spolu s informacemi о nem.
Co je analyza site a sniffing? Podrobnosti - tento panel poskytuje podrobne informace о vsech vrstvach obsazenych v pake- tech, a to formou stromove struktury. Data - tento panel zobrazuje surova (raw) data v jejich hexadecimalni a textove podobe. ssh tcpdump Wiieshark _____ _______________________________ ________________________________ ЯНЕЗ Г- £(i go Capture Analyze Statistics Took Help SvN. seq«O Len=rO mss= $ u.J00412 ff:ff:ff:ff:ff:ff 00:01:02:03:04:00 ARP who has 172.16. Tell 172.16 ARP 172.16.1.1 is at 06:07:08:09:0a:t 1 0.000000 00:01:02:03:04:00 2 0.000260 06:07:08:09:0a:0b 5 0.002705 6 0.291594 7 0.291967 8 0.292313 172.16.1.20 172.16.1.1 172.16.1.20 172.16.1.20 Souhrn 172.16.1.1 SSH TCP SSH 22: .5 [S>N. ACIffll S 90-0 Ack < 32815 > 22 [ACK] Seq-1 Ack-1 win- Server Protocol: SSH-1.99-Openssf 32815 > 22 [ack] Seq-1 Ack-24 wV client Protocol: SSH-2^ 0-openSSH. ~ Frame 3 (74 bytes on wire, 74 bytes captured) g Ethernet II, Src: 00:01:02:03:04:00 (00:01:02:03:04:00), Dst: 06:07:08:09:0a:0b (06:07:08:09:0 g internet protocol, src: 172.16.1.20 (172.16.1.20), Dst: 172.16.1.1 (172.16.1.1) Transmission control Protocol, Src Port: 32815 (32815), Dst Port: 22 (22), Seq: 0, Len: 0 Source port: 32815 (32815) Destination port: 22 (22) Podrobnosti I 0000 об 07 Об С"? 6a и I 00 oi j3 04 Об 08 00 45 6o 0010 00 3c 4d c7 40 00 40 06 92 bf ac 10 01 14 ac 10 0020 01 01 J 0030 u040 _—SO 16 do Of 23 00 00 02 04 05 b4 77 97 00 00 00 00 01 03 03 02 Data lansmission Control Protocol (tcpl 40 by- : |R55D:55M:0 Obrazek 1.1 Pohled na zobrazovaci okno sit’oveho analyzatoru Sit’ovy analyzator je kombinaci hardwaru a softwaru. Pfestoze se jednotlive produkty navzajem odli- suji, vsechny obsahuji pet zakladnich soucasti: ♦ Hardware - vetsina sitovych analyzatoru je softwarovych a pracuje s beznymi operacnimi syste- my a sit’ovymi kartami. Nicmene nektere sit’ove analyzatory nabizeji dalsi vyhody v podobe ana- lyzy chyb hardwaru (napf. chyb cyklicke kontroly redundance - CRC, problemu s voltazi, kabe- lazi, tzv. jitteringem a jabberingem [viz vysvetleni nize], chyb vyjednavani atd.). Nektere sit’ove analyzatory podporuji pouze ethernetove nebo bezdratove adaptery, zatimco jine podporuji vice druhu adapteru a umoznuji tak uzivatelum vlastni nastaveni. Podle situace budete mozna potre- bovat take rozbocovac, kolik nebo kabelovou odbocku („tap", u nas tez znama pod slangovym oznacenim „krokodylek" - pozn. pfekl.). ♦ Ovladac pro zachytavani dat - tato cast sit’oveho analyzatoru je zodpovedna za zachytavani suro- vych dat ze sit’oveho kabelu. Oddeluje data, ktera chcete ponechat, a uklada je do vyrovnavaci pame- ti. Tento ovladac je jadrem sit’oveho analyzatoru, bez nej by zachytavani dat nebylo mozne. ♦ Vyrovnavaci pamet (buffer) - tato soucast uchovava zachycena data. Ta mohou byt ukladana do vyrovnavaci pameti, dokud se tato pamet nezaplni, nebo tzv. rotacni metodou (napf. „round robin"), kdy jsou nejstarsi data postupne pfepisovana temi novejSimi. Vyrovnavaci pamet’ muze byt ulozena bud’ na pevnem disku nebo v pameti pocitace.
22 Kapitola 1: Uvod do analyzy site ♦ Analyza v realnem case - tato schopnost umoznuje analyzovat data tak, jak jsou dodavana z kabe- lu do sitbve karty. Nektere sitbve analyzatory toho vyuzivaji к odhaleni problemu s vykonem, zatimco napfiklad sitbvym systemum pro detekci pruniku (IDS) tato analyza slouzi к identifi- kaci charakteristickych znaku utoku. ♦ Dekoder - tato soudast zobrazuje obsah sitoveho provozu (vfetne popisu) ve srozumitelne podo- be. Pro ruzne protokoly existuji jine dekodery, a tak se sitbve analyzatory lisi mimo jine i poctem podporovanych dekoderu. Nicmene nove dekodery jsou neustale vyrobci analyzatoru vyvijeny, cimz rozsifuji funkcnost techto aplikaci. Poznamka: „Jittering" je technicky terinin, ktery se pouziva к popisu n^hodnych odchylek od casov^ni signalu (napr. elektromagneticka interference a prekrfzeni signSIu sjinymi signaly). Jab- bering" je termin popisujici situaci, kdy zarizeni nekorektne manipuluje s elektrickym signalem, pricemz ovlivnuje zbytek site (jabbering miize zpusobit napfiklad vadnci sitbva karta). Kdo pouziva analyzu site? Systemovi administratofi, sitbvf a bezpecnostni odbornici, systemovi operaton i programatofi - ti vSichni pouzivaji sitbve analyzatory, ktere mohou byt neocenitelnym nastrojem pfi feseni problemu se siti, konfiguraci systemu i aplikacemi. V minulosti byly sitbve analyzatory specialni hardwarova zarizeni, ktera byla draha, a navic jejich pouziti vyzadovalo expertni znalosti. Avsak technologicky pokrok umoznil vyvoj softwarovych sitbvych analyzatoru, ktere davaji administratorum pohodlny a dostupny nastroj pro feseni problemu se siti a analyzu sitoveho provozu. Umeni sitbve analyzy je dvojsecnou zbrani. Zatimco sifovi, systemovi a bezpecnostni specialiste jej vyuzivaji к feseni problemu a monitorovani site, pripadni vetfelci jej zneuzivaji к pachani skod. Sitb- vy analyzator je pouze nastroj a jako kazdy nastroj miize byt pouzit s dobrym i zlym umyslem. Sitbvy analyzator slouzi pro: ♦ Konverzi binarnich dat do citelne podoby ♦ keseni problemu se siti ♦ Analyzu vykonu site a identifikaci problematickych mist v siti ♦ Sitovou detekci pruniku ♦ Zaznam sitoveho provozu pro soudni ucely a licely dukazmho fizeni ♦ Analyzu akci provedenych aplikacemi ♦ Odhaleni vadnych sitbvych karet ♦ Odhaleni puvodu virovych infekci a utoku odepfeni sluzby (DoS) ♦ Detekci spywaru ♦ Odhalovani chyb pri programovani sitbvych aplikaci ve stadiu ladeni ♦ Detekci napadeneho pocitace ♦ Ovefeni souladu mezi nastavenim site a firemnimi zasadami ♦ Jako zdroj informaci pfi studiu sitbvych protokolu ♦ Zpetny rozbor protokolu pfi tvorbe klientskych a podpurnych programu
Kdo pouziva analyzu site? 23 Jak sniffery pouzivaji dtocm'a? Pokud jsou sniffery pouzivany jedinci s nekalymi zamery, mohou pfedstavovat vyznamnou hrozbu pro bezpecnost site. Vetfelci v siti mohou zneuzit sniffovani к zachytavani duvernych dat a prave v teto souvislosti je casto vyraz sniffing davan do souvislosti s vyrazem odposlech. Navzdory tomu termin sniffing pfestava byt vnimam negativne; vetsina lidi pouziva vyrazy sniffing a sitova analyza ve stejnem kontextu. Neopravnene pouzivani snifferu je povazovano za pasivni formu iitoku protoze se utocnik prime nepripojuje к zadnemu systemu na siti. Sniffer vsak muze byt take instalovan na kompromitovanem systemu jako soucast aktivniho utoku. Pasivni povaha snifferu je tim, co je cini tezko odhalitelnymi. (Metody odhaleni snifferu jsou popsany podrobneji dale v teto kapitole.) Otocnici pouzivaji sniffer pro: ♦ Zachytavani uzivatelskych jmen a hesel v podobe prosteho textu ♦ Odhaleni vzorcu chovani uzivatelu site ♦ Kompromitaci duvernych in formaci ♦ Zachytavani a prehravani telefonm konverzace, ktera se odehrava prostfednictvim protokolu VoIP (Voice over IP) ♦ Mapovani sitove topologie ♦ Pasivni detekci verze operacniho systemu Pokud nejsou vsechny vyse uvedene zpusoby pouziti snifferu provadeny tzv. penetracnim testerem (specialista, jehoz praci je vyhledavani a hlaseni slabych mist v zabezpeceni site), jsou povazovany za nezakonne. Aby bylo zachytavani dat vubec mozne, musi utocnik nejprve ziskat fyzicky pfistup ke komunikacni- mu kabelu patricimu к siti, ktera je stfedem utocnikova zajmu. To znamena bud’pfitomnost na stej- nem segmentu site nebo mo^.nost pfipojeni ke kabelu spojujicimu dva koncove komunikadni uzly. Pokud utocnik neni fyzicky pfitomen na cilove siti nebo v blizkosti komunikacniho pfistupoveho bodu, jsou zde dalsi metody, jak zachytavat sitovy provoz: ♦ Prunik do ciloveho pocitace a instalace snifferu s moznosti ovladam na dalku. ♦ Prunik do pfistupoveho bodu (napf. poskytovatele internetovych sluzeb) a instalace programu v tomto bodu. ♦ Nalezeni systemu na strane poskytovatele internetovych sluzeb, ktery uz ma sniffer nainstalo- van. ♦ Vyuziti socialniho inzenyrstvf pro ziskani fyzickeho pfistupu кposkytovateli internetovych sluzeb a instalace snifferu pnmo u nej. ♦ Spoluprace s osobou v organizaci, v niz se cilovy pocitac nachazi, nebo s osobou na strane posky- tovatele internetovych sluzeb. ♦ Pfesmerovani nebo kopirovani komunikace tak, aby ji bylo mozno timto zpusobem vytvofenou komunikacni cestu vest pres utocnikuv pocitac. Zachytavaci programy jsou vetsinou take soucasti tzv. rootkitu (sad rootkit), ktere se instaluji na kom- promitovane systemy. Rootkity se obecne pouzivaji pro zahlazovani stop ulocnikovy cinnosti v sys- temu, a to jednak nahrazenim nekterych systemovych utilit a prikazu systemu upravenymi verzemi souboru, jednak take mazanim ruznych zaznamu ze systemu. Utocnici instaluji i jine programy jako
24 Kapitola 1: Uvod do analyzy site sniffery, keyloggery (programy zaznamenavajici stisknute klavesy) a backdoory (tzv. zadni vratka - bezpecnostni slabina v systemu umoznujici jeho vzdalene sledovani a ovladani). Zachytavani dat ve Windows muze probihat pres nekterou soucast systemu RAT (Remote Admin Trojan), jako napf. SubSeven nebo BackOrifice. Utocnici casto vyuzivaji sniffovaci programy, ktere jsou nastaveny pro vyhledavani konkretnfch druhu informaci (napf. hesel), a nasledne tyto informace zasilaji na utocni- kuv pocitac (nebo je uchovavaji do doby, nez si je utocnik vyzvedne). Protokoly, ktere si о napadeni timto zpusobem vylozene fikaji, jsou zejmena Telnet, protokol pro pfenos souboru FTP, Post Office Protocol verze 3 (POP3), Internet Message Access Protocol (IMAP), Simple Mail Transfer Protocol (SMTP), Hypertext Transfer Protocol (HTTP), Remote Login i rlogin) a Simple Network Manage- ment Protocol (SNMP). Pfikladem rootkitu je aplikace „TOrnKit", ktera pracuje na operacnim systemu Solaris a I inux. Snif- fer, ktery je soucasti tohoto rootkitu, se nazyva ,,tOrns“ a instaluje se do skryteho adresafe lusrlsrecl. puta. inym pfikladem je Linux Rootkit 5 (LrK5), ktery do systemu nainstaluje sniffer linsniff. Utocnici mohou take zneuzivat sniffery к ovladani programu typu backdoor (tento zpusob nem zcela bezny, ale neda se fici, ze by byl vylozene neznamy). Jednou z moznosti je nainstalovat na cilovy pocitac sniffer, ktery nasloucha specilickym informacim a pote zasila informace slouzici к ovlada- ni backdooru na instalo vanemu na sousedicim pocitaci. Tento zpusob ovladani backdooru je tezko zjistitelny, protoze je uz ze sve podstaty zcela pasivni. cdOOr je pfikladem backdoor snifferu, ktery nepracuje v promiskuitmm modu, coz jej cini jeste hufe odhalitelnym. Pouziti produktu jako Fyodors Nmap (http://insecure.org/nmap) к zaslani serie zadosti о synchronizaci protokolu TCP (SYN) na nekolik definovanych portii zpusobi, ze backdoor otevfe pfedem urceny port. Vice informaci о programu cdOOr najdete na www.phenoelit.de/stuff/cdOOr.c. Poznamka: Rootkit je kolekci programu typu trojsky kun, ktere se diky nahrazeni legitimnich programu na napadenem pocitacovem systemu vyhnou odhaleni. Nektere pfikazy, ktere takto byvaji nahrazeny, jsou napf. ps, ifconfig a Is. Rootkity mohou take instalovat dalsi typy aplikaci, zejmena pak sniffery. Jak vypadaji zachycena data? Nejlepsim zpusobem, jak porozumet snifferu, je sledovat jej v akci. Obrazek 1.2 ukazuje data zachycena pfi relaci protokolu FTP z laptopu na pocitac s operacnim systemem Linux. Dva zvf- raznene pakety ukazuji, jak snadne muze byt zachyceni uzivatelskeho jmena a hesla (napf. ,,root“ a „password*'). Obvykle 5|Ч’оуё analyzatory ♦ Wireshark - Wireshark je jednim z nejlepsich dostupnych snifferu a je vyvijen jako bezplatny software dosahujici kvality komercnich produktu. Ma mnoho funkci, pfijemne graficke uzivatel- ske rozhrani (GUI), umi dekodovat pfes 400 protokolu a je aktivne vyvijen a aktualizovan. Pra- cuje na systemech zalozenych na Umxu, Mac OS X i Windows. Je to vynikajici sniffer pro pouziti v produkcnim prostfedi a je dostupny na www.wireshark.org.
Kdo pouziva analyzu site? 25 Hp( 11 (cpdump Wiiethaik RWE3 fie E^* У16** Capture Anafyze gtatrchct loots Hdp Expression Clear Apply After. — No. - 1 Time Soiffce Protocol Ho 1 0.000000 172.16.1.20 172.16.1.1 TCP 32821 > ftp [SYN] Seq=0 Len®o MS*. 2 0.000910 172.16.1.1 172.1г.1.20 TCP ftp > 32871 [S>N, ACK] seq< A'- 3 0.000984 172.16.1.20 172.16.1.1 TCP 32821 > ftp [ACK] Seq=l Ack-1 wir 4 0.012235 172.16.1.1 172.16.1.20 FTP Response: 220 (vsFTPd 2.0.1) 5 0.012490 172.16.1.20 172.16.1.1 TCP 32821 > ftp [ACK] Seq®l Ack«21 w i. 5957УГ 172.16.1.20 172.16.1.1 FTP Request: USER root | " 7 1.597601 172.16.1.1 172.16.1.20 TCP ftp > 32821 [ACK] Seq-21 Ack-12 8 1.598934 172.16.1.1 172.16.1.20 FTP Response: 331 Please specify the 9 1.599125 172.16.1.20 172.16.1.1 TCP 32821 > ftp [ACK] Seq-12 Ack-55 \ 1 10 3•069939 172.16.1.2U 172.16.1.1 FTP Request: pass password I Г 11 3.08494 5 172.16.1.1 172.16.1.20 TCP Tip > 32821 [ACK] 5eq«55 Ack«27 \ 12 3.086601 172.16.1.1 172.16.1.20 FTP Response: 230 Loqin successful. g Frame 18 (54 bytes on wire, 54 bytes captured) Ethernet II, Src: 00:01:02:03:04:00 (00:01:02:03:04:00), Dst: 06:G7:08:09:0a:0b (06:07:08:09:0a: internet Protocol, Src: 172.16.1.20 (172.16.1.20), Dst: 172.16.1.1 (172.16.1.1) g Transmission control Protocol, src Port: 32821 (32821), Dst Port: ftp (21), seq: 28, ten: 0 [oooo 66 оГд§' бТГа"бЕ~дд di бУоГ'бГЬб 6'5 бб'ГГбб—................ e. 0010 00 28 00 00 40 00 40 06 eO 9a ac 10 01 14 ac 10 .(..©.©......... 0020 01 01 80 35 00 15 dO c3 4a a3 00 00 00 00 50 04 ...5.... J P. 0030 00 00 b9 f9 00 00 ..... Fife. "CADocuments and SettingAzz-Screen ShotsMocal SettmgsXTemporary In. jP: 18 D 18 M. 2 Obrazek 1.2 Zachyceni uzivatelskeho jmena a hesla ♦ WinDump - verzi programu tcpdump pro operacni system Windows je program WinDump. Je dostupny na adrese www.winpcap.org/windump. Pouziva knihovny WinPcap a pracuje pod ope- racnimi systemy Windows 95,98, ME, NT, 2000 a XP. ♦ Network General Sniffer - Network General Sniffer je jednim z nejoblibenejsich komercnich snifferu. V soucasne dobe existuje cela produktova fada produktu Sniffer jako balik programu pro zachytavani dat v podnikovem prostredi. Informace na www.networkgeneral.com. ♦ Nastroj Sledovani site ve Windows 2000 a Windows 2003 Server - oba z operacnich systemu Windows 2000 Server a Windows 2003 Server maji vestaveny nastroj pro analyzu site. Najde- te jej ve slozce „Nastroje pro spravu", ale neni instalovan automaticky, takze jej musite nejprve doinstalovat z instalacniho CD operacniho systemu. ♦ EtherPeek - EtherPeek je komercm analyzator site vyvijeny firmou WildPackets. Verze tohoto produktu pro Windows i Mac OS, stejne jako dalsi produkty teto spolecnosti, muzete najit na www. wildpackets, com. ♦ Tcpdump - Tcpdump je nejstarsi a nejrozsifenejsi sifovy sniffer. Byl vyvinut skupinou Network Research Group oddeleni Information and Computer Science Division v laboratofich Lawrence Berkley National Laboratory. Je to nastroj, ktery se ovlada z prostredi pfikazove fadky a Ize jej provozovat na operacnich systemech zalozenych na systemu UNIX vcetne Mac OS X. Je aktivne vyvijen a je к dispozici na www.tcpdump.org. ♦ Snoop - Snoop je sniffer ovladany z pfikazove fadky pro operacni system Sun Solaris. ♦ Snort - Snort je sifovy system pro detekci pruniku (IDS), ktery vyuziva zachytavani sitoveho provozu. Je aktivne vyvijen a udrzovan na www.snort.org.
26 Kapitola 1: Uvod do analyzy site ♦ Dsniff - Dsniff je velmi popularnim balikem programu pro zachytavani sitbveho provozu. Je to sada nastrojii urcena pro zachytavani urcitych dat (napf. hesel) a usnadneni samotneho procesu zachy- tavani (napf. obchazeni pfepinacu). Je aktivne vyvijen na www.monkey.org/~dugsong/dsniff. ♦ Ettercap - Ettercap byl vyvinut specialne pro zachytavani dat na pfepinanych sitich. Ma vesta- vene funkce jako sber hesel, identifikaci operacnich systemu, vkladani znaku a bezi na ruznych platformach jako Linux, Windows a Solaris. Je aktivne vyvijen na ettercap.sourceforge.net. ♦ Analyzer - Analyzer je zdarma nabizeny sniffer pro operacni system Windows. Je aktivne vyvi- jen tvurci programu WinPcap a WinDump na Politecnico di Torino a muzete jej stahnout z ana- lyzer.polito.it. ♦ Packetyzer - Packetyzer je volne dostupny sniffer pro operacni system Windows, ktery vyuziva zakladni logiky programu Wireshark, proti kteremu vsak byva о jednu az dve verze pozadu. Je aktivne vyvijen firmou Network Chemistry. Vice informaci na www.networkchemistry.com/pro- ducts/packetyzer. php. ♦ MacSniffer - MacSniffer je specialne vyvinut pro prostfedi operacniho systemu Mac Os X a slouzi jako front-end nastavba к aplikaci tcpdump. MacSniffer je shareware a muzete jej stahnout zper- sonalpages. tds. net/ ~brian_hill/macsniffer.html. Jak funguje analyza site? Tato cast vam poskytne pfehled о procesu zachytavani dat a take zakladni informace о tom, jak pra- cuji sifove protokoly a site. Vysvetleni Ethernetu Ethernet je nejrozsirenejsfm standardem protokolu pouzivanych pocitaci ke komunikaci. Protokol muzeme pfirovnat ke schopnosti hovofit konkretnim jazykem. Ethernet byl vybudovan na princi- pu sdileneho pfenosoveho media, kdy vsechny pocitace mistniho sifoveho segmentu sdileji tentyz kabel. Je znam jako protokol vsesmeroveho vysildni, protoze vysila data vsem pocitacum na jednom segmentu site. Tato informace je rozdelena na jednotlive casti zvane pakety. Kazdy z techto paketu ma svou hlavicku, ktera obsahuje adresu vysilajiciho pocitace a adresu pfijemce. Pfestoze je paket odeslan vsem pocitacum daneho segmentu, odpovi na ni pouze ten, jehoz adresa je obsazena v hla- vicce paketu. Vsechny ostatni pocitace na tomto segmentu paket rovnez obdrzi, ale protoze nejsou pfijemci teto zpravy, nevsimaji si ji. Pokud na nich ovsem nebezi sniffer. Pokud je na pocitaci sniffer spusten, ovladac pro zachytavani paketu pfepne sitovou kartu do promiskuitniho modu. To zpusobi, ze takto nastaveny pocitac vidi veskery sitbvy provoz na svem segmentu site bez ohledu na to, komu byla data zaslana. Za normalnich okolnosti pocitace pracuji v nepromiskuitnim modu a nasloucha- jf pouze informacim, ktere jsou urceny pfimo pro ne. Avsak pocitace, jejichz sitbva karta pracuje v promiskuitnim modu, mohou sledovat veskerou komunikaci pochazejici od nebo smef ujici к poci- tacum vjejich blizkosti. Ethernetove adresy jsou take zname jako adresy Media Access Control (MAC) nebo fyzicke (hardwa- rove) adresy. Protoze jeden sitbvy segment muze byt sdilen mnoha pocitaci, kazdy ze sifovych adap- teru musi byt jednoznacne identifikovatelny unikatnf adresou MAC, trvale zapsanou v jejich sifove karte. Adresa MAC je 48bitove cislo, ktere je reprezentovano 12cifernym hexadecimalnim cislem. To je rozdeleno na dve poloviny; prvnich 24 bitu slouzi pro identifikaci vyrobce sifove karty a druhych 24 bitu pfedstavuje seriove cislo pfirazene vyrobcem.
jak funguje analyza site? 27 Nasledujici postup vam umozni zobrazit adresu MAC vast sit’ove karty: Ф Windows 9x/ME - klepnete na tlacitko Start Spustit a napiste winipcfg.exe. Adresa MAC bude vypsana jako „Adresa adapteru" (Adapter address). Ф Windows NT, 2000, XP a 2003 - spustte pnkazovy radek a zadejte ipconfig /all Adresa MAC bude vypsana jako „Fyzicka adresa" (Physical address). * Linux a Solaris - z pfikazove fadky zadejte ifconfig -a. Adresa MAC bude zobrazena v Linuxu jako „HWAddr", zatimco v operacnim systemu Solaris jako „ether". Ф Macintosh OS X - v aplikaci Terminal zadejte ifconfig -a. Adresa MAC bude vypsana na radku oznacenem „Ether". Muzete take zobrazit adresy M AC pocitacu, s kterymi jste uz prostfednictvim site komunikovali, a to pomoci pfikazu arp -a (budeme se mu venovat podrobneji v kapitole „Vitezime nad pfepinaci"). Adresy MAC jsou unikatni a zadne dva pocitace by nemely pouzivat stejnou. Nicmene obcas dojde к chybe vyrobniho procesu, klera zpusobi, ze je vyrobeno vice sitovych karet se stejnou adresou MAC. Tato skutecnost je hlavnim duvodem, proc lide zamerne pozmenuji svou adresu MAC, coz se da pro- vest pomoci programu, ktery umoznuje adresu MAC zfalsovat (napf. itconfig). Zfalsovani adresy MAC (i jinych typu adres) se obecne fika spoofing. Krome toho nektere karty dovoluji pou/iti programu, ktery meni adresu MAC jen na dobu pouziti konkretni aplikace. A konecne, disponujete-li potfeb- nymi nastroji a dovednostmi, muzete adresu MAC trvale zinenit na sit’ove karte („pfepalit" ji). Poznamka: О spoofingu hovorime jako о procesu pozmeneni informace (jako je napf.zdrojova adre- ts sa IP, adresa MAC. nebo e-mailova adresa) v paketu na siti. Spoofing se casto pouziva pro zamasko- vani skutecne identity pocitace nebo pro pfedstirani jine identity sit’oveho zarizeni, aby bylo umoz- neno zneuzft duvery systemu vuci zarizeni, nebo pro ztizeni identifikace zdroje dtoku. Spoofovani adres se casto zneuziva v souvislosti s dtoky typu odepfeni sluzby (DoS, napf. dtok zvany Smurf), kdy je navratova adresa pozadavku zaslaneho po siti totozna s adresou pocitace v roli obeti. Porozumeni modelu OSI (Open Systems Interconnection) Tzv. model OSI (Open Systems Interconnection) byl vyvinut pocatkem 80. let organizaci ISO (Inter- national Standards Organization) za ucelem definovani spoluprace jednotlivych komponent a sitovych protokolu. Rozdeluje sit’ove funkce do sedmi vrstev, kdy kazda z nich predstavuje urcitou mnozinu souvisejicich specifikaci, funkci a cinnosti (viz obr. 1.3). Pres svou pocatecni slozitost je tato termi- nologie siroce pouzivana v sitovych, systemovych i vyvojafskych komunitach. Nasledujici cast definuje sedm vrstev modelu OSI. Poznamka: Model OSI nemusi nezbytne odrazet zpusob, jakym se ve skutecnosti programuji apli- kace nebo operacni systemy. Nektere bezpecnostni nastroje dokonce vyuzi'vaji rozdilu v imple- mentaci protokolu. aby ziskaly z pocitacu ruzne informace (vcetne jejich operacniho 5у$1ёти a konkretni zaplaty a service packy, ktere jsou pravdepodobne nainstalovany. „Hovorime о sedmivrstvem modelu, protoze ndm usnadnuje diskusi, ale tento model nemd vubec nic spolecneho se skutetnym softwarovym inzenyrstvim. Jinymi slovy, je tozpCtsobJak о vecech hovorit, nikoliv о tom, jakje implementovat. A to jepodstatne. Specifikacejsouzdkladem pro diskusi о vdcech. Ale nejsou zdkladem pro implementaci softwaru." - Linus Torvalds, koordinator projektu Linuxoveho jadra, v e mailu datovanem 29. zari 2005
28 Kapitola 1: Uvod do analyzy site Obrazek 1.3 Sedm ramecku odpovidajicich jednotlivym vrstvcim modelu OSI Vrstva prvni: Fyzicka Prvni vrstvou modelu OSI je fyzicka vrstva, ktera definuje elektricke a mechanicke pozadavky na pfe- nos datovych bitu po prenosovem mediu (kabelu nebo vlnach). Zahrnuje odesilani a pfijem datoveho proudu na pfenosove medium, at’ uz tfmto mediem putuji signaly elektricke (kabel), svetelne (vlakno), radiove, infracervene nebo laserove (bezdratove pfipojem). Specifikace fyzicke vrstvy zahrnuji: ♦ Zmeny napeti ♦ Casovani zmen napeti ♦ Rychlost prenosu ♦ Maximalni vzdalenosti pro prenos ♦ Fyzicke pnpojky к pfenosovemu mediu (konektory) ♦ Topologie fyzickeho rozvr/eni site S fyzickou vrstvou je spojeno mnozstvi spletitych problemu, vcetne analogove nebo digitalni signa- lizace, zakladni nebo sirokopasmove signalizace, zda jsou data pfenasena synchronne nebo asyn- chronne a jak jsou signaly rozdeleny mezi jednotlive kanaly (tzv. multiplexing). Zarizeni operujici na fyzicke vrstve pracuji se signalizaci (iako napr. transceiver na sitbve karte, opa- kovace, zakladni rozbocovace a jednoduche konektory, ktere spojuji dohromady segmenty kabelu). Data, ktera ma fyzicka vrstva na starosti, existuji ve forme 1 (jednicek) a 0 (nul) reprezentovanych
lak funguje analyza site?_______________________________________________________29 svetelnymi pulzy nebo zmenami elektrickeho napeti a take stavem techto pulzu (zapnuto vetsinou znamena 1 a vypnuto zase 0). Jak jsou tato data uspofadana a ovladana, urcuje druha vrstva mode- lu OSI - vrstva spojova. Vrstva druha: Spojova Drubou vrstvou v pofadi je spojova vrstva, ktera je zodpovedna za datove spojeni me/i dvema poci- taci, take nazyvanymi hostitele nebo uzly. Rovnez urcuje a spravuje fazeni bitu, ktere vstupuji do a z paketu. Rdmce obsahuji data organizovana takovym zpusobem, ktery umoznuje uspofadane a konzistentni posilam datovych bitu prostfednictvim pfenosoveho media. Nebyt toboto uspofada- ni, data by byla posilana v nahodnych velikostech a sestavach a bylo by nemozne je na druhem konci komunikacniho fetezce opet sestavit a dekodovat. Spojova vrstva ma na starosti take fyzicke adre- sovani a synchronizaci datovych paketu. Navic zodpovida za rizeni toku a hlaseni chyb pfenosu na fyzicke vrstve. Rizenim toku rozumime proces spravy a casovani posilani a pfijimani dat takovym zpusobem, aby nevycerpal kapacitu (rychlost, pamef atd.) fyzickeho spojeni. Zatimco fyzicka vrstva se stara pouze о posilam dat na pfenosove medium a pfijem dat z tohoto media, spojova vrstva take pfijima a spravuje chybova hlaseni о fyzickem doruceni paketu. Sitbva zafizeni, ktera operuji na teto vrstve, zahrnuji prepinace druhe vrstvy (pfepinaci rozbocova- ce) a mosty. Pfepinac druhe vrstvy snizuje zahlceni site tim, ze odesila data pouze na port, ke ktere- mu je pfipojen cilovy pocitac, misto toho, aby tato data odesilal na vsechny porty. Mosty poskytuji zpusob, jak rozdelit sit’ na dve casti a filtrovat provoz tim, ze vytvafeji tabulky adres MAC urcujici, na ktere strane mostu dany pocitac existuje. Spojova vrstva je rozdelena do dvou podvrstev: podvrstva logickych spoju (Logical Link Layer - LLC) a podvrstva MAC. Podvrstva MAC Podvrstva MAC zajistuje rizeni pristupu na pfenosove medium. Je zodpovedna za pfesun dat z jedne sifove karty na druhou prostfednictvim pfenosoveho media, jakym muze byt napf. Ethernet nebo opticky kabel. Fyzicka adresace je zpracovavana na urovni podvrstvy MAC. Kazda sitbva karta ma unikatni adresu MAC (take znamou jakou fyzicka adresa), ktera identifikuje konkretni sitbvou kartu na siti. Adresa MAC sitbve karty je vetsinou napevno nahrana do cipu pameti urcene pouze pro cteni (ROM) dane karty. Kazdy vyrobce sifovych karet ma к dispozici vlastnf mnozinu adres M AC, a tak by teoretic- ky kazda vyrobena sitbva karta mela mit zcela unikatni adresu MAC. Abychom pfedesli nedorozu- meni - adresa MAC je vypalena do pameti sifove karty, ktera se take nekdy nazyva Vypalena adresa (Burned-In Address - BIA). Poznamka: Adresa MAC (fyzicka adresa) je na Ethernetovych kartach vyjadfena jako 12 hexade- м cimalnich cislic razenych po dvojicich s dvojteckou mezi kazdou dvojici (napr. 12:3A:4D:66:3A:1 C). Prvni tri dvojice udavaji vyrobce, zatimco posledn. tri dvojice predstavuji unikatni identifikator karty pfirazeny vyrobcem. Podvrstva MAC poukazuje na zpusob umoznujici pfifazem pfistupu к siti pocitacum a zaroven jim zabranuje v soucasnem odesilani dat a vzniku kolizi mezi daty. Obvyklymi metodami podvrstvy AC jsou CSMA/CD (Carrier Sense Multiple Access / Collision Detection, neboli detekce kolizi pfi
30 Kapitola 1: Uvod do analyzy site pokusu о pristup к mediu nekolika zafizenimi soucasne) na Ethernetovych sitich a CSMA/CA (Car- rier Sense Multiple Access / Collision Avoidance, neboli pfedchazeni kolizim pfi pokusu о pristup к mediu nekolika zafizenimi soucasne) pouzivane na sitich Applel alk. Tfetim zpusobem je pfedavani pfiznaku (token passing) na sitich typu Token Ring nebo Fiber Distributed Data Interface (FDDI). (CSMA/CD je venovana pozornost dale v teto kapitole.) Podvrstva logickych spoju (LLC) Podvrstva logickych spoju poskytuje logiku datovym spojum, konkretne spravuje synchronizaci, fizeni toku a funkce spojovaci vrstvy pro kontrolu chyb. Tato vrstva spravuje pfenosy zalozene na spojeni, nicmene nespojovane sluzby mohou byt touto vrstvou poskytovany rovnez. Nespojovane operace jsou znamy jako LLC tfidy L, zatimco LLC tfidy IL muze zajiStbvat nespojovane t spojovane operace. Pfi spojovane operaci je kazdy odeslany ramec LLC potvrzovan. Podvrstva LLC na strane pfijimajiciho pocitace sleduje kazdy pfijaty ramec LLC (take oznacovan jako Datova Jednotka Pro- tokolu - PDU), a tak pokud zjisti, ze ramec byl pfi pfenosu ztracen, muze zaslat zadost vysilajicimu pocitaci, aby zahajil pfenos informace znovu a zacal s PDU, ktery nikdy nebyl obdrzen. Podvrstva LLC je umistena nad podvrstvou MAC, kde vykonava svou ulohu jakozto prostfednik mezi vyssimi vrstvami a protokoly, ktere operuji na podvrstve MAC (napf. Ethernet, Token ring a dal§i). Podvrstva LLC je definovana organizaci IEEE (Institute of Electrical & Electronical Engineers) iako standard 802.2. Adresace spoju, fazeni a deiinice tzv. pfistupovych bodfl sluzeb (Service Access Points - SAP) se take odehrava na teto yrstve. Vrstva treti: Sitbva Dalsi vrstvou je vrstva sitbva, na jej iz urovni jsou pakety fazeny a je jim pfifazena logicka adresace. Logicke adresy nejsou trvale, jsou pfifazovany softwarove a mohou byt zmeneny administratorem systemu. Adresy IP pouzivane sadou protokolfl TCP/IP na Internetu i adresy IPX pouzivane protokoly IPX/SPX na sitich Novel Netware jsou pfiklady logickych adres. Tyto sady protokolfl jsou oznacova - ny jako smerovatelne, protoze obsahuji adresovaci schemata identifikujici sit nebo podsila konkretni pocitac na teto siti nebo podsiti. Dalsi sitbve/transportni protokoly (napf. NET BIOS Extended User Interface [NetBEUI] nedisponuji natolik sofistikovanymi adresovacimi schematy, a tak nemohou byt smerovany mezi odlisnymi typy siti. 4 Poznamka: Abychom porozumeli rozdilum mezi fyzickou a logickou adresou, pouzijme toto pfi- rovn^ni: Dum ma fyzickou adresu, ktera urcuje, kde pfesne dflm najdete. Toto je podobne adre- se MAC na sit’ove kart£. Ve Spojenych statech amer ickych ma vsak dflm take logickou adresu skhdajici se z nazvu ulice a cis- la, kter£ mu pfiradil postovni flfad. Po§tovn‘ flfad cas od dasu muze pfeimenovat ulici nebo zmenit cislo popisne domu na teto ulici. Podobne je to i s adresami IP pfifazenymi sitovym kartcim. Sitbva vrstva je take zodpovedna za vytvafeni virtualnich okruhfl (tj. logickych spojeni, nikoliv fyzic- kych) mezi body nebo uzly. Za uzel povazujeme zafizeni s adresou MAC, bezne tedy pocitace, tis- karny a smerovace. Tato vrstva dale zodpovida za smerovani, pfepinani na treti vrstve a pfeposilani paketfl. Stnerovamznamena pfeposilani paketfl z jedne site nebo podsite do druhe. Smerovani je tim, co dela Internet globalnim Internetem, a je jednou z hlavnich uloh sit’ove vrstvy.
Jak fanguje analyza site? 31 Konecne, sitova vrstva poskytuje dalsi uroven fizeni toku a fizeni chyb. Jakbylo zmineno drive v tex- tu od tohoto bodu dale uz primarni metody implementace architektury modelu OSI zahrnuji spise software nez hardware. Zarizeni pracujici na teto vrstve zahrnuji smerovace a pfepinace tfeti vrstvy. Vrstva ctvrta: Transportin' Ctvrtou vrstvou je vrstva transport™, ktera je zodpovedna za prenos dat z jednoho uzlu na druhy. Poskytuje transparent™ prenos dat mezi uzly a zajist’uje fizeni toku od uzlu к uzlu, detekci chyb a zota- veni z chyb. Protokoly transport™ vrstvy zahajuji kontakt mezi specifickymi porty na ruznych pocita- cich a vytvafeji virtual™ okruhy. Transport™ protokol na kazdem hostitelskem pocitaci ovefuje, zda aplikace odesilajici data je opravnena к pristupu na sit’ a zda oba uzly ucastnici se komunikace jsou pfipraveny к zahajeni pfenosu. Kdyz je synchronizace dokoncena, data jsou odeslana. Zatimco jsou data pfenasena, transport™ protokol na obou hostitelich monitoruje tok dat a sleduje chyby v pfe- nosu. Pokud jsou zjisteny chyby v prenosu, transport™ protokol zajisti zotaveni z techto chyb. Funkce provadene transport™' vrstvou jsou pro sitovou komunikaci velmi dulezite. Prave tak jako spojova vrstva zajist’uje spolehlivost na nizsich urovnich a poskytuje spojovanou i nespojovanou komunikaci, transport™' vrstva dela totez, ale na vyssi urovni. S transport™ vrstvou jsou nejcasteji spojovany dva protokoly: TCP (Transmission Control Protocol), ktery je orientovan na spojovanou komunikaci, a UDP (User Datagram Protocol), ktery je nespojovanym protokolem. Poznamka: Jaky |e rozdil mezi spojovanym a nespojovanym protokolem? Spojovany protokol (jako napr. TCP) vytvar pred odesilanim dat mez dvema pocitaci spojeni a pomoci zprav ACK (Acknowledgement - potvrzeni, ktere je zaslano zpet odesilajicimu pocitaci prijimajicim pocita- cem, ktery takto potvrzuje obdrzem zpravy) overuje, ze data byla dorucena prijemci. Nespojova- ne protokoly postlaji data a pfedpokladaji, ze tato data budou dorucena anebo jejich opetovne zaslani ci overem bude osetreno aplikaci. Pouzijme opet pnrovn^ni: Potrebujete zaslat dulezity dopis svemu obchodnimu partnerovi. Pfedtim nez dopis odeslete, zavolate tomuto cloveku. aby vedel, ze ma nejakou zasilku ocekavat (navazovani spojeni). Za nekolik dni vam obchodni partner zavola a sdeli vam, ze dopis obdrzel. Pripadne dostanete pisemne potvrzeni, ze zasilka byla Ospesne dorucena (ACK). Takto pracuji spojovane protokoly. Avsak kdyz posilate kamaradovi pohlednici, proste ji hodite do postovni schranky a doufate, ze bude dorucena. Neocekavate ani nevyzadujete nejake potvrzeni. Takto zase funguji nespojovane protokoly. Transport™' vrstva se take stara о logickou adresaci portu. Port si muzete pfedstavit napfiklad jako cislo bytu v nejake budove, ktere pfesne specifikuje, kam ma byt zasilka dorucena. Na pocitaci muze v jednom okamziku bezet rnnoho sit'ovych aplikaci (napf. webovy prohlizec, ktery odesila pozadavky na webove stranky webovym serverum, e-mailovy klient odesilajici a pfijimajici zpravy, program pro prenos souboru, ktery nahrava a stahuje data ze serveru FTP). Smyslem cisel portu je definovat mechanismus, ktery urcuje aplikaci, jiz jsou pfichozi pakety adresovany. Proto- kol FTP ma konkretm cislo portu a e-mailovy klient pouziva protokoly (napf. HTTP, POP3 nebo IMAP), ktere take pouzivaji urcita cisla portu. Diky tomu nemuze dojit к tomu, aby data zaslana ze serveru webovemu prohh'zeci byla oinylem dorucena e-mailovemu klientovi. Cisla portu jsou Pouzivana protokoly TCP a UDP.
32 Kapitola 1: Uvod do analyzy site Tabulka 1.1 Cisla portu pouzivanych na Internetu 80 TCP HTTP, bezne uzivany webovymi servery. 443 TCP Hypertext Transfer Protocol Secure sockets (HTTPS) pro zabezpecene webo- ve servery. UDP a TCP Domain Name Service/System (DNS) pro preklad nazvu na adresy IP. 25 TCP Simple Mail Transfer Protocol, uzivany pro zasilani e-mailovych zprav. TCP Protokol Secure Shell (SSH). 23 TCP Telnet, nezabezpeceny protokol pro administraci. 20 a 21 TCP FTP, nezabezpeceny protokol pro pfenos souboru. 135-139 a 445 Sdileni souboru ve Windows, pfihlasovani a protokol Vzdalene volani proce- TCP a UDP , ,nnr\ dury (RPC). 500 UDP Protokol pro vyjednavani klice Internet Security Association and Key Mana- gement Protocol (ISAKMP) pouzivany na virtualnich privatnich sitich (VPN) zabezpecenych pomoci protokolu IPSec (IP Secure). 5060 UDP Protokol pro navazani spojeni (Session Initiation Protocol - SIP) pro pouziti s VoIP (Voice over IP). 123 UDP Network Time Protocol (N' P) pouzivany pro synchronizaci casu. Konecne take transportni vrstva ma na starosti i preklad nazvu. Vetsina uzivatelu identifikuje pocitace radeji pomoci jejich nazvu, namisto adres IP (napf. www.microsoft.com namisto 207.46.249.222), ale pocitace dokazou interpretovat pouze cisla, a takmusi existovat zpusob, jak vyhledavat nazvy hostitelu podle jejich adres IP. Tento problem fesi sluzba DNS, jakozto jeden z mechanismu pfekladu nazvu. Vrstva pata: Relacm Pote co transportni vrstva vytvofi virtualni spojeni, je mezi dvema procesy na dvou ruznych pocita- cich navazana komunikacni relace. Relacni vrstva je zodpovedna za navazovani, sledovani a ukon- covani relaci za pouziti virtualnich okruhu vytvofenych transportni vrstvou. Relacni vrstva take do datovych paketu vklada informacni hlavicky, ktere definuji zacatek a konec zpravy. Jakmile je tato hlavicka pfipojena к datovemu paketu, relacni vrstva provede synchroniza- ci mezi relacni vrstvou odesilatele a relacni vrstvou pfijemce. Pfenos dat na relacni vrstve pomaha koordinovat pouzivani potvrzovacich zprav ACK. Dalsi dulezitou ulohou relacni vrstvy je urcovani, zda bude komunikace odesilana formou tzv. full- -duplex nebo half-duplex zprav. Half-duplex komunikace se odehrava mezi pocitaci obousmerne, ale informace muze v jednom okamziku cestovat pouze jednim smerem (napf. radiova komunikace, kdy stisknete tlacitko na mikrofonu a hovofite, ale nemuzete slyset osobu na druhem konci spoje- ni). Pfi komunikaci typu full-duplex dochazi к odesilani informaci obema smery zaroven (pfikla- dem budiz telefonicka konverzace, kdy oba ucastnici spojeni mohou v jednom okamziku hovofit, ale zaroven se navzajem slyset).
jak funguje analyza site? 33 Zatimco transportni vrstva vytvari spojeni mezi dvema pocitaci, ukolem relacni vrstvy je vytvo- fit spojeni mezi dvema procesy, pficemz к tomu, aby aplikace splnila svou ulohu, muze spustit vice procesu najednou. Po vytvofem spojeni mezi dvema pocitaci transportni vrstvou vytvori relacni vrstva spojeni mezi aplikacnim procesem na jednom pocitaci a aplikacnim procesem na druhem pocitaci. Vrstva sesta: Prezentacni Hlavni cinnosti prezentacni vrstvy je preklad dat. Kdyz jsou data zaslana odesilatelem pfijemci, jsou na prezentacni vrstve pfelozena (tzn. dojde к tomu, ze data jsou odeslana aplikaci nizsi, tedy prezen- tacni vrstve, kteraje pfelozi do nejakeho formatu, ktery je obema komunikujicim stranam spolecny). Kdyz jsou data na druhem konci spojeni obdrzena, prezentacni vrstva pfijemce je opet pfelozi ze spolecneho formatu do takoveho tvaru, ktery je srozumitelny pfijimajici aplikaci. Odehrava se zde tedy preklad protokolu (tzn. konverze dat z jednoho protokolu do druheho tak, aby mohla byt zasi- lana mezi pocitaci pouzivajicimi ruzne operacni systemy nebo platformy). Na prezentacni vrstve take vykonavaji svou funkci brdny (gateways). Brany jsou spojovaci body mezi sitemi, ktere pouzivaji ruzne platformy nebo aplikace (napr. e-mailove brany, brany Systems Network Architecture a brany, ktere pieklenuji odlisne programy nebo operacni systemy). Brany jsou vetsi- nou realizovany prostfednictvim softwaru jako Gateway Services for NetWare. Na teto vrstve operuji i programy, ktere zajist’uji pfesmerovani. Prezentacni vrstva take obstarava kompresi dat, ktera snizuje pocet bitu, jez must byt dopraveny po pfenosovem mediu к pfijemci. Navic se zde realizuje i sifrovani a desifrovani dat. Vrstva sedma: Aplikacni Aplikacni vrstva je bodem, ve kterem dochazi к interakci mezi uzivatelskym aplikacnim programem a siti. Neplefte si sit’ovy model se samotnou aplikaci. Aplikacni proces (napf. pfenos souboru nebo e-mailu) je zahajen uvnitf uzivatelske aplikace (napf. e-mailovy klient). Timto procesem vytvofena data jsou pfedana aplikacni vrstve sit’oveho programu. Vse, co se na teto vrstve deje, je specificke vzhledem к aplikaci (napr. sdileni souboru, pfistup к sit’ove tiskarne, sledovani a sprava site, volani vzdalene procedury a vsechny formy elektronicke komunikace ve smyslu zasilani zprav napfiklad formou elektronicke posty). Jak protokol FTP, tak i Telnet pracuji na aplikacni vrstve, stejne jako protokoly pouzivane pro pfijem ci odesilani zprav elektronicke posty SMTP, POP3 a IMAP. Dalsi protokoly aplikacni vrstvy zahrnuji HTTP, Network News Transfer Protocol (NNTP) a Simple Network Management Protocol (SNMP). Je tfeba rozlisovat mezi zminenymi protokoly a aplikacemi, ktere mohou mit jmena totozna s nazvy protokolu, protoze existuje napfiklad mnoho programu FTP vytvofenych vyrobci softwaru, ktere se pouzivaji pro pfenos souboru pomoci protokolu FTP. Model OSI je obecny a muze byt pouzit к vysvetleni vsech sitovych protokolu. Z toho duvodu jsou take mnohe sady protokolu mapovany na jednotlive vrstvy tohoto modelu. Dukladne porozumeni modelu OSI muze pomoci pfi analyze site, porovnavani a feseni problemu. Nicmene je dulezite vedet, ze model OSI nelze aplikovat na vsechny protokoly (napf. sada protokolu TCP/IP byla vytvofena tak, aby byla v souladu s modelem Ministerstva obrany USA). V sedmdesatych letech 20. stoleti Minis- terstvo obrany USA vyvinulo ctyfvrstvy model, ktereho se drzi hlavni internetove protokoly. Model ministerstva obrany je zhustenou variantou modelu OSI. Jeho ctyfi vrstvy jsou:
34 Kapitola 1: Uvod do analyzy she ♦ Vrstva procesu - tato vrstva defmuje protokoly implementovane aplikacemi na uzivatelske urov- ni (napf. dorucovani zprav elektronicke posty, vzdalene pfihlasem a prenos souboru). ♦ Vrstva hoslitel-hostitel - tato vrstva spravuie spojeni, fidi tok dat a opetovne zasilam ztrace- nych dat. ♦ Internetova vrstva - tato vrstva se stara о doruceni dat od zdroje к cili pres serii vzajemne pro- pojenych siti, ktere spojuji dva pocitace. ♦ Vrstva sitoveho pristupu - tato vrstva zajist’uje dorudeni dat pres konkretni hardwarove medi- um. Dalsi informace
jak funguje analyza site? 35 CSMA/CD Ethernet pouziva protokol CSMA/CD proto, aby si zarizeni na siti mohla vymenovat informace. Terniin hromadny pristup (Multiple access) odkazuje na skutecnost, ze mnoho sifovych zarizeni pfi- poienych к jednomu segmentu site ma moznost vysilat data. Kazdemu zarizeni je dana rovnocenna moznost pfenosu a zadne zarizeni nema vyssi prioritu nez jakekoliv jine. Detekce vysilant (Carrier sense) popisu je, jak ethernetove rozhrani nasloucha na kabelu pfedtim, nez se rozhodne data odeslat Sifove rozhrani se takto pfed zahajemm procesu odesilani dat ujistuje, ze na siti v tomto okamziku nevysila nejake jine zarizeni. Kdyz dojde к tomu, ze dve sifova zarizeni vysilaji v jednom okamziku, hovorime pako vyskytu kolize. Protoze ethernetova rozhrani pfi pfenosu naslouchaji na mediu, jsou schopna identifikovat dalsi pfenosy pomoci detekce kolizi (collision detection). Pokud ke kolizi dojde, komuniku-ici zarizeni vycka po dobu maleho nahodneho casoveho intervalu a po jeho uplynuti se pokusi komunikovat znovu. Tato funkce je znama jako random backoff. Obvykle Ethernet pracuje v modu half-duplex, coz znamena, ze sifova karta muze v jednom oka- mziku data bud’odesilat, nebo pfijimat. Pokud se nekolik sifovych karet na jednom segmentu site pokusi odesilat data najednou, dojde ke kolizi na CSMA/CD. Pokud jsou dva pocitace spojeny kfizo- vym kabelem nebo je к pfepinaci pr ipojeno pouze jedno zarizeni, budou odesilat nebo prijimat data pouze dve sifova rozhrani, a ke kolizi tedy nedojde. Je tomu tak proto, ze TX (transmit - vodic pro odesilani dat) zarizeni A je pripojen к RX (receive - vodic pro pfijem dat) zarizeni B, pficemz TX zarizeni В je spojeno s RX zarizeni A. V tomto pfipade neni detekce kolizi nutna a sifova rozhrani mohou pracovat v modu full-duplex, coz umoznuje soucasne odesilani i pfijem dat, a tedy i zvyse- m propustnosti site. Hlavni protokoly: IP, TCP, UDP a ICMP Da se fici, ze nasledujici ctyfi protokoly jsou jadrem celeho Internetu tak. jak jej zname dnes. Poznamka: V prostredi Internetu jsou pouzivany i dalsi protokoly a neustale jsou vyvijeny nove, ktere vyhovuji nove vznikajicim pozadavkum. Jednim z novych protokolu je Internet Protocol version 6 (IPv6), jehoz diem je vylepsit stavajici sadu internetovych protokolu, rozSiflt omezeny pocet adres protokolu IP a take zlep§it zabezpeceni internetove komunikace pomoci Sifrovani. Vice informaci о protokolu IPv6 najdete na http.7en.wikipedia.org/wiki/IPv6. Protokol IP Protokol IP je nespojovany protokol, ktery ma na starosti adresaci dat z jednoho bodu do druhe- ho a take Iragmentaci objemnych dat na mens! pakety, ktere Ize prostfednictvim Internetu pfenaset (datagramy). Hlavnimi komponentami datagramu IP jsou: Identifikator IP (IP(D) - mel by zajistit jedinecnou identifikaci datagramu IP. Protokol - popisuje protokol vyssi vrstvy obsazeny v datagramu. TTL (Time-To-Live - zivotnost) - ucelem tohoto parametru je zabranit nekonecnemu nebo zby- tecne dlouhemu putovani paketu siti. Datagram je zahozen, jakmile jeho hodnota ITL dosahne 0. Pomoci parametru TTL pracuje take program traceroute identifikujici kazdy smerovac, ktery m paket pfi sve ceste siti projde. Dosahuje toho tim, ze zasila datagramy s postupn£ se zvysujicim 1 I L a zaznamenava, kdyz dana hodnota TTL vyprsi.
36 Kapitola 1: Uvod do analyzy site Zdrojova ad res a IP - adresa IP pocitaCe, na nemz byl datagram vytvofen. Cilova adresa IP - adresa IP ciloveho pocitace, kteremu by mel byt datagram dorucen. Falsovam zdrojove adresy Technicky je mozne zfalsovat (tzv. spoofovat - pozn. pfekl.) kteroukoliv cast datagramu IP. AvSak nejcasteji falsovanou soucasti datagramu IP je zdrojova adresa IP. Krome toho ne vsech- ny protokoly pracuii korektne s falsovanymi adresami. Napfiklad spojovane protokoly jako TCP musi pred samotnym pfenosem dat provest akci zvanou handshake (cesky bychom fekli „podani rukou" - pozn. pfekl.), cimz vyrazng snizuji udinnost utoku vyuzivajicich talsovam adres (na druhou stranu tim davaji prostor jinym typum utoku. jako jsou napriklad riizne utoky realizovane zahlcenim ciloveho pocitace - pozn. pfekl.). Spoofing se take pouziva pfi utocich typu odepfeni sluzby (DoS). Pokud sit’ A zasle siti В datagram se zfalsovanou adresou IP site C, tato uvidi pfichozi data pochazejici ze site B, aniz by poznala, ze data ve skutecnosti pochazeji ze site A. Dobrym zvykem sitbvych administratoru je zajistit, aby jejich sit’ vytvarela pouze pakety se spravnou adresou 1P (tedy s adresou IP jejich site). Internet Control Message Protocol Internet Control Message Protocol (ICMP) se stara о osetfovani chyb, ke kterym na sitich IP docha- zi. Mezi hlavni typy zprav ICMP patfi tyto: ♦ Echo Request I Reply (Zadost о odezvu I odpoved’ na odezvu) - pouzivaji ji zejmena progra- my typu ping pro vypocet casu, ktery uplyne mezi odeslanim dat a jejich pfijetim na cilovem zafizeni. ♦ Destination Unreachable: Network Unreachable (Nedostupny cil: nedostupna sif) a Port Unre- achable (Nedostupny port) - tato zprava je odeslana na zdrojovou adresu IP uvedenou v hlavic- ce paketu, pokud jsou sit’ nebo port vyhodnoceny jako nedostupne. Toto miize nastat v pripade problemu se siti nebo diky firewallu, ktery odmitl zaslanou zadost. Existuje vice podtypu zprav Nedostupny cil, ktere mohou pomoci pri identifikaci problemu. ♦ Time Exceeded (Casovy limit vyprsel) - nastane tehdy, kdyz hodnota TTL paketu dosahne 0. TCP Pakety TCP jsou zalozeny na spojovanem pfenosu a jsou nejcastejsfm typem paketu pouzivanym pro prenos dat. Spojova povaha paketu TCP je tim, co je cini nevhodnymi pro falsovani zdrojove adresy IP. Protokol TCP pouziva mnoho aplikaci, at’ uz jsou to webove prohlizece (HTTP), e-mai- lovi klienti (SM ГР), FTP, SSH nebo protokol Windows Remote Desktop Protocol (RDP - protokol pro vzdalene pripojeni).
jak funguje analyza site? 37 Handshake TCP Handshake je dulezitym pojmem souvisejicim s protokolem TCP. Dva pocitace, ktere se pfipravu- ji ke vzajemnd komunikaci, musi nejprve s touto komunikaci vzajemne souhlasit. Hostitel A odesle hostiteli В paket s nastavenym pfiznakem SYN. Pokud si hostitel В pfeje komunikaci zahajit, odeSle jako odpoved’ rovnez paket s nastavenym phznakem SYN, a navic nastavi i priznak ACK. Hostitel A odesle rovnez paket s nastavenym pfiznakem ACK a zahaji pfenos samotnych dat. Kdyz si jeden z hostitelii pfeje komunikaci ukoncit, odeSle paket s nastavenym pfiznakem FIN a probehne podob- ny proces jako v pfipade navazovani spojeni (handshake). Posloupnost TCP Dalsim dulezitym pojmem je urceni posloupnosti, kdy kazdy paket TCP je zaslan v urcitem pevne danem pofadf. Diky stanoveni pofadi, v jakem jsou pakety TCP posilany, je mozne provadet i kom- plexni ulohy jako opetovny pfenos, potvrzovani a fazeni. Protokol UDP Pakety protokolu UDP jsou nespojovanym ekvivalentem paketu protokolu TCP a slouzi mnoha ucelum, pfidemz tim nejdulezitejsim je bezesporu sluzba DNS. Sluzba DNS zjist’uje, ktera adresa IP koresponduje s urcitym nazvem hostitele (napf. nazev www.example.com nem na rozdil od adresy IP v datagramu IP smerovatelny. Avsak sluzba DNS umi zjistit, jaka adresa IP к tomuto nazvu patfi, a umozni tak smerovani dat ke konkretnimu hostiteli). Dalsimi priklady vyuziti protokolu UDP jsou protokoly VoIP, pocitadove hry zamefene na vice Игаёй, streamovani multimediaintho obsahu atd. Hardware: Kabelove odbocky, rozbocovace a prepinace Kabelove odbocky jsou hardwarova zafizeni pouzivana pro napojeni na sit’ovy kabel. Testovaci pfi- stupove body pouzivaji tyto odbocky pro pristup к libovolnym kabelum mezi pocitaci, rozbodova- ci, pfepinaci, smerovaci a dalsimi zafizenimi. Odbocky existuji jak pro mod half-duplex, tak i full- -duplex pro 10, 100 a 1000Mbps ethernetova spojeni. Jsou take dostupne v riiznych velikostech pro ruzne porty. Nasledujici seznam obsahuje oblibene typy odbocek: ♦ Sada Net Optics obsahuje nekolik typu odbocek pro medenou kabelaz a vlakna, da se zakoupit na www.netoptics.cotn. ♦ Rodina produktu Finisar Tap nabizi vice typu odbocek pro medenou kabelaz i vlakna. Dalsi intor- mace viz www.finisar.tap/nt/taps.php. ♦ Rozbocovac (hub) je zafizeni, ktere umoziiuje soucasne pfipojeni hostitelii ke sdilenemu mediu (napf. Ethernetu). Kdyz pocitad odesle prostfednictvim sit’ove karty informaci, ta putuje do roz- bocovafe, ktery ji rozeSle vsem pfipojenym po^itacum. Pocitad, jemuz je tato informace игёепа, identifikuje svou adresu MAC v hlavicce paketu a tento nasledne pfijme. Casti site, ktere rozbo- covac rozesila vsechny pfijate informace, rikame kolizni domena (nebo take domena vsesmero- veho vysilani). Rozbodovac ma pouze jednu kolizni domenu, kterou je schopen sdilet pro datovy provoz. Obrazek 1.4 ukazuje sit’ovou topologii s koliznimi domenami jednotlivych rozbocovacu. Pfilis velke kolize vsak usnadnuji neopravnene zachytavani dat a davaji vzniknout problemum s vykonetn, jako napf. konzumaci sifky pasma nebo nadinernemu provozu na rozbocovadi.
Kapitola 1: Uvod do analyzy si'te Vnejsi sif Rozbocovac Smerovac Rozbocovac Kolizni domena Kolizni domena Obrdzek 1.4 Kolizni domeny rozbodovace Obrazek 1.5 Kolizni domeny prepinace
Jal< funguje analyza site? 39 Take pfepinac (switch) slouzi ke vzajemnemu propojeni pocitacu sdilejicich jedno medium, ale na rozdil od rozbocovace nerozesila slepe informace vsem pfipojenym pocitacum. Misto toho pro- zkouma hlavicku paketu a zjisti adresu MAC ciloveho pocitace, pficemz udrzuje v pameti seznam adres MAC a odpovidajicich portu, ke kterym jsou tyto pocitace pfipojeny. Pfepinac tedy zasle paket pouze na port, ke kteremu je pfipojen hostitel s konkretni adresou MAC. Takto je kolizni domena redukovana na jeden port (viz obr. 1.5). Tento typ koliznich domen take poskytuje omezenou kapa- citu sifky pasma pro kazde pfipojeni, misto sdilene kapacity, jak je tomu u rozbocovace. Vzhledem к rapidnimu poklesu cen techto zarizeni v poslednich letech neexistuje zadny duvod, proc nevyme- nit stavajici rozbocovace za pfepinace, resp. upfednostnit pfepinace pred rozbocovaci pfi nakupu komponent pro stavbu nove site. Navic nektere pfepinace disponuji pokrocilejsimi technologiemi, ktere chrani sit’ pred odposlechem dat jeste kvalitneji. Jak muzete videt z nakresu, rozbocovace odposlech zjednodusuji, zatimco pfepinace jej cini slozitej- sim. Nicmene i pfepinac muze byt obelsten, jak se dozvime v kapitole „Vitezime nad pfepinaci". Zrcadleni portu Pokud pracujete se siti, ktera vyuziva pfepinace, a chcete provadet legitimni analyzu site, mate stes- ti. Vetsina pfepinacu a smerovacu disponuje schopnosti tzv. zrcadleni portu (port mirroring, nekdy take znam jako port spanning - vetveni). Obrazek 1.6 Zrcadleni portu Pouziti zrcadleni portu nijak nebrani beznemu provozu pfepinace, pfesto byste vsak meli vzdy nej- prve prostudovat dokumentaci konkretniho pfepinace, ktery prave konfigurujete, a take pravidelne kontrolovat toto zafizeni. Svou cinnosti sice neovlivnite samotny chod pfepinace, ale rozhodne zvy-
40 Kapitola 1: Uvod do analyzy site site mnozstvi dat protekajicfch cilovym portem. Z tohoto duvodu je dulezite se ujistit, ze vas sprav- ne nakonfigurovany sit’ovy analyzator je skutecne pfitomen na cilovem portu. Rovnez se podivejte do dokumentace ke konkretnimu pfepinaci, abyste zjistili spravnou syntaxi pfikazu pro zrcadleni portu (viz obr. 1.6). Pfepinac je konfigurovan tak, aby zrcadlil vsechen provoz pro port c. 1 na port c. 5, takto muze sit’ovy analyzator sledovat vsechna data, ktera odchazeji z pocitace A nebo jsou na nej zasilana. Nekdy administratofi zrcadli pfimo tzv. uplink port (port, ktery slouzi к propojeni s dal- simi zafizenimi jako pfepinace, smerovace atd.), takze jsou schopni sledovat veskery provoz, ktery prepinacem prochazi. Poznamka: Span je zkratkou pro Switched Port Analyzer neboli Analyzator Prepinanych Portu. Cisco pouziva termin span (vetveni) pro popis zpusobu zrcadleni portu. V Cisco-terminologii je tedy vetveni portu totez co zrcadleni portu. Vi'tezi'me nad prepmaci Jak uz bylo feceno, pouzivani pfepinacu cim odposlech dat slozitejsim. Teoreticky byste meli videt pouze ta data, ktera byla pfepinacem adresovana vasemu pocitaci. Avsak existuji zpusoby, jak tech- nologii pfepinace uspesne obejit. Nasledujici vycet popisuje nekolik zpusobu, kterymi muze byt pfe- pinac zmanipulovan. ♦ Zahlceni pfepinace (Switch flooding) - nektere pfepinace mohou byt donuceny pracovat podob- nyin zpusobem jako rozbocovace, ktere rozesilaji data vsem pocitacum v domene vsesmeroveho vysilani. Toho je mozne dosahnout zahlcenim tabulky adres v pfepinaci velkym mnozstvim pod- vrzenych adres MAC. Tento jev je znam jako otevfeni zarizeni pn selhani (device failing open), tzn. ze pokud je zafizeni uvedeno do chyboveho stavu, dojde к odstranem bezpecnostnich opat- reni a zafizeni je tak pfistupno operacim, ktere by za normalnich okolnosti oznacilo za nepovo- lene a odmitlo by je. Naopak zafizeni schopna branit se do jiste miry ruznym utokum provadej: tzv. zamknuti pfi selhani (fail close), cimz se zachovaji pfesne naopak - napfiklad ukonci veske- rou komunikaci, a tedy i komunikaci s pfipadnym utocmkem. Programovy balik Dsniff obsahuje aplikaci s nazvem macof, ktera je vytvofena prave к zahlceni tabulky adres MAC na pfepinaci. Muzete ji stahnout na adrese www.mokey.org/-du^song/dsniff. ♦ Presmerovani ARP (ARP Redirects) - kdyz pocitac potfebuje zjistit adresu MAC jineho pocitace, odesle tzv. zadost ARP (Address Resolution Protocol Request). Kazdy pocitac si lokalne udrzuje tabulku ARP, ktera obsahuje adresy MAC pocitacu, s nimiz probihala nebo probiha sitbva komu- nikace. Zpravy ARP jsou zasilany formou vsesmeroveho vysilani, a tak vsechny pocitace mohou videt jak pozadavky, tak i odpovedi na ne. Existuje nekolik zpusobu, jak pfelstit pfepinac tak, aby posilal data jinam, nez by mel. Jednim z nich je postup, kdy utocnik zasila pfepinaci modifi- kovane zpravy ARP a takto pfepinac v podstate donuti uvefit, ze utocnik je nekym jinym. Utoc- nik take muze pfepinaci podsunout informaci, ze neni obycejnym pocitacem, ale smerovacem. V pfipade uspesneho utoku zacnou vsechny pocitace na siti zasilat sva data urcena pro vnejsi sit’ na pocitac utocnika v domneni, ze je to smerovac. Anebo muze utocnik jednoduse zmast pouze jediny pocitac na siti tak, aby tento uvefil, ze utocnikuv pocitac je smerovacem. ♦ Piesmerovani ICMP (ICMP Redirects) - nekdy jsou pocitace pfipojeny к jednomu fyzickemu segmentu site a jednomu pfepinaci, ale zaroven jsou pfipojeny к ruznym logickym segmentum. Jinymi slovy: jsou na riiznych podsitich protokolu IP. Kdyz pocitac A potfebuje komunikovat s pocitacem B, posle svou zadost smerovaci. Smerovac vi, ze tyto dva pocitace jsou na jednom
jak funguje analyza site?_______________________________________________________ 41 segmentu, a posle tedy pocitaci A zpravu ICMP Redirect, ktera tomuto pocitaci sdeli, ze je pfi- pojen ke stejnemu segmentu jako pocitac B, a muze tedy komunikovat pfimo, bez pomoci sme- rovace. Toho miize zneuzit utocnik na pocitaci X tim, ze zasle pocitaci A podvrzenou zpravu ICMP Redirect, ktera tento pocitac uvede v omyl, a zpravy urcene pocitaci В budou doruceny pocitaci utocnika. Ф Oznameni smerovace protokolem ICMP (ICMP Router Advertisment) - tato oznameni sdd- luji pocitacum, ktery smerovac maji pouzit. Utocnik muze take posilat tato oznameni nesouci informaci, ze jeho pocitac je smerovacem. Pocitace na siti mohou tuto /pravu pfijmout, a budou tedy sva data opdt odesilat prostfednictvim utocnikova pocitace. Ф Falsovani adres MAC (MAC Spool ing) - utocnik muze pfedstirat, ze pouziva jiny pocitac nez ve skutecnosti, tim, ze zfalsuje svou adresu MAC. Zasflani paketu obsahujicich zdrojovou adre- su MAC оЬёН oklame pfepinac, ktery podrzenou informaci ulozi do sve tabulky a zacne zasilat data utocnikovi, pfestoze byla puvodne adresovana obeti tohoto utoku. Ale co sama obet’, ktera je stale pfipojena к pfepinaci a rovnez mu zasila pakety, kterymi znovu pfepisuje zaznamy v tabui- ce pfepinace na puvodni, tedy spravne hodnoty? О tu se muze postarat pro zmenu utok typu odepfeni sluzby (DoS), ktery ji od pfepinace odpoji a zabrani ji v komunikaci, takze jedina data povazovana pfepinacem za platna budou ta, ktera podvrhl utocnik. Utocnik ale take muze roze- silat pfijata (ukradena) data formou vsesmeroveho vysilani zpet do site, cimz zajisti, ze se tato data dostanou i к obeti (a ta nemusi о napadeni ani vedet). Nektere pfepinace disponuji obra- nou proti temto utokum a umoznuji staticke pfifazeni adresy MAC na urcity port. To muze byt v prostfedi rozsahle site ponekud obtizne, ale zabrani to utokum realizovanym pomoci lalsovani adres MAC. Dalsim typem obrany pfepinace je takove nastaveni, kdy pfepinac zamkne urcity port pro prvni adresu MAC, kterou na tomto portu zaznamena, a takto poskytne vynikajici rov- novahu mezi naroky na spravu site a jejim zabezpecenim, zejmena v prostfedi, kde je omezen fyzicky pfistup к portum. Adresu MAC muzete na operacnich systemech Linux nebo Solaris zfalsovat pomoci pfikazu ifcon- fig nasledujicim zpusobem: Ifconfig ethO down Ifconfig ethO hw ether 00:02:B3:00:00:AA Ifconfig ethO up Potom zaregistrujte svou adresu MAC na vsech hostitelich zaslanim zpravy vsesmeroveho vysilani vteto podobe: ping -с 1 -b 192.168.1.255. Nyni muzete zachytavat veskera data urcena pocitaci, kteremu patfi adresa MAC 00:02:B3:00:00: AA. ♦ Rekonfigurace vetveni portii na pfepinaci - jak uz bylo feceno dfive, porty pfepinace mohou byt nastaveny tak, aby vid£ly data urcena pro jine porty. Toho muze utocnik vyuzit tak, ze se pfi- poji к pfepinaci pomoci programu Telnet nebo vyuzije neiakeho vychoziho pfipojeni typu back- door. Utocnik take muze zneuzit sluzby SNMP, pokud neni dobfe zabezpecena. ♦ Rabelove odbocky - uz vime, ze kabelove odbocky se pouzivaji к fyzickemu „napichnuti se na sifovy kabel. Pokud se pomoci odbocky napojime na kabel vedouci z portu pro uplink, budeme schopni pozorovat veskera data odchazejici z pfepinace.
42 Kapitola 1: Uvod do analyzy site Je mnoho zpusobu, jak pfelstit bezpecnostni mechanismy pfepinacu, ktere Jsou omezeny samotny- mi principy toho, Jak prepinace pracuji. Avsak ne vsechny vyse uvedene metody Je mozno pouzit na kazdem pfepinaci, zejmena ne na novych, technologicky vyspelejsich pfepinacich. Caste dotazy о programu Dsniff a odpovedi na ne, ktere se take tykaji zachytavani dat v pfepmanych sitich, muzete najit na adrese www.monkey.org/~dugsong/dsniff/faq.html. Odhalovani snifferu Jak bylo uz feceno, sniffery neboli programy umoznujici zachytavani dat v siti byvaji soucasti pasiv- nich utoku. Nepotfebuji komunikovat s zadnym zafizenim na siti a nevysflaji zadna data, a tak jejich odhaleni muze byt velmi obtizne. I presto Je vsak mozne. Nejsnadnejsfm zpusobem Je kontrola sifo- vych rozhrani, resp. jejich pfipadneho nastaveni promiskuitniho rezimu. Na operacnich systemech zalozenych na systemu UNIX tuto ulohu splni pfikaz ifconfig -a, ktery vypise seznam vsech sifo- vych karet nainstalovanych v systemu. Ve vystupu pfikazu hledejte pfiznak PROMISC, podobne jako v nasledujicim prikladu: [root@localhost root]# ifconfig -a ethO Link encap:Ethernet HWaddr 00:02:B3:06:5F:5A inet addr:192.168.1.2 Beast:192.168.1.255 Mask:255.255.255.0 UP BROADCAST RUNNING PROMISC MULTICAST MTU:1500 Metric:l RX packets:204 errors:0 dropped:0 overruns:0 frame:0 TX packets:92 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:100 RX bytes:46113 (45.0 Kb) TX bytes:5836 (5.6 Kb) Interrupt:11 Base address:0x1800 Memory:e8120000-e8120038 Pokud pfikaz ifconfig sniffer neodhali, a vy presto vite, ze je na danem pocitaci nainstalovan, muzete zkusit pfikaz ip link, ktery slouzi pro konfiguraci rozhrani protokolu TCP/IP a smerovani. Nasledu- Jici vypis pfedstavuje vystup pfikazu IP: [root@localhost root]# ip link 1: lo: <L00PBACK,UP> mtu 16436 qdisc noqueue 1ink/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 2: ethO: BROADCAST,MULTICAST.PROMISC.UP> mtu 1500 qdisc pfifo_fast qlen 100 link/ether 00:02:b3:06:5f:5a brd ff:ff:ff:ff:ff:ff Odhaleni promiskuitniho modu sifove karty v operacnim systemu Windows je obtizne, protoze / de neexistuji standardni pfikazy, ktere by vypsaly potfebny typ informaci. Nastesti existuje volne dostup- ny nastroj s nazvem PromiscDetect (autorem je Arne Vidstrom), ktery zjist’uje pritomnost sifovych adapteru nastavenych na promiskuitni rezim v operacnich systemech Windows NT, 2000 a XR Muzete Jej stahnout na adrese www.ntsecurity.nu/toolhox/promisedetect. Nasledujici pfiklad zobrazuje vystup programu PromiscDetect: adapter D-Link Je v normalnim provozmm modu, zatimco na karte Intel Je spusten program Wireshark: C:\>promi scdetect PromiscDetect 1.0 - (c) 2002, Arne Vidstrom (arne.vidstrom@ntsecurity.nu) - http://ntsecurity.nu/toolbox/promiscdetect/ Adapter name: - D-Link DWL-650 11Mbps WLAN Card Active filter for the adapter: - Directed (capture packets directed to this computer)
Odhalovanl snifferu 43 Multicast (capture multicast packets for groups the computer is a member of) Broadcast (capture broadcast packets) Adapter name: - Intel(R) PRO/lOO SP Mobile Combo Adapter Active filter for the adapter: - Directed (capture packets directed to this computer) - Multicast (capture multicast packets for groups the computer is a member of) - Broadcast (capture broadcast packets) - promiscuous (capture all packets on the network) WARNING: Since this adapter is in promiscuous mode there could be a sniffer running on this computer! Nektere sniffery maskuji stopy sve cinnosti tim, ze skryji pfiznaky PROMISC. Navic pokud je snif- fer nainstalovan do kompromitovaneho systemu pomoci sady rootkit, je pravdepodobne, ze utoc- nik take nahradil piikazy jako ipconfig. Nasledujici seznam popisuje nekolik dalsich metod, ktere je mozno pouzit к odhaleni snifferu v siti: ♦ Sledovani dotazu zpetneho vyhledavani v DNS - nektere sniffery pouzivaji dotazy systemu DNS к pfekladu adres IP na hostitelske nazvy. К tomuto typu aktivity muze dojit pfi oskenovani site pomoci programu ping nebo pokusem о zaslani zpravy ping do cele site. ♦ Zaslani paketu TCP/IP se zfalso vanou adresou MAC na vsechny adresy IP v danem etherneto- vem segmentu - za normalnich okolnosti sit’ove karty zahazuji pakety s chybnou adresou MAC, avsak pokud pracuji v promiskuitnim rezimu, mohou nektere systemy odpovedet zpravou RST (reset). Tento zpusob muze take fungovat v pfepinane siti, nebof pfepinace rozesilaji formou vse- smeroveho vysilani pakety, pro ktere neznaji adresy MAC. Mnoho novejsich snifferu ma vestaven obranny mechanismus proti teto technice, protoze pracuji s adresami MAC jinym zpusobem. ♦ Peclive sledovani portu rozbocovace - v idealnim pfipade mate к dispozici diagram vast site a ves- kera kabelaz i porty jsou oznaceny stitky. Pokud dojde к necemu neobvyklemu, jako napf. к tomu, ze je do site pfipojeno nove zafizeni nebo je aktivovan nepouzivany port rozbocovace, budete о teto udalosti vedet. Avsak ve skutecnosti je rozvodna sknnka nebo kabelaz casto nocni murou spravce site. Pokud sledujete cinnost vasich rozbocovacu protokolem SNMP pomoci systemu pro spravu site, meli byste byt schopni zaznamenat vsechna nezvykla pfipojeni nebo odpojeni. ♦ Mejte na pameti, jak je pouzivan protokol ARP к vytvoreni vazby mezi adresou IP a adresou MAC - za normalnich okolnosti je zprava ARP rozeslana formou vsesmeroveho vysilani vsem zafizenim na siti. Avsak muzete zaslat take zpravu ARP nikoliv formou vsesmeroveho vysilani, ale pouze jednomu konkretnimu systemu. Nasledne rozeslete zpravu ping formou vsesmerove- ho vysilani. Zadne zafizeni na siti by v tomto okamziku nemelo mit v tabuice ARP informaci о vasem pocitaci, krome zafizeni, na kterem je spusten sniffer a ktere zachytavalo veskery provoz (vcetne dat, ktera nebyla odeslana formou vsesmeroveho vysilani). Diky tomu dostanete odpo- ved na svou zpravu ARP prave od systemu s bezicim snifferem. ♦ Pouzijte Honeypot - Honeypot je pocitacovy system, ktery obsahuje falesna data a sluzby pro sle- dovani aktivit pfipadnych utocniku. V praxi se honeypot pouziva napfiklad tak, ze spravce site na pocitaci vytvofi uzivatelske ucty fiktivnich uzivatelu a administratora, pficemz z takto nastrazene- ho systemu navaze ruzna spojeni s dalsimi pocitaci (zejmena prostfednictvim protokolu, ktere posilaji uzivatelske jmeno a heslo jako prosty text - Telnet, FTP atd.). Pokud nekde v siti b£zi sniffer, je pravdepodobne, ze utocnik uzivatelska jmena a hesla к podvrzenemu systemu zachyti
44 Kapitola 1: Uvod do analyzy site a pokusi se na nej pi-th Iasit. Na honeypotu muze byt pfipraven system pro odhaleni pruniku, ktery pfi detekci urcitych charakteristickych znaku neopravneneho vniknuti spusti poplach. ♦ Peclive slcdujte pocitace na vasi siti - to znamena take misto na disku, vyuziti procesoru a dobu odezvy. Sniffery stupnuji vyuziti diskoveho prostoru tim, ze prubezne ukladaji zachycena data. Krome toho mohou take vyvijet nezanedbatelnou zatez na procesor. Tim, jak jsou prostfedky pocitace postupne vycerpavany snifferem, postizeny system reaguje pomaleji nez jindy. ♦ Existuje nekolik nastroju, ktere je mozne pouzit pro odhaleni snifferu. Mnoho z nich je zasta - ralych, nejsou dale aktivne vyvijeny a nekde je obtizne je vubec najit. Novejsi sniffery byly pfe- pracovany tak, aby se dokazaly vyhnout odhaleni. Nasledujici vycet obsahuje nektere z nastroju pro odhaleni snifferu: ♦ ProiniScan Ver 0.27 - tato bezplatna aplikace byla vyvinuta spolecnosti Security Friday a je udrzovana a aktualizovana. Pouziva ovladac WinPcap a je mozno ji spustit pod operacnimi sys- temy Windows 2000 a Windows XP. PromiScan prohledava mistni sif a pomoci paketfi ARP se zamefuje na sifove karty bezici v promiskuitnim rezimu. Tento program muzete stahnout na www.securitylriday.com/products/promiscan.html. ♦ Sentinel - podobne jako PromiScan je i Sentinel bezplatnou aplikaci vyhledavajici sifove karty, ktere bezi v promiskuitnim rezimu. Bezi na ruznych verzich operacnich systemu Berkley Soft- ware Distribution (BSD) a Linux. Ke svemu behu potrebuje knihovny libcap a libnet a muzete ji stahnout na www.packetfactory.net/projects/sentinel. ♦ Check Promiscuous Mode (CPM) - volne dostupny program vytvofeny pro operacni systemy zalozene na Unixu. Vytvofil jej Computer Emergency Response Team I Coordination Center (CERT/CC) v reakei na zvyseny vyskyt zachytavani sifoveho provozu. Vice informaci о teto pro- blematice vcetne samotneho programu najdete na www.cert.org/advisories/CA-1994-01.html. ♦ Ifstatus - opet volne dostupny program pro Unixove operacni systemy. Slouzi к detekci sifovych karet v promiskuitnim rezimu na operacnich systemech Solaris a Advanced IBM Unix (AIX). Muzete jej stahnout na ftp://ftp.cerias.purdue.edu/pub/tools/unix/sysutils/ifstatus. ♦ Promisc.c - tento volne dostupny program detekuje sifove karty v promiskuitnim rezimu na operacnich systemech Linux a nekterych verzich systemu SunOS. Muzete jej stahnout na www. phreak.org/archives/exploits/unix/network-sniflers/promisc.c. Zachytavani dat v bezdratovych sitich Bezdratove site jsou dnes vsudypf itomne - od letiste, pres kavarny, knihovny, az po vaseho souseda. Bezpecnost techto siti je bezesporu palcivou otazkou. Minulost ukazala, ze v protokolech zabezpe- ceni existuji slabiny a utocnici jiz nepotfebuji pristup do budovy spolecnosti, aby se dokazali nabou- rat do jeji vnitfni site. Avsak bezdratova sif je pofad siti, a tak, az na nekolik vyjimek, je na ni mozno aplikovat sitbvy model Ethernetu a OSI. Ha rd wa rove pozadavky Zatimco vetsina ethernetovveh sifovych karet je schopna zachytavat data v promiskuitnim rezimu, velke mnozstvi cipovych sad pro bezdratove karty neumi pouzivat monitorovaci rezim, ktery je bez- dratovym ekvivalentem promiskuitniho rezimu. DaUim komplikujicim faktorem je skutecnost, ze vyrobci bezdratovych adapteru bezne nezvefejnuji informace о tom, jake cipove sady pfi vyrobe
Zachytavani dat v bezdratovych sitich 45 svych karet pouzivaji. Navic mohou byt pouzity rozdilne cipove sady i v ramci jedne modelove fady. Asi nejlep&m reSenim je nejprve urcit programy, ktere chcete pfi sve praci pouzivat, a potom zjistit, ktere cipove sady nejlepe spolupracuji s ovladaci pro dane aplikace. Zde jsou nektera obecna doporuceni pro kompatibilitu cipovych sad: 4 Atheros - tato cipova sada je kompatibilni s velkym mnozstvim programu a je bezne implemen- tovana v sirokem spektru sitbvych adapteru. > Prism2 - tato cipova sada patri к nejlepsim, co se tyce schopnosti pracovat s ovladaci pro pfi- stupove body. Nejen ze je podporovana mnozstvim programu, ale take umi pracovat v rezimu pfistupoveho bodu. Ф Orinoco - jedna z prvmch cipovych sad podporujicich monitorovaci rezim. Je podporovana vet- sinou programu, ale neumi zachytavat data protokolu 802.11g. 4 Broadcom - tato cipova sada nema nativm podporu v operacnim systemu Linux. Pfi pouziti dodavanych ovladacu sada Broadcom nepracuje napfiklad s aplikacemi iako Kismet. Muzete zku- sit pouzit ovladace dodavane pro Windows v Linuxu, a to prostfednictvim tzv. NDIS wrapperu, jako je komercni DriverLoader, ktery muzete stahnout na www.linuxant.com/driverloader. Prog ram o ve vybavem Spravna kombinace hardwaru, programoveho vybaveni a ovladacu vam umozni efektivne zachytavat data pfenasena bezdratovymi sitemi. Uzitecne mohou byt zejmena nasledujici nastroje: Netstumbler - Netstumbler je spise sifovy skener nez zachytavac paketii a jeho iunkce spociva hlavne ve zjistbvani siti dostupnych v danem miste. Netstumbler je aktivni sitovy skener, ktery vysila sondazni signaly, jez mohou byt zachyceny ostatnimi pocitaci. Muzete jej stahnout na www.netstumbler.org. Kismet - Kismet je sifen formou volne dostupnych zdrojovych kodu. Je to sifovy skener a vyhle- davac slabych mist v siti, ktery si umi pamatovat asociace mezi klienty a jejich vazby к dane siti. Na rozdil od ostatnich skeneru je Kismet zcela pasivni sifovy skener. Muzete jej stahnout na www.kismetwireless. net. ♦ Wireshark - Wireshark ma mnoho nastroju pro spravu bezdratoveho sitoveho provozu. Avsak nedokaze vyhledavat data podle Identifikatoru Sady Sluzeb (SSID - Service Set Indetifier) a ani nezobrazuje sihi signalu. ♦ CommView for WiFi - CommView for WiFi je komercni produkt, ktery v sobe spojuje monitor bezdratoveho sitoveho provozu a sifovy skener, ktere mohou exportovat data do formatu vhod- neho pro program tcpdump. Tomuto formatu vyborne rozumi aplikace Wireshark. CommView for WiFi muzete stahnout z www.tamos.com/products/commwifi/.
46 Kapitola 1: Uvod do analyzy site Professional Hacker‘s Linux Assault Kit (Phlack) - v teto distribuci je zahrnuto mnoho bezpecnostnich nastroju vcetne programu pro auditovani a skenovani bezdratovych siti. Dalsi informace najdete na www.phlak.org. Knoppix Security' fools Distribution (Knoppix-STD) - viceucelova sada nastroju v podo- be bootovatelneho obrazu operacniho systemu Linux. Vice informaci na www.s-t-d.org. Rozbor protokolu Pote co jsme se seznamili s mnoha kritickymi castmi protokolu na prvni az ctvrte vrstve sit’oveho modelu OSI, meli bychom venovat pozornost take protokolum, na ktere muzete narazit pfi praci s programem Wireshark. Obecne se da fici, ze cim vetsi sit’, na ktere zachytavate data, tim vice sitb- vych protokolO (a odchylek od nich) uvidite. DNS Protokol DNS se pouziva к pfekladu hostitelskych nazvu na adresy protokolu IP a naopak. Vetsina dat protokolu DNS je pfenasena systemem klient/server pres port UDP 53. Na system DNS miizeme pohlizet jako na system dopfedneho (forward) a zpetneho (reverse) vyhledavani. Dopfedne vyhleda- vani zajistuje preklad hostitelskych nazvu na adresy protokolu IP, zatimco zpetne pfeklada adresy IP na hostitelske nazvy. Na urovni protokolu vypadaji dopredna i zpetna vyhledavani temef identicky. Aby klient sluzby DNS (pro upfesneni: setkavame se take s terminem resolver - pozn. pfekl.) ziskal adresu IP z daneho hostitelskeho nazvu, zasila zadost о adresni zaznam (tzv. zaznam typu ,,A“) ser- veru sluzby DNS. V nasledujicim pfikladu zasilame zadost serveru DNS, ktery ie autoritativnim pro zonu www.example.com. Ve formatu programu tcpdump uvidime nasledujici data: IP 192.168.0.1.33141 > 192.0.34.43.53: 42827+ A? www.example.com. IP 192.0.34.43.53 > 192.168.0.1.33141: 42827*- 1/2/2 A 192.0.34.166 Klient DNS na adrese 192.168.0.1 zaslal prostfednictvim portu 53 protokolu UDP dotaz autori- tativnimu serveru DNS se zadosti о hostitelsky zaznam www.example.com. Server na adrese IP 192.0.34.43 odpovedel rovnez prostfednictvim portu 53 a poskytl odpoved’s informaci, ze adresa IP daneho nazvu je 192.0.34.166. Program Wireshark Ize take pouzit pro ziskani vice informaci о teto transakci prostfednictvim pro- tokolu DNS. Wireshark nam о dotazu a odpovedi poskytne nasledujici informace: Domain Name System (query) Transaction ID: 42827 Flags: 0x0100 (Standard query) 0....................= Response: Message is a query .000 0...............= Opcode: Standard query (0) .......0.............= Truncated: Message is not truncated ..........1 .........= Recursion desired: Do query recursively ......................0.....................=.Z: reserved (0) .......................0 .... = Non-authenticated data OK Questions: 1 Answer RRs: 0 Authority RRs: 0
Rozbor protokolu Additional RRs: 0 Queries www.example.com: type A, class IN Name: www.example.com Type: A (Host address) Class: IN (0x0001) Domain Name System (response) Transaction ID: 42827 Flags: 0x8180 (Standard query response, No error) ....................= Response: Message is a response 000 0..............= Opcode: Standard query (0) .....0..............= Authoritative ......0.............= Truncated: Message is not truncated .......1 ...........= Recursion desired: Do query recursively ........ 1..........= Recursion available ...........0........= Z: reserved (0) ............0.......= Answer authenticated .............. 0000 = Reply code: No error (0) Questions: 1 Answer RRs: 1 Authority RRs: 13 Additional RRs: 2 Queries www.example.com: type A, class IN Name: www.example.com Type: A (Host address) Class: IN (0x0001) Answers www.example.com: type A, class IN, addr 192.0.34.166 Authoritative nameservers com: type NS. class IN, ns C.GTLD-SERVERS.NET com: type NS, class IN. ns B.GTLD-SERVERS.NET Additional records A.GTLD-SERVERS.NET: type A, class IN, addr 192.5.6.30 Poznamka: V pripade, ze vehkost dat pfesahne 512 bajtu, pouziva system DNS pro pfenos proto- kol TCP misto UDP. Protokol DNS vyuzfva protokolu TCP take pro pfenos celych zon mezi servery. V kazdem pripade je vsak pro pfenos pouziva n port 53. NTP Protokol NTP je dalsnn z fady tech, ktere se na pozadi staraji о plynuly chod systemu. Tento kon- kretni protokol ma na starosti synchronized casu na vsech pocitacich a dalsich zarizem'ch v siti. Architektura protokolu muze byt bud’typu klient/server, nebo tzv. peering, kdy si jsou vsichni klienti r°vni. V obou pfipadech bude sitbvy provoz vypadat podobne. Protokol NTP pouziva pro komuni- kaci port 123 protokolu UDP. V nasledujicim prikladu zasila klientsky system (192.168.0.1) pozadavek serveru NTP (192.168.0.2) na casove razitko:
48 Kapitola 1: Uvod do analyzy site IP 192.168.0.l.ntp > 192.168.0.2.ntp: NTPv4, Client, length 48 IP 192.168.0.2.ntp > 192.168.0.1.ntp: NTPv4, Server, length 48 Network Time Protocol Flags: 0xe3 11........= Leap Indicator: alarm condition (clock not synchronized) ..10 0... = Version number: NTP Version 4 (4) .....011 = Mode: client (3) Peer Clock Stratum: unspecified or unavailable (0) Peer Polling Interval: 6 (64 sec) Peer Clock Precision: 0.000008 sec Root Delay: 0.0000 sec Clock Dispersion: 0.0039 sec Reference Clock ID: Unindentified reference source INIT' Reference Clock Update Time: NULL Originate Time Stamp: Mar 29, 2006 06:09:01.6976 UTC Receive Time Stamp: Mar 29, 2006 06:09:01.7563 UTC Transmit Time Stamp: Mar 29, 2006 06:10:07.7525 UTC Network Time Protocol Flags: 0x24 00........= Leap Indicator: no warning (0) ..10 0... = Version number: NTP Version 4 (4) .....100 = Mode: server (4) Peer Clock Stratum: secondary reference (5) Peer Polling Interval: 6 (64 sec) Peer Clock Precision: 0.000008 sec Root Delay: 0.0000 sec Clock Dispersion: 0.0122 sec Reference Clock ID: 127.127.1.0 Reference Clock Update Time: Mar 29, 2006 06:09:48.4681 UTC Originate Time Stamp: Mar 29, 2006 06:10:07.7525 UTC Receive Time Stamp: Mar 29, 2006 06:10:07.6674 UTC Transmit Time Stamp: Mar 29, 2006 06:10:07.6675 UTC HTTP Protokol HTTP je nejrozsirenejsim protokolem webu, tak jak jej zname. Pro prenos dat pouziva vyhradne protokolu TCP a ve vychozim nastaveni komunikuje prostrednictvim portu 80. Kazdy objekt (af uz je to webova stranka, obrazek, zvuk) je prenesen pomoci samostatne relace protokolu HTTP. Aby relace protokolu HTTP mohla byt /ahajena, klient musi nejprve navazat bezne spojeni na pro- tokolu TCP na portu 80 a odeslat paket s nastavenym pfiznakem SYN. Ze serveru je paket vracen zpet klientovi, tentokrat vsak server nastavil navic i pfiznak ACK. Na zaver klient odesle dalsi paket s nastavenym pfiznakem ACK a pote posle konecne pozadavek na konkretni objekt HTTP. Pfiklad zadosti HTTP odeslane klientem: GET /index.html HTTP/1.1 Klient pozaduje stranku index.html prostrednictvim protokolu HTTP vl.l: Host: www.example.com
Rozbor protokolu 49 Nazev pocitace, ktery byl zadan v prohh'zeci, umoznuje serveru soucasne provozovani nekolika webo- vych sluzeb na jedne adrese IP: User-Agent: ELinks/0.11.0 (textmode; Linux; 80x25-2) Atribut User-Agent poskytuje webovemu serveru informaci о verzi prohlizece na klientskem pocita- ci. Nektere prohlizece umoznuji uzivatelum zmenu nazvu, tato informace tedy nemuze byt povazo- vana za smerodatnou. Accept-Fncoding: gzip Accept-Language: en Connection: Keep-Alive Tyto fadky oznamuji webovemu serveru, ze klient podporuje kompresi pozadovanych objektu, pfiji- ma stranky v anglictine a take fakt, ze webovy server nemusi ukoncit relaci po pfeneseni objektu. Webovy server zasle zpet klientovi nasledujici informaci: HTTP/1.1 200 OK Webovy server odpovida stavovym kodem protokolu H l ГР vl. 1 „200 OK“, ktery znamena, ze pozado- vany objekt byl uspesne a kompletne poskytnut prohh'zeci klienta. Dalsimi kody jsou napfiklad „403 Forbidden (pristup zakazan - webovy server nema opravneni к tomu, aby klientovi poskytl pozado- vany objekt) a „404“ (server nemohl nalezt objekt pozadovany klientem). Date: Thu, 30 Mar 2006 05:23:29 GMTLast-Modified: Wed, 29 Mar 2006 16:22:05 GMT Server: Apache/2.2.0 Vyse uvedene fadky umoznuji klientovi, aby efektivne ukladal informace v pameti cache. Rikaji rov- nez cas, о kterem se server domniva, ze je aktualni, a take cas a datum posledni zmeny obsahu. Server rovnez identifikuje softwarovy produkt, na kterem bezi (v tomto pfipade Apache), a verzi produktu (2.2.0). Avsak tyto informace mohou byt zmeneny administratorem weboveho serveru. Accept-Ranges: bytes Content-Length: 40Connection: close Content-Type: text/html ; charset=UTF-8<HTMLXB0DY>Hel 1 о, world!</B0DYX/HTML> Pokud dojde к tomu, ze je treba opakovane zahajit prenos dat, server sdeli klientovi, jakym zpuso- bem muze pozadovat casti souboru (v tomto pfipade je to v bajtech). Pote server klientovi fekne, aby spojeni ukoncil v okamziku, kdy jsou potfebna data pfenesena. Pote pocinaje fadkem „Content- -Type“ nasleduji samotna data protokolu HTTP. SMTP Protokol SMTP je nejpouzivanejsim protokolem pro zasilani e-mailovych zprav v prostfedi Inter- ne! u. SMTP pouziva pro pfenos dat vyhradne protokol ГСР a ve vetsine pfipadu komunikuje pro- stfednictvim portu 25. Cela e-mailova zprava (hlavicka i obsah) je odesilana v ramci jedine relace protokolu SMTP. Relaci SMTP je mozne jednoduse emulovat s vyuzitim programu Telnet pfipoje- neho na port 25 postovniho serveru. О spojem prostfednictvim protokolu SMTP muzeme uvazovat podobne jako о zaslani dopisu obycej- nou postou. Na vnejsi strane obalky je uvedena adresa odesilatele i pfijemce. Obe dve adresy mohou byt take opakovane uvedeny i uvnitf obalky, ale postovni dorucovatel se о tuto informaci samozfejme nezajima. Pfi relaci SMTP je nejdrive odeslana obalka dopisu a tu pote nasleduje samotny obsah.
50 Kapitola 1: Uvod do analyzy site Nasleduiici vypis je pfikladem konverzace protokolem SMTP. Zpravy klienta jsou uvedeny normal- nim pismem, odpovedi serveru pak kurzivou: 220 example.org ESMTP Mail Service HELO client.example.com 250 Ok Po navazani spojeni server signali/uje svou pfitomnost tzv. bannerem, ktery obsahuje informaci о verzi serverove postovni aplikace, ale muze byt take zmenen administratorem do libovolne podo- by s jedinym omezenim - aby na zacatku obsahoval nazev serveru. Klient posle serveru zpravu ,,HELO“ a oznami, pod jakym jmenem si pfeje vystupovat. Pfikaz HELO je take pouzivan klienty s rozsifenou podporou vlastnosti protokolu SMTP, jako napfiklad sifrovani. Server na tuto zpravu odpovida zpravou ,,Ok“. MAIL FROM:<person@example.com> 250 Ok Klient zasila pfikaz MAIL FROM, kde uvadi adresu odesilatele zpravy, ktera muze, ale nemusi kore- spondovat s adresou v samotne zprave. Vas program pro praci s elektronickou postou zpravidla zob- razuje pouze adresu uvedenou uvnitf zpravy, pficemz nezohlednuje adresu na obalce. RCPT TO:<anotherperson@example.org 250 Ok Klient odesle informaci о adrese, na kterou ma byt obalka dorucena, a server tuto informaci potvr- di. V tomto bode komunikace se muzete setkat se zpravou „Relaying Denied“(Pfenos zakazan). Ta sig- nalizuje, ze server danou zpravu nepfijme. V dobe, kdy e-mailove sluzby a protokoly vznikaly, byly e-mailove servery nakonfigurovany tak, aby si mezi sebou rozesilaly zpravy die potfeby. Avsak v roce 1990 tento system vzajemne du very pfestal fungovat, kdyz se fenomen nevyzadane posty stal jedmm z hlavnich problemu Internetu. Vetsina postovnich serveru tak dnes pfijima pouze zpravy adresova- ne jim samotnym, pficemz pfenos zprav se stal ukolem urcenym zejmena pro server poskytovatelu internetoveho piipojeni. DATA 354 End data with <CRXLF>.<CRXLF> From: "person" <person@example.com> To: example@example.com Example E-Mail subject. Example e-mail contents. 250 0k: queued as C8243B4039QUIT221 Quit 221 Bye Klient odesila pfikaz DA ГА, klerym serveru pfedava obsah zpravy urcene к pfenosu. Hlavicka e- -mailu je v tomto bode opakovana a prave zde dojde к samotne e-mailove komunikaci. Server pfeda klientovi instrukce, aby zaslal odsazeni na dalsi fadek, tecku a dalsi odsazeni, az bude chtit zpravu zakoncit. Klient zdvofile zada pfikaz QUIT a server se s nim rozlouci.
Ochrana proti snifferum 51 Ochrana proti snifferum Nyni uz vite, co je to sniffovani dat a jak funguje. Take jste se naucili nektere triky, ktere jsou pouzi- vany utocniky, a nektere ne zcela neprustfelne techniky pro odhalovani snifferu na siti. Ani jedno z uvedencho vsak nevrha pfilis optimisticke svetlo na vas ukol zabezpecit sit’ a data na ni. Ale urcite existuji metody, ktere vam ochranu proti zachytavani dat poskytnou. Drive jsme hovofili о pouzivani pfepinacu misto rozbocovacu a take jsme se naucili nekolika zpuso- bum, jak pfepinace obelstit. Pouzivani pfepinacu je tou nejlepsi vycho/1 strategii, kterou muzeme na nasi siti implementovat, z hlediska zvyseni jeji bezpecnosti a vykonu. Zatimco pfepinace pfedstavuii pfekazku proti nahodilemu sniffovani, nejlepsi metodou proti cilenemu odposlechu dat na soukro- me i vefejne siti je sifrovani. Utocnik muze sice stale zachytavat data, ale jejich obsah pro nej bude necitelny. Jen opravneny adresat by mel byt schopen data desifrovat a pfecist. Avsak nektere sifro- vaci metody ponechavaji informace obsazene v hlavickach paketu v podobe prosteho textu a takto umoznuji utocnikum cist zdrojovou a cilovou adresu paketu, diky cemuz utocnik muze lepe zma- povat danou sit’. Na druhou stranu - data obsazena v paketech jsou sifrovana, jejich bezpecnost tedy v sazce v zasade neni. Nektere dalsi sifrovaci metody maskuji i hlavicky paketu. Site VPN (Virtual Private Network) pouzivaji sifrovani i ovefovani к zabezpeceni komunikace pres nezabezpecenou sit’. Protokoly VPN poskytuji ochranu datum pfenasenym po Internetu i po vasi vnitfni siti. Avsak pokud se utocnikovi podafi kompromitovat jedno z koncovych zarizeni tune- lu VPN, veskera ochrana bude zcela bez efektu. Ruzne typy rodin siti VPN nejsou zamenitelne, ale mohou byt ruzne kombinovany a fetezeny. Nasledujici seznain popisuje nektere z metod pouziva- nych v soucasnosti na sitich VPN к ochrane dat proti sniffovani: ♦ SSH - protokol SSH poskytuje na aplikacni vrstve technologii VPN, ktera prostfednictvim pro- tokolu TCP poskytuje zabezpecene transakce klient/server. Protokol SSH je casto vyuzivan pfi vzdalenem pfihlasovani administratora к serveru a casto nahrazuje protokoly jako Telnet, FTP tzv. pfikazy ,,r“ z operacnich systemu zalozenych na systemu BSD. Avsak libovolny protokol TCP muze byt tzv. tunelovan skrz spojeni protokolem SSH a muze byt pouzit pro mnoho ruznych aplikaci. Protokol SSH poskytuje ovefovani s vyuzitim sifrovaciho algoritmu Rivest, Shamir, and Adleman (RSA) nebo asymetrickymi рагу klicu algoritmu Digital Signature Algorithm (DSA). Protokol SSH take poskytuje mnoho moznosti pro sifrovani pri ochrane dat a hesel, ktera jsou zasilana po siti Hlavicky nejsou pfi relaci protokolu SSH sifrovany, takze utocnik muze videt zdrojovou a cilovou adresu. ♦ Secure Socket Layer (SSL) I Transport Security Layer (TLS) - protokol SSL byl piivodne vyvinut spolecnosti Netscape Communications za ucelem poskytovani zabezpeceni a soukromi relacim v siti Internet. Byl pozdeji nahrazen protokolem 1LS, jak je uvedeno v RFC 2246. Protokol 1LS poskytuje zabezpeceni na transport™ vrstve a pfekonava nektere bezpecnostni slabiny protokolu SSL. Pouziva se pro zapouzdfeni sitoveho provozu aplikaci vyssich vrstev jako HTTP, Lightweight Directory Access Protocol (LDAP), FTP, SMTP, POP3 a IMAP. Poskytuje ovefovani a integritu dat prostfednictvim digitalnich certifikatu a digitalniho podpisu, pricemz zdrojove a cilove hla- vicky protokolu IP nejsou pfi relaci SSL sifrovany. ♦ IP Security (IPSec) - IPSec je protokolem pracujicim na sifove vrstve, ktery zaclenuje bezpec- nost pfimo do paketu protokolu IPv4 a IPv6 rozsifemm jejich hlavicky. To nam dava moznost sifrovat vsechny protokoly vyssich vrstev. IPSec se pouziva ve smerovacich, firewallech a klient- skych systemech pro vytvofeni duveryhodnych sitbvych pf ipojeni mezi temito zarizenimi. Posky-
52 Kapitola 1: Uvod do analyzy site tuje nekolik zpusobu ovefovam a sifrovam, pricemz podporuje mnoho sifer vefejnych klicu a ta- ke sifrovaci algoritmy na bazi symetrickych kJicu. IPSec muze pracovat v tzv. tunnel modu, kdy poskytuje novou hlavi^ku protokolu IP, ktera krome pfenasenych dat maskuje i puvodni zdrojo- vou a cilovou adresu. Protoze protokol IPSec pouziva jine protokoly nez TCP a UDP, muze byt pfenos dat pres zaiizeni typu NAT nebo tirewall pomerne obtizne. ♦ OpenVPN - OpenVPN je tzv. tunelovaci SSL VPN protokol, ktery muze sifrovat jak samolna data, tak i hlavi^ky paketu. Pouziva jediny port TCP i UDP, a tak muze byt vhodnou volbou pro jednoduchou implementaci v prostfedi NAT a firewallu. Navic muze fungovat i jako virtualni sit’ovy most na druhe vrstve. Jednorazova hesla (OTP - One Time Password) jsou dalsi moznou ochranou proti zachytavani dat. Techniky jako S/key, One-time Passwords is Everything (OPIE) a dalsi pfedstavuji kvalitni ochranu proti zachytavani hesel a jejich neopravnenemu pouzivani. Pracuji na principu metody vyzva - odpo- ved’, pricemz pfi kazdem pokusu о ovefeni je pouzito jine heslo. I kdyz pfipadny utocnik pomoci snifferu heslo zachyti, bude mu к nicemu, protoze kazde takoveto heslo smi byt pouzito pouze jed- nou. OTP technologic nam tedy pomahaji chranit heslo i pote, co jej nekde zadame. Ochrana e-mailu je horkym tematem pro firmy i pro jednotlivce. Dve metody, ktere umoznuji chra- nit e-mailovou komunikaci *tzn. zabezpecit zpravy v okamziku, kdy jsou pfenaseny i uchovavany), jsou Pretty Good Privacy (PGP) a Secure Multipurpose Internet Mail Extensions (S/MIME). Obe tyto technologic take poskytuji moznost ovefeni autenticity a integrity dane zpravy pouzitim digi- talnich certifikatu a digital nich podpisu. Sitova analyza a firemni smernice Pfedtim nez slavnostne nainstalujete a spustile sniffer na vasi firemni siti, pfedtete si peclive firemni smernice a zasady pouzivani poch'tacu a site. Spravne napsane a srozumitelne „Zasady povoleneho pouzivani1 vam totiz pravdepodobne pouzivani sit’oveho analyzatoru zakazou. Jedinou vyjimkou z pravidla byva situace, kdy je sifova analyza uvedena jako jedna z naplni ve vasem popisu prace. Navic skutednost, ze pracujete jako bezpecnostni konzultant, vam jeste automaticky neumoznuje pouzivat sniffer na firemni siti. Avsak pokud jste administratorem teto site a jste opravnen pouzivat sniffer v souladu se zakonem, muzete jej pouzit к posileni a ovefeni zasad zabezpeceni ve vasi siti. Pokud se vase llremni zasady о pouzivani snifferu nevyiadfuji jednoznacne, urcite si pro pouziva- ni snifferu nebo jinych bezpecnostmch nastroju vyzadejte pisemne povoleni od kompetentni osoby ci osob pracujicich v danem oddeleni firmy. Pokud firemni smernice zakazuji instalaci a pouziva- ni programu pro sdileni souboru na Internetu (jako napf. KaZaA, Morpheus, BitTorrent nebo sluz- by pro zasilani zprav v realnem dase jako IRC nebo IM), muzete pouzit sniffer pro odhaleni techto aplikaci na vasi siti. Pokud poskytujete bezpednostni sluzby klientum, ujistete se, ze pouzivani snifferu je zahrnuto ve smlouve о poskytovam sluzeb nebo reahzaci projektu. Ve smlouve bud’te velmi konkretni о tom, jak, kde a kdy bude sniffer pouzit. Krome toho take mejte na pameti vyhotoveni a podepsani smlouvy о mlcenlivosti (Non-Disclosure Agreement), ktera vas oprosti od odpovednosti za informace, ktere jste se pouzitim snifteru dozved£li. Take byste si meli ovSfit, zda pouzivani snifferu neni v dane zemi v rozporu se zakonem о provadeni odposlechu. V mnoha zemich byly zakony о odposlechu ustanoveny v dobe, kdy byl za nejsofisti-
kovanejsi sifove zarizeni povazovan modem, takze objasneni techto zakonu a zakonnych omezeni muze byt pomerne komplexnim problemem a muze se lisit v zavislosti na situaci a zucastnenych stranach. Dulezite: Mnoho poskytovatelu internetoveho pfipojen zakazuje pouzivani snifferu ve svych podminkach pouzivani sluzby. Pokud poskytovatel zjisti, ze pouzi'vate sniffer na jeho siti, muze dojit к ukondeni poskytovani sluzby. NejlepSim mi stem pro expenmenty se snifferem je tak vaSe domaci sit, kter«i je odpojena od Internetu. Vse, co potfebujete, jsou dva pocitace propojenё krizenym sifovym kabelem nebo aplikace umoznujici beh virtualnich stroju. Jeden z nich muzete pouzit jako klientsky system a na druhy muzete namstalovat serverove sluzby (jako Telnet, FTP, web a e-mail). Poznamka: Z ruznych webovych stranek si miizete stahnout soubory s daty zachycenymi pfi pouzi- ti snifferu.Tyto soubory pak muzete lokalne otevrit a prozkoumat ve va§em analyzatoru si'toveho provozu, abyste ziskali urcitou zakladni zrucnost pfi analyze a interpretaci datovych paketu. Projekt HoneyNet na www.project.honeynet.org nabizi kazdy mdsic zajimave vyzvy a data urce- n i к analyze. Wikipedie programu Wireshark take obsahuje mnoho detailne popsanych souboru se zachyce- nymi daty, ktere muzete najit na www.wiki.wireshark.org/SampleCaptures. Shrnuti Analyza sit’oveho provozu je khcem к udrzbe a optimalizaci site a odhaleni problemu se zabezpece- nim. Proaktivni management vam muze pomoci identifikovat problemy jeste pfedtim, nez se z nich stanou problemy zavazne, ktere by mohly vest к vypadkum site nebo uniku duvernych dat. Krome identifikace utoku a podezfelych aktivit muzete pouzit sitbvy analyzator take к odhaleni slabych mist vasi site a posileni psanych firemnich smernic pro pouzivani pocitacove site. Za/namy vypro- dukovane cinnosti snifferu na siti mohou byt take pouzity v soucinnosti se systemy IDS, firewally a zaznamy ze smerovacu pfi odhalovani trestne cinnosti, dukaznim rizeni i vysetrovani bezpecnost- nich incidentu. Sitbvy analyzator umoznuie zachytavat data cestujici v siti (po jednotlivych pake- tech), dekodovat informace a zobrazit je ve srozumitelnem formatu. Sitbve analyzatory jsou snad- no dostupne, casto i zdarma, a jejich pouziti neni slo/ite - pfedstavuji klicovou cast sady nastroju kazdeho administratora. Tato kapitola vam umoznila nahlednout do zakladu siti, Ethernetu, modelu OSI a hardwarovych zarizeni pouzivanych v pocitacovych sitich. Avsak rec byla skutecne jen о zakladech. Kvalitni pfi- rucka о sitich a sifovych protokolech urcite patfi do knihovny kazdeho administratora. Zcela jiste ji vyuzijete, kdyz se objevi nejaky neobvykly problem nebo neznamy typ dat na vasi siti. Administrator by mel vedet, jak odhalit pouziti snifferu utocnikem. Mel by byt schopen drzet krok s novymi metodami, ktere litocnici pouzivaji к obchazeni bezpecnostmch mechanismu urcenych к ochrane proti zachytavani dat. A jako vzdy - administrator by se mel starat take о aktualizaci sys- teinu, instalaci zaplat a bezpecnostnich oprav, aby snizil riziko instalace sad rootkit a programu backdoor.
54 Kapitola 1: Uvod do analyzy site Tato kapitola take pfedstavila ruzne metody pouzivane к ochrane dat proti odposlechu programy pro zachytavani dat. Je ddlezite neustale sledovat nejnovejsi bezpecnostni technologic, sifrovaci algoritmy a ovefovaci procesy. Utocnici neustale hledaji nove zpusoby, jak porazit soucasne metody zabezpe- ceni, a tak vyvijeji stale mocnejsi nastroje pro prolamovani bezpecnostnich mechanismu (napf. pro- lomeni sifrovaciho algoritmu Data Encryption Standard fDES] a jeho nastupcu Triple Data Encryp- tion Standard [3DES] a Advanced Encryption Standard [AES]). Pfedevsim vsak pamatuje na zakladni pravidlo analyzy site - pouzivejte ji jen tehdy, pokud mate potfebne povoleni a zakon stoji na vasi strane. Zvedavy a pfehnane iniciativni administrator muze byt snadno povazovan omylem za utocnika. Vzdy si bud’te jisti, ze mate к dane akci povoleni, nebo experimentujte na sve vlastni siti. Rychla feseni Co je analyza site a sniffing? ♦ Analyza site je proces zachytavani a dekodovani dat. ♦ Sitbve analyzatory mohou byt hardwarove nebo sottwarove a jsou dostupne jak zdarma, tak ve forme komercnich produktu. ♦ Rozhrani sitoveho analyzatoru ma vetsinou 3 panely: Souhrn, Detaily a Data. ♦ Sifovy analyzator obsahuje pet soucasti: hardwarove vybaveni, ovladac pro zachytavani dat, vyrov- navaci pamef (buffer), analyzu v realnem case a dekoder. Kdo pouziva analyzu site? ♦ Administrator! pouzivaji analyzu site к feseni problemu, analyzu vykonu site a odhaleni napa- deni systemu. ♦ Pokud je sniffer pouzivan litocnikem, hovofime о pasivni forme utoku. ♦ Utocnici pouzivaji sniffer pro zachytavani uzivatelskych jmen a hesel, sber duvernych informa- ci a mapovani site. ♦ Sniffer je nejcastejsi soucasti sady rootkit. ♦ Utocnici pouzivaji sniffery pro ovladani programu backdoor. Jakfunguje analyza site? ♦ Ethernet je sdilenym pfenosovym mediem, ktere pouziva tzv. adresy MAC (hardwarove adre- sy). ♦ Model OSI ma sedm vrstev a pfedstavuje standard pro sitovou komunikaci. ♦ Rozbocovace rozesilaji informace vsem hostitelum na da^m sifovem segmentu, cimz vytvafeji sdilenou kolizni domenu. ♦ Pfepinace maji jednu kolizni domenu pro kazdy port a udrzuji si v pameti tabulku adres MAC, ktere jsou asociovany s kazdym portem. ♦ Zrcadleni portu je technika, ktera umoznuje zachytavani dat na pfepinacich.
Rychla reseni 55 Ф Pfepinace cini zachytavani dat obtiznejSim. Avsak bezpecnostni opatfeni v pfepinanem prostfe- di mohou byt pfekonana mnoha zpusoby, cimz umoznuji zachytavani datoveho provozu urce- neho pro jine pocitace. < Zachytavani datoveho provozu v kabelove siti muze probihat prostfednictvim mnoha typu sit’o- vych karet. Zachytavani dat v bezdratove siti vyzaduje vetsi pozornost venovanou hardwarovemu vybaveni a detailum, jako je cipova sada a jeji ovladace. Odhalovani snifferu < Nekdy muze byt sniffer na mistnim systemu odhalen pomoci nastaveneho pfiznaku PRO- MISC. ♦ Existuje nekolik nastroju, ktere mohou byt pouzity к nalezeni snifferu ruznymi metodami. ♦ Sledovani pocitacu, portu rozbocovacu a pfepinacu spolu s dotazy zpetneho vyhledavani v DNS pomaha pfi odhalovani snifferu. Ф Honeypoty jsou vybornym nastrojem, jak odhalit utocniky pokouSejici se pouzit zachycene heslo. ♦ NovejSi sniffery jsou natolik sofistikovane, ze se dokazou vyhnout odhaleni tradicnimi zpu- soby. Rozbor protokolu ♦ Pakety sluzby DNS mohou pouzit protokol ГСР nebo UDP v zavislosti na typu dotazu a mnozstvi prenasenych dat. ♦ Pfenos dat protokolu NTP obecne probiha na portu 123 klientskeho pocitace i serveru. ♦ Nekolik virtualnich serveru H ГТР muze naslouchat na jednom portu. Hlavicka „Host:" udava, ke kteremu z techto serveru se konkretni klient chce pfipojit. ♦ Relace protokolu SMTP muze byt snadno emulovana pomoci jednoduche sit’ove aplikace, jakou je program Telnet. Pokud je vas server otevfeny libovolnym pozadavkum pfichazejicim ze site Internet, bude pravdepodobne zneuzivan pro zasilani nevyzadane posty. Ochrana proti snifferum ♦ Pfepinace poskytuji jen dilci ochranu proti snifferum. ♦ Nejlepsi metodou ochrany proti zachytavani dat pomoci snifferu je Sifrovani dat. ♦ Protokoly SSH, SSL/TLS a IPSec poskytuji nekolik variant virtualnich privatnich siti (VPN), ktere pracuji na ruznych vrstvach sit’oveho modelu OSI. ♦ Protokol IPSec v tzv. tunnel modu muze chranit take zdrojovou a cilovou adresu obsazene v hla- vicce paketu protokolu IP tim, ze к paketu pfipoji novou hlavicku. Sitova analyza a firemni smernice ♦ Vzdy se nejprve ujistete, ze mate patnene povoleni к pouziti snifferu na siti, ktera neni vase. ♦ Pfectete si zasady pouzivani site vaSeho poskytovatele internetoveho pfipojeni pfedtim, nez pouzijete sniffer.
56 Kapitola 1: Uvod do analyzy site Ф Pokud si vas najme klient pro otestovam zabezpeceni sve site, zajistete si nejprve smlouvu о mlcen- livosti, nebof je dost dobfe mozne, ze pfi sve cinnosti narazite na duverna firemni data. ♦ Jednorazova hesla jsou nejlepsi ochranou proti pouziti hesel zachycenych utocnikem v siti. ♦ E-mailova komunikace by mela byt chranena sifrovanim pfi pfenosu zprav i jejich pozdejsim ulozeni. Caste dotazy Nasledujici casto kladene otazky byly zodpovezeny autorem teto publikace a jsou zde umisteny proto, abyste mohli zhodnotit sve porozumeni danemu tematu, a take vam pomohou pfi uplatneni teore- tickych znalosti v podminkach realneho prostfedi. Otazka: Co mohu udelat pro ochranu sve site pfed sniffery? Odpoved: Spravna konfigurace zabezpeceni site vychazi z jejiho navrhu, nikoliv z jedine akce nebo nastaveni. Nekdo by mohl fici, ze uplne zabezpeceni site neni v podstate mozne. Neustale i pnlezitost- ne sifrovani, bezpecnostnf zasady i procedury, to vse ma daleko do dokonale ochrany cele site pfed sniffery a dalsimi hrozbami. Avsak pouzivani nekolika vrstev zabezpeceni, take zname jako hloubkovd ochrana, je standardnim doporucenym postupem pro vytvofeni architektury zabezpecene site. Otazka: Co je to prilezitostne sifrovani, о kterem mluvite? Odpoved: Pfflezitostne sifrovani je technikou, kdy dva komunikujici systemy pouzivaji sifrovani i tehdy, pokud si nemohou byt navzajem jisty svou identitou. Vice informaci о pfilezitostnem sifro- vani muzete najit na www.en.wikipedia.org/wiko/Opportunistic_encryption. Naopak stale sifrovani vychazi z teorie, ze kazda komunikace, ktera muze byt sifrovana, by sitrovana byt mela. Otazka: jak si mohu byt jisty, ze pouzivam sniffer v souladu se zakonem? Odpoved': Nejlepsim zpusobem je pozadat о odbornou pravni radu. Obecne se da fici, ze zachytavani dat je legalm, pokud vsechny strany licastnici se sifove komunikace s pouzitim snifferu souhlasi a jsou srozumeny se ztratou dfrverne povahy dane komunikace. Tento souhlas muze byt zapsan ve forme pracovni smlouvy ci smlou vy о dilo, kde je uvedena klauzule vyvracejici jakykoli v predpoklad duver- nosti informaci. Doporucuje se /iskat od kompetentni osoby pisemne povoleni к pouziti snifferu. Otazka: Pfedstavuje sniffer bezici v me siti naruseni bezpecnosti? Odpoved: Je to mozne. Zkontrolujte zdroj sniffovacich aktivit a ovefte, zda jsou tyto aktivity pro- vadeny v souladu se zakonetn a zda jsou povoleny pro danou sif. Hackefi a dalsi zivly pouzivaji pfi sve praci sniffery jako pomocne nastroje. Nejlepsim fesenim je vytvofit takovy design site, ktery je odolny vuci zachytavani dat a dalsim hrozbam. Otazka: Mohu pouzivat sniffer jako nahradu systemu IDS? Odpoved: I kdyz sniffer muze pracovat podobne jako IDS, neni к tomuto ucelu stvofen. Systemy IDS maji ruzne mechanismy pro kontrolu krajnich mezi a vestavene alarmy a reportovam, ktere jsou za hranici moznosti vetsiny snifferu. Otazka: Jak mam pouzivat sniffer, abych videl provoz na siti VPN? Odpov£d: Provoz na siti VPN je sifrovan a vetsina programu pro zachytavani sitbveho provozu nema schopnost cist zakodovane pakety, a to dokonce ani tehdy, kdyz mate deSifrovaci klid. Neilepsi misto pro sledovam provozu na siti VPN je mimo tuto sif, resp. samotny tunel.
KAPITOLA 2 Pfedstavujeme Wireshark: analyzator sitbvych protokolu Resent v teto kapitole: ♦ Co je Wireshark? ♦ Podpurne programy ♦ Pouzivani Wiresharku ve vasi sitbve architektufe ♦ Pouzivani Wiresharku pro feseni problemu se siti ♦ Pouzivani Wiresharku pro administraci systemu ♦ Pouzivani Wiresharku pro administraci zabezpeceni ♦ Zabezpeceni Wiresharku ♦ Optimalizace Wiresharku ♦ Pokrocile techniky zachytavani dat ♦ Ochrana site proti zachytavani dat ♦ Shrnuti ♦ Rychla feseni ♦ Caste dotazy
58 Kapitola 2: Predstavujeme Wireshark: analyzator sitovych protokolu Uvod Mozna jste si vybrali tuto knihu, protoze jste uz drive slyseli о aplikaci Wireshark (nebo jeho pfed- chudci, programu Ethereal) a jejim grafickem rozhrani nabitem funkcemi. Nebo jste о Wiresharku cetli na Internetu, zaslechli kolegy hovofici о tomto programu nebo byl zminen na nektere konfe- renci о pocitacove bezpecnosti. At’ uz byly vase pohnutky jakekoliv, pokud hledate srozumitelneho pruvodce, ktery vam pomuze odhalit potential Wiresharku, vybrali jste si spravne. Wireshark je tim nejlepsim dostupnym sitbvym analyzatorem sifenym jako open-source program. Obsahuje funkce srovnatelne s temi, ktere jsou soucasti komercnich sitovych analyzatoru, a diky vel- kemu a ruznorodemu kolektivu autoru je neustale vyvijen. Wireshark je stalou a uzitecnou soucasti vsech sitovych sad nastroju a neustale jsou do nej pfidava- ny nove funkce a opravovany pfipadne chyby. Od pocatku vyvoje Wiresharku (od dob, kdy se jeste jmenoval Ethereal) byl ucinen velky pokrok; program nyni pracuje srovnatelne a v nekterych ohle- dech i lepe nez komercni produkty pro zachytavani dat. V teto kapitole porozumite programu Wireshark, naucite se, jake jsou jeho funkce a jak je pouzit pro reseni problemii v architektufe vast site. Navic se dozvite i песо z minulosti tohoto programu, zejmena proc se stal tak oblibenym sitovym analyzatorem a proc stale zustava jasnou volbou administratoru starajicich se о zabezpeceni site. Take se podivame na nektere tipy, jak provozovat Wireshark bezpecne a jak jej optimalizovat pro plynuly chod pokrocilych technik. Co je Wireshark? Wireshark je sit’ovy analyzator. Umi cist pakety ze site, dekodovat je a zobrazit ve srozumitelnem for- matu. Jednou z dulezitych vlastnosti Wiresharku je skutecnost, ze je distribuovan jako open-source, a tedy zdarma. Nasleduje vypis nekterych dalsich vlastnosti tohoto programu: ♦ Wireshark je distribuovdn zdarma pod open-source licenci Gnu’s not UNIX (GNU) General Public License (GPL). ♦ Pracuje v promiskuitnim i nepromiskuitnim modu. ♦ Muze zachytavat data ze site nebo je cist ze souboru. ♦ Ma srozumitelne a konfigurovatelne rozhrani. ♦ Ma bohate moznosti nastaveni zobrazovacich filtru. ♦ Podporuje format souboru dat zachycenych programem tcpdump. Take ma nastroje pro rekon- strukci relace protokolu TCP a dokaze je zobrazit v kodu American Standard Code for Informa- tion Interchange (ASCII), Extended Binary Coded Decimal Interchange Code (EBCDIC), dale pak v hexadecimalnim tvaru nebo ve formatu pole jazyka C. ♦ Je dostupny v podobe pfedkompilovanych binarnich souboru i v podobe zdrojoveho kodu. ♦ Pracuje na vice nez 20 platformach, vcetne operacnich systemu zalozenych na Uniplexed Infor- mation and Computing System (UNIX), Windows a od jinych dodavatelu jsou dostupne i insta- lacni baliky pro operacni system Mac OS X. ♦ Podporuje vice nez 750 protokolu, a protoze je open-source, nove protokoly jsou komunitou pfi- davany pomerne casto.
Co je Wireshark? Dokaze cist data zachycena vice nez 25 odlisnymi programy. Ф Muze ukladat zachycena data v ruznych formatech (jako libpcap, Network Associated Sniffer, Microsoft Network Monitor (NetMon) a snoop z operacniho systemu Sun). Ф Umi zachytavat data z ruznych pfenosovych medii (jako Ethernet, Token-Ring, bezdratove pro- tokoly 802.11 a dalsich). Ф Obsahuje verzi programu ovladanou z pfikazove fadky, nazvanou tshark. > Obsahuje dalsi podpurne programy jako editcap, mergecap a text2pcap. Ф Vystup muze byt ulozen nebo vytisten jako prosty text nebo PostScript. Historie Wiresharku V roce 1977 Gerald Combs vyvinul program Ethereal, aby byl schopen rozsifit sve znalosti о poci- tacovych sitich. К tomu potfeboval vhodny nastroj pro feseni problemu v siti. Prvni verze I v0.2.0) byla vydana v cervenci roku 1998. V kratke dobe se sesel tym vyvojafu vcetne Gilberta Ramireze, Guye Harrise a Richarda Sharpa, ktery pracoval na vyvoji zaplat, rozsifeni stavajicich funkci a dalsich disektorech. Disektory jsou tim, co umoznuje Wiresharku dekodovat jednotlive protokoly a zobra- zovat je v citelne forme. Od pocatku vyvoje se na vyvoji disektoru a dalsich rozsifeni podilelo velke mnozstvi jednotlivcu. Seznam vsech autoru muzete najit na www.wireshark.org/about.htmlttauthors. Diky ohromne podpofe vyvoje a velke uzivatelske zakladne rostou schopnosti Wiresharku i jeho popularita kazdym dnem. Dalsi informace Licence GNU GPL Projekt GNU byl piivodne vyvinut v roce 1984, aby poskytl zdarma distribuovany operacni system zalozeny na systemu UNIX. Nekteff zastavaji nazor, ze Linux jako operacni system by mel byt nazyvan „GNU/L inux“, protoze pouziva nastroje GNU spolu s jadrem Linuxu. < Projekt GNU je provozovan a sponzorovan nadaci Free Software Foundation (FSF). Richard . Stallman vytvoril GNU GPL v roce 1989, aby bylo mozne sifit programy vyvinute v ramci projektu GNU. Jedna se о tzv. copyleft (tzn. Copyleft - vsechna prava vyhrazena), zdarma poskytovana licence к softwaru, ktera je zalozena na podobnych licencich, ktere byly pouzi- ty v dfivejsich verzich GNU programu Emacs (MACroS). < opylett pfedstavuje pouziti autorskeho prava takovym zpusobem, aby byla zajistena vefejna svoboda pro zmeny, vylepseni a redistribuci prace autorske a jejich derivaty. To znamena, ze drzitel autorskeho prava zarucuje nezpochybnitelnou licenci vsem pfijemcum kopie tohoto programu, pricemz jim zarucuje souhlas s redistribuci i prodejem pfipadne vice modifiko- vanych kopii, avsak jen pod tou podminkou, ze vsechny takto vznikle kopie budou sireny v souladu s platnosti licencnich ujednani GNU GPL a budou podporovat dalsi modifikaci dila. V pripade, ze dojde к porusem licenCnich ujednani, existuji zde pravni dusledky, se kte- rymi se osoba porusujici licenci bude muset vypofadat. Pokud nekdo siri kopie dila, je povi- nen sifit i zdrojovy kod a upravy, ktere provedl. Zneni licence GPL nesim byt modifikovano. Muzete ji kopirovat a sifit, ale je zakazano menit jeji obsah. Muzete pouzit zneni licence GPL a upravit je podle vasich potfeb, ale potom uz
60 Kapitola 2: Predstavujeme Wireshark: analyzator sitbvych protokolu se tato licence nesmi nazyvat GPL Dalsi licence vytvorene v ramci projektu GNU zahrnuji take GNU Lesser GPL a licenci GNU Free Documentation License. Ve svete neustale probihaji spory о licenci GPL a о tom, zda softwarovy produkt, ktery neni siren pod licenci GPL, muze pouzivat knihovny spadajici pod licenci GPL. Ackoliv pro- gramy odvozene od programu vyvinutych pod licenci GPL musi dodrzovat pravidla GPL, neni jasne, zda spustitelne soubory linkovane s knihovnami GPL mohou byt povazovany za odvozene programy. Nadace Free Software Foundation tvrdi, ze takoveto spustitelne soubo- ry jsou derivaty del spadajicich pod licenci GPL, ale cast vyvojafske komunity s tim nesou- hlasi. V dobe vydani teto knihy jeste nebylo vydano zadne soudni rozhodnuti, ktere by tento problem vyfesilo. Kompatibilita Jak uz bylo uvedeno, Wireshark umi cist a zpracovavat soubory s daty zachycenymi jinymi progra- my, jako sniffery, smerovaci a sit’ovymi nastrqji. Protoze Wireshark vyuziva format dat popularni knihovny Promiscuous Capture Library (libpcap), je schopen spoluprace s dalsimi aplikacemi, ktere rovnez pracuji s daty knihovny libpcap. Wireshark umi cist take data mnoha ruznych jinych forma- tu. Je schopen automaticky rozeznat typ cteneho souboru a muze take rozbalit data komprimovana programem GNU Zip (gzip). Nasledujici seznam obsahuje vycet souboru, jejichz data je Wireshark schopen pfe&'st: ♦ Tcpdump ♦ Sun snoop a atmsnoop ♦ Microsoft NetMon ♦ Network Associates Sniffer (komprimovana i nekomprimovana data) a Sniffer Pro ♦ Shomiti/Finisar Surveyor ♦ Novell LANalyzer ♦ Cinco Networks NetXRay ♦ AG Group/WildPackets EtherPeek/TokenPeek/AiroPeek ♦ RADCOM’s wide area network (WAN)/local area network (LAN) analyzer ♦ Visual Networks Visual Uplime ♦ Lucent/Ascent router debug output ♦ Vystup smerovace Toshiba’s Integrated Services Digital Network (ISDN) ♦ Zaznamy systemu pro detekci pruniku Cisco Secure ♦ Iptrace systemu AIX ♦ HP-UX nettl ♦ Vystup i4btrace projektu ISDN4BSD ♦ Zaznamy ve formatu pppdump programu Point-To-Point Protocol Daemon (PPPD) ♦ Nastroj TCPIPtrace systemu VMS ♦ Nastroj DBS Etherwatch Virtual Memory System (VMS) ♦ CoSine L2 debug ♦ Vystup Accel lent s 5 Views LAN agenta
Co je Wi reshark? 61 Ф Format dat /achycenych programem Endace Measurement System’s Electronice Remote Fill (ERF) Ф Zaznamy z Linux Bluez Bluetooth stack “hcidump -w“ 4 Catapult DCT2000 Ф Network Instruments Observer verze 9 > Zaznamy EyeSDN Universal Serial Bus (USB) SO Pod poro vane protokoly Kdyz sit’ovy analyzator cte data ze site, potfebuje vedet, jak tato data interpretovat a zobrazit ve srozu- mitelnem formatu. Teto interpretaci fikame dekodovdniprotokolu. Celkova kvalita sit’oveho analyza- toru je casto dana poctem protokolu, ktere sniffer dokaze pfecist a zobrazit, takze vetsina komercnich snifferu dokaze pracovat az se stovkami ruznych protokolu. Wireshark je v teto oblasti pfi sve podpofe 750 protokolu velkou konkurenci. Krome toho jsou dal§i protokoly neustale pfidavany mnozstvim lidi, ktefi na projektu Wireshark spolupracuji. Dekodery protokolu, take zname jako disektory, mohou byt pfidavany pfimo do kodu aplikace nebo formou zasuvnych moduli! (tzv. plug-inu). Nasledujici seznam obsahuje vycet protokolu podporovanych v dobe psani teto knihy: 3COMXNS, 3GPP2 All, 802.11 MGT, 802.11 Radiotap, 802.3 Slow protocols, 9P, AAL1, AAL3/4, AARP, ACAP, ACN, ACSE, ACtrace, ADP, AFP, AFS (RX), AgentX, AH, AIM, AIM Administration, AIM Advertisements, AIM BOS, AIM Buddylist, AIM Chat, AIM ChatNav, AIM Directory, AIM E-mail, AIM Generic, AIM ICQ, AIM Invitation, AIM Location, AIM Messaging, AIM OFT, AIM Popup, AIM Signon, AIM SSI, AIM SST, AIM Stats, AIM Transla- te, AIM User Lookup, AJP13, ALC, ALCAP, AMR, ANS, ANSI BSMAP, ANSI DTAP, ANSI IS-637-A Teleservice, ANSI IS-637-A Transport, ANSI IS-683-A (OTA (Mobile)), ANSI IS- -801 (Location Services (PLD)), ANSI MAP, AODV, AOE, ARCNET, Armagetronad, ARP/ RARP, ARTNET, ASAP, ASF, ASN1, ASP, ATM, ATM LANE, ATP, ATSVC, Auto-RP, AVS WLANCAP, AX4000, BACapp, BACnet, Basic Format XID, BEEP, BER, BFD Control, BGP, BICC, BitTorrent, Boardwalk, BOFL, BOOTP/DHCP, BOOTPARAMS, BOSSVR, BROWSER, BSSAP, BSSGP, BUDB, BUTC, BVLC, CAMEL, CAST, CBAPDev, CCSDS, CCSRL, CDP, CDS .CLERK, cds_solicit, CDT, CFLOW. CGMP, CHDLC, CIGI, CIMD, CIP, CISCOWLL2, CLDAP, CLEARCASE, CLNP, CLTP, CMIP, CMP, CMS, CONV, COPS, COSEVENTCOMM, CoSine, COSNAMING, COTP, CPFI, CPHA, cprpc_server, CRMF, CSM_ENCAPS, CUPS, DAAP, DAP, Data, de, DCCR DCE.DFS, dce_update, DCERPC, DCOM, DCP, DDP, DDTP, DEC_DNA, DEC_STP, DFS, DHCPFO, DHCPv6, DIAMETER, dicom, DIS, DISP, DISTCC, DLSw, DLT User A, DLT User B, DLT User C, D1T User D, DNP 3.0, DNS, DNSSERVER, DOCSIS, DOCSIS BPKM-ATTR, DOCSIS BPKM-REQ, DOCSIS BPKM-RSP, DOCSIS DSA-ACK, DOCSIS DSAREQ, DOCSIS DSA-RSP, DOCSIS DSC-ACK, DOCSIS DSC- -REQ, DOCSIS DSC-RSP, DOCSIS DSD-REQ, DOCSIS DSD-RSP, DOCSIS INT-RNG-REQ, DOCSIS MAC MGMT, DOCSIS MAP, DOCSIS REGACK, DOCSIS REG-REQ, DOCSIS REG- RSP, DOCSIS RNG-REQ, DOCSIS RNG-RSP, DOCSIS TLVs, DOCSIS type29ucd, DOCSIS UCCREQ, DOCSIS UCC-RSP, DOCSIS UCD, DOCSIS VSIF, DOP, DRSUAPI, DSI, DSP, DSSETUP, DTP, DTSPROVIDER, DTSSTIME REQ, DUA, DVMRP, E.164, EAP. EAPOL, ECHO, EDONKEY, EDP, EFS, EIGRP, ENC, ENIP, ENRP, ENTTEC, EPM, EPMv4, ESIS, ESP, ESS, ETHERIC, ETHERIP, Ethernet, EVENTLOG, FC, FC ELS, FC FZS, FC-dNS, FC- FCS, FC-SB3, FC-SP, FC-SWILS, FC_CT, FCIP, FCP, FDDI, FIX, FLDB, FR, Frame, FRSAPI,
62 Kapitola 2: Predstavujeme Wireshark: analyzator si't’ovych protokolu FRSRPC, FTAM, FTBP, FTP, FTP-DATA, FTSERVER, FW-1, G.723, GIF image, giFT, GIOP, GMRP, GNM, GNUTELLA, GPRS NS, GPRS-LLC, GRE, Gryphon, GSM BSSMAP, GSM DTAP, GSM RP, GSM SMS, GSM SMS UD, GSM_MAP, GSM_SS, GSS-API, GTP, GVRP, H.223, H.225.0, H.235, H.245, H.261, H.263, H.263 data, Hl, h221nonstd, H248, h450, HCL- NFSD, HPEXT, HPSW, HSRP, HTTP, HyperSCSI, IAP, IAPP, IAX2, IB, ICAP, ICBAAccoCB, ICBAAccoCB2, iCBAAccoMgt, ICBAAccoMgt2, ICBAAccoServ, ICBAAccoServ2, ICBAAc- coServSRT, ICBAAccoSync, ICBABrowse, ICBABrowse2, ICBAGErr, ICBAGErrEvent, ICBAL- Dev, ICBALDev2, ICBAPDev, ICBAPDev2, ICBAPDevPC, ICBAPDevPCEvent, ICBAPersist, ICBAPersist2, ICBARTAuto, ICBARTAuto2, ICBAState, ICBAStateEvent, ICBASysProp, ICBA- Time, ICEP, ICI RPC, ICMP, ICMPv6, ICP, ICQ, IDispatch, IDP, IEEE 802.11, IEEE802a, iFCP, IGAP, IGMP, IGRP, ILMI, IMAP, INAP, INITSHUTDOWN, lOXIDResolver, IP, IP/ IEEE1394, IPComp, IPDC, IPFC, IPMI, IPP, IPv6, IPVS, IPX, IPX MSG, IPX RIP, IPX SAP, IPX WAN, IRC, IrCOMM, IRemUnknown, IRemUnknown2, IrLAP, IrLMP, ISAKMP, iSCSI, ISDN, ISIS, ISL, ISMP, iSNS, ISUP, isup_thin, ISystemActivator, itunes, IUA, luUP, labber, JFIF (JPEG) image, Juniper, JXTA, JXTA Framing, J XTA Message, JXTA UDP, JXTA Welcome, K12xx, KADM5, KINK, KLM, Kpasswd, KRB4, KRB5, KRB5RPC, L2TP, LANMAN, LAPB, LAPBETHER, LAPD. Laplink, LDAP, LDP, Line-based text data, LEAP, 11b, LLC, LLDP, LMI, LMP, Log, LogotypeCertExtn, LOOP, LPD, LSA, Lucent/Ascend, LWAPP, LWAPP-CNTL, LWAPP-L3, LWRES, M2PA, M2TP, M2UA, M3UA, МАСС, Malformed packet, Manolito, MAP_ DialoguePDU, MAPI, MDS Header, Media, MEGACO, message/http, Messenger, MGCP, MGMT, MIME multipart, MIPv6, MMS, MMSE, Mobile IP, Modbus/TCP, MOUNT, MPEG 1, MPLS, MPLS Echo, MQ, MQ PCF, MRDJSC, MS NLB, MS Proxy, MSDP, MSMMS, MSN IP, MSNMS, MSRP, MTP2, MTP3, MTP3MG, MySQL, NBAP, NBDS, NBIPX, NBNS, NBP, NBSS, NCP, NCS, NDMP, NDPS, NetBIOS, Netsync, nettl, NFS, NFSACL, NFSAUTH, NHRP, NIS+, NIS+ CB, NJACK, NLM, NLSP, NMAS, NMPI, NNTP, NORM, NS_CERT EXTS, NSIP, NSPI, NTLMSSP, NTP, Null, NW.SERIAL, OAM AAL, OCSP, OLSR, OPSI, OSPF, P_MUL, PAGP, PAP, PARLAY, PCLI, PCNFSD, PER, PFLOG, PFLOG-OLD, PGM, PGSQL, PIM, PKCS-1, PKInit, PKIX Certificate, PKIX1 EXPLICIT, PKIX1 IMPLICIT, PKIXPROXY, PKIXQUALIFIED, PKIXTSP, PKTC, PNDCP, PN-RT, PNIO, PNP, POP, Portmap, PPP, PPP BACP, PPP BAP, PPP CBCP, PPP CCP, PPP CDPCP, PPP CHAP, PPP Comp, PPP IPCP, PPP IPV6CP, PPP LCP, PPP MP, PPP MPLSCP, PPP OSICP, PPP PAP, PPP PPPMux, PPP PPPMu- xCP, PPP VJ, PPP-HDLC, PPPoED, PPPoES, PPTP, PRES, Prism, PTP, PVFS, Q.2931, Q.931, Q.933, QLLC, QUAKE, QUAKE2, QUAKE3, QUAKEWORLD, R-STP, RADIUS, RANAP, Raw, Raw_SigComp, Raw_SIP. rdaclif, RDM, RDT, Redback, REMACT, REP_PROC, RIP, RIPng, RLM, Rlogin, RMCP, RMI, RMP, RNSAP, ROS, roverride, RPC, RPC.BROWSER, RPC.NETLOGON, RPL, rpriv, RQUOTA, RRAS, RS_ ACCT, RS_ATTR, rs_ attr_schema, RS_ BIND, rs_misc, RS_PGO, RS_PLCY, rs_prop_acct, rs_prop_acl, rs_ prop_attr, rs_prop. .pgo, rs_prop_plcy, rs_pwd_mgmt, RS_REPADM, RS_ REPLIST, rs_repmgr, RS_ UNIX, rsec_ login, RSH, rss, RSTAT, RSVP, RSYNC, RTcfg, RTCP, RTmac, RTMP, RTP, RTP Event, RTPS, RTSE, RTSP, RUDP, RWALL, RX, SADMIND, SAMR, SAP, SCCP, SCCPMG, SCSI, SCTP, SDLC, SDP, SEBEK, SECIDMAP, Serialization, SES, sFlow, SGI MOUNT, Short frame, SIGCOMP, SIP, SIPFRAG, SIR, SKINNY, SI ARP, SUMP3, SLL, SM, SMB, SMB Mailslot, SMB Pipe, SMB2, SMB.NETLOGON, smil, SMPP, SMRSE, SMTP, SMUX, SNA, SNA X1D, SNAETH, SNDCP. SNMP, Socks, SONMP, SoulSeek, SPNF.GO, SPNEGO-KRB5, SPOOLSS, SPP, SPRAY, SPX, SRP, SRVLOC, SRVSVC, SSCF-NNI, SSCOP, SSH, SSL, SSS, STANAG 4406, STANAG 5066,
Co je Wireshark? 63 STAT, STAT-СВ, STP, STUN, SUA, SVCCTL, Symantec, Synergy, Syslog, T.38, TACACS, TACACS+, TALI, TANGO, TAPI, TCAP, TCP, TDM A, TDS, TEI_ MANAGEM ENT, TELNET Teredo, TFTP, TIME, TIPC, TKN4Int, TNS, Token-Ring, TPCP, TPKT, TR MAC, TRKSVR^ TSP, TTP, TUXEDO, TZSP, UBIKDISK, UB1KVOTE, UCP, UDP, UDPENCAP, UDPlite^ UMA, I nreassembled fragmented packet, V.120, V5UA, Vines ARP, Vines Echo, Vines FRP, Vines ICP, Vines IP, Vines IPC, Vines LLC, Vines RTP, Vines SPP, VLAN, VNC, VRRP, VTP, WAP SI R, WBXML, WCCP, WCP, WHDLC, WHO, WINREG, WINS-Replication, WKSSVQ WLANCERTEXTN, WSP, WTLS, WTP, X.25, X.29, XI1, X411, X420, X509AF, X509CE, X509IF, X509SAT, XDMCP, XML, XOT, XYPLEX, YHOO, YMSG, YPBIND, YPPASSWD YPSERV, YPXFRZEBRA, ZIP Uzivatelske rozhrani programu Wireshark Graficke uzivatelske rozhrani programu Wireshark je konfigurovatelne a jeho pouziti je snadne. A stejne jako jine sifove analyzatory, i Wireshark zobrazuje zachycena data ve 3 hlavnich panelech. Obrazek 2.1 ukazuje, jak vypadaji typicka data zachycena Wiresharkem. Kazde okno je nastavitelne klepnutim na radu tecek mezi okny panelu a jejich tazenim nahoru ci dolu. Nejvyse je umislen panel summary (souhrn), ktery zobrazuje jednofadkovy souhrn zachycenych dat. Vychozi pole Wireshar- ku obsahuji: ♦ Cislo paketu ♦ Cas ♦ Zdrojovou adresu ♦ Cilovou adresu ♦ Nazev a informace о protokolu vyssi vrstvy Tyto sloupce mohou byt snadno nastaveny a dalsi muzete pfidat v nabidce Preferences. Sloupce muzete take sestupne nebo vzestupne setridit podle pole a take muzete zmenit rozvrzeni panelu. Poznamka: Vsimnete si, zegrafickd uzivatelske rozhrani Wiresharku je podobne Unixovym aplika- cim vice nez prog ra mum, ktere zn^me z operacniho systemu Windows. Je to dcino tim, ze Wireshark pouziva sadu nastroju GNU Image Manipulation Program (GIMP) - knihovny GTK protvorbu uziva- telskeho rozhrani. A tak Wireshark vypada temer identicky na vsech operacnich 5у51ётесЬ. Stredni panel je panel protokolu a formou stromove struktury poskytuje detaily о kazde vrstve obsazene v zachycenem paketu. Klepnutim na ruzne casti hierarchic protokolu zvyraznite odpovi- dajici vystup v hexadecimalnim a ASCII tvaru ve spodnim panelu, pficemz spodni panel zobrazuje surova zachycena data jak v hexadecimalnim, tak i ASCII formatu. Klepnutim na ruzne casti tech- to dat zvyraznite odpovidajici pole v hierarchii protokolu a v panelu pro zobrazeni protokolu. Na obrazku 2.1 muzete videt rozhrani programu Wireshark a piiklad zachycene sifove synchronizace. Vsimnete si, ze oznacenim adresy MAC ve stfednim panelu je automaticky zvyraznena i cast obsa- hujici hexadecimalni vypis v dolnim panelu.
64 Kapitola 2: Predstavujeme Wireshark: analyzator sitovych protokolu poftscan tcpdump - Wiieshaik £ite £<# View Analyze Statistics Tods Hefo □er Aftei * Expression Nt? r ! Soiree Destination Vetoed Info 1 6.000000 00:01:02:03:04:00 ff:ff:ff:ff ARP Who has 172.16.1.1? Tell 172.16.- 2 O.CO2155 06:07:08:09:0a:0b 00:01:02:03:04:00 ARP 172.16.1.1 i5 at 06:07:08:09:0a:( 3 0.061931 00:01:02:03:04 : 00 ff:ff:ff:ff:ff:ff ARP who has 172.16.1.1? Tell 172.16. 4 0.064104 06:07:08:09:0a:0b 00:01:02:03:04:00 ARP 172.16.1.1 is at 06:07:08:09:0a:( 5 6.064178 172.16.1.2j 172.16.1.1 TCP 34229 > rtp [SyNJ Seq«0 Len-0 MSI - 0.064239 172.16.1.20 172.16.1.1 TC₽ 34229 > pptp [SYN] 5aty*0 ien»0 M1 7 <0,. 064765 72.16.1.20 172.16.1.1 TCP 34229 > 554 iSYN] seq»0 Len«0 MS! 8 0.066402 172.16.1.1 172.16.1.20 TCP ftp > 34229 ISYN. ack] seq«G Ack- 1 9 0.067072 172.16.1.2w 172.16.1.1 TCP 3422z, > ftp [RSTJ seq»l Len«o 172.16.1.1 .16.1.lu TCP pptp : 34229 [RST, ACK] Seq=0 Acl| 'ЖЦТ1ШИГ1(ПТИ1Т-1ШИИ 172.16.1.2м TCP f gj Frame 5 (58 bytes on wire, 58 bytes captured) Ethernet II, Src: 00:01:02:03:04:00 (00:01:02:03:04:00), Ost: 06:07:08:09:0a:0b (06:07:08:09:0 Ш Destination: 06:07:08:09:0a:0b (06:07:08:09:0a:0b) Source: u0:ul:u2:03 :u4 :uu (.00:01:02:03:04:00) туре: ip (0x0800) internet Protocol, Src: 172.16,1.20 (172,16.1.20), Dst;: 172.Д.6.1.1 (1/2.16.1.1) Transmission control protocol. SrcT>ort: 34229 Г34229Т. Dst Po t: ftp C21T. Seo: 0. ten: 0 7TDC ac 10 0020 01 01 85 b5 00 15 79 56 44 be 00 00 00 00 60 02 0030 0c 00 ее 11 00 00 02 04 05 b4 Source Hardware Address (eth,srcj, 6 bytes | P; 2487 D-2487 M 0 Obrazek 2.1 Graficke uzivatelske rozhrani programu Wireshark Jednou z nejlepsich vlastnosti programu Wireshark je jeho schopnost rekonstrukce vsech paketu komunikace TCP a jejich zobrazeni ve srozumitelnem formatu ASCII (mohou byt take zobrazena ve formatu EBCDIC, hexadecimalnim formatu nebo v podobe poll jazyka C). Tato data mohou byt pote ulozena ci vytistena a pozdeji pouzita pro opetovne sestaveni webove stranky, relace protokolu SMTP nebo Telnet. V. pfipade, ze potfebujete rekonstruovat webovou stranku ze zachycenych dat, hledejte sled relace protokolu HTTP a vysledek ulozte do souboru. Pote byste meli byt schopni takto sestavenou webovou stranku opet lokalne zobrazit 11 kdyz bez grafiky) ve svem webovem prohh'zeci. Obrazek 2.2 ukazuje vystup sekvence TCP relace protokolu FTP. Filtry Filtrovani paketu umoznuje najit hledany paket bez toho, ze byste museli prohledavat vsechna zachy- cena data. Wireshark urm pouzivat jak filtry pro zachytavani dat (tzv. capture filter), tak i filtry pro zobrazeni (tzv. display filter). Syntaxe filtru pro zachytavani dat se drzi konvenci zavedenych pro- gramem tcpdump s knihovnou libpcap. Tento liltr se nastavuje pro zachytavani urcitych typu dat, a to bud’ z pfikazove fadky nebo jej Ize nastavit v dialogovem okne „Capture Filter". Filtry pro zob- razeni poskytuji mocny nastroj v podobe tfideni zachycenych dat. Stejne jako narusta pocet proto- kolu, narusta i pocet poll pro protokoly ve filtrech pro zobrazovani. Avsak ne vsechny v soucasnosti Wiresharkem podporovane protokoly maji take filtry pro zobrazovani. Krome toho nektere protoko- ly sice poskytuji nazvy poll filtru pro zobrazovani, ale jen nekterych, nikoliv vsech. Doufejme vsak, ze s tim, jak se Wireshark stava stale vyzralejsim produktem, a s tim, jak se zvetsuje pocet uzivatelu pfispivajicich к jeho vyvoji, budou tyto nedostatky odstraneny.
Co je Wireshark? pillow TCP Stream H1-IE3 65 SUeam Content дпТН GSSAPI Please login with user and pass. AUTH KERBEROS—V4 |53O please login with user and pass. IuSER root 31 please specify the password. ASS password 30 Login successful. -y5T 1215 UNIX Type: L8 1PASV b27 Entering Passive Mode (172,16,1,1,114,231) |226 Directory send OK. Butt 1221 Goodbye. Save As | Print | E ntoe convetsahon (378 bytes) EBCDIC C Hex Dump Г C Arrays ( Raw Close Filter Out Ths Stream Obrazek 2.2 Sled sekvenceTCP V tabuice 2.1 muzete videt pfiklad podporovanych protokolu a filtru pro zobrazeni: Tabulka 2.1 Filtry pro zobrazeni protokolu IP Pole protokolu IP Nazev Typ ip.addr Source or Destination Address Adresa IPv4 ip.checksum Header checksum Unsigned 16-bit Integer ip.checksum_bad Bad Header checksum Boolean ip.dsfield Differentiated Services field Unsigned 8-bit Integer ip.dsfield.ee ECN-CE, Explicit Congestion Notification: Congestion Experienced Unsigned 8-bit Integer ip.dsfield.dscp Differentiated Services Codepoint Unsigned 8-bit Integer ip.dsfield.ect ECN-CapableTransport (ECT) Unsigned 8-bit Integer ip.dst Destination Adresa IPv4 ip.flags Flags Unsigned 8-bit Integer ip.flags.df Don't fragment Boolean ip.flags.mf More fragments Boolean ip.frag_offset Fragment Offset Unsigned 16-bit Integer 'Pfragment Cislo ramce IP Fragment
66 Kapitola 2: Predstavujeme Wireshark: analyzator sifovych protokolu Pole protokolu IP Nazev Typ ip.fragment.error Defragmentation error Cislo ramce ip.fragment.multipletails Multiple tail fragments found Boolean ip.fragment.overlap Fragment overlap Boolean ip.fragment.overlap.conflict Conflicting data in fragment overlap Boolean aN < ip.fragment.toolongfragment Fragment too long Boolean ip.fragments IP fragments 23d пё hodnota ip.hdrjen Header length Unsigned 8-bit Integer ip.id Identification Unsigned 16-bit Integer ip.len Total length Unsigned 16-bit Integer ip.proto Protocol Unsigned 8-bit Integer ip.reassembledjn Reassembled IP in frame Cislo ramce ip.src Source Adresa IPv4 ip.tos Type of service Unsigned 8-bit Integer ip.tos.cost Cost Boolean ip.tos.delay Delay Boolean ip.tos.precedence Precedence Unsigned 8-bit Integer ip.tos.reliability Reliability Boolean ip.tos.throughput Throughput Boolean ip.ttl Time-to-live Unsigned 8-bit Integer ip.version Version Unsigned 8-bit Integer Jakmile je filtr pro zobrazovani nastaven, vsechny pakety splnujici dana kriteria jsou zobrazeny ve vypisu paketu v panelu summary. Tyto filtry muzou byt aplikovany pro porovnani poll s hodnotami uvnitf protokolu, jako napf. ip.src == 192.168.1.1, pro porovnani poll, jako v tomto pripade: ip.src == ip.dst, nebo proste jen pro zkontrolovani, zda protokol dane pole obsahuje. Filtry se take pouzivaji pro statisticke funkce a pro barevne zvyrazneni paketu. Chcete-li vytvorit jednoduchy filtr pro hledam dat urciteho protokolu nebo jeho poll (dejme tomu, ze chcete videt pakety protokolu http), napiSte http. Abyste zobrazib pouze pakety obsahujici nejakou zadost (napf. GET, POST, HEAD atd.), zadejte http.request. Jednotliva pole filtru mohou byt take porovnavana s hodnotami, napriklad takto: http. request.method==“GET”. V tomto pripade budou ve vypisu zobrazeny jen zadosti protokolu HTTP. Porovnavaci operatory mohou bvt zapsany s pouzitim nasledujicich zkratek a symbolu: ♦ Rovnost: eq, == ♦ Nerovnost: ne, != ♦ Vetsi nez: gt, > ♦ Mens! nez: It, < ♦ Vetsi nebo rovno: ge, >= ♦ MenSi nebo rovno: le, <=
Coje Wireshark? Tri operatory mohou byl vyjadfeny formou nazvu. Operator Is Present umoznuje ovefit, zda dane pole existuje (napf. v protokolu ARP [Address Resolution Protocol] je pfitomno pole pro adre- su MAC, ale neni zde cislo portu TCP). Operator Contains se pouziva pro vyhledavam fraze nebo retezce v datech paketu. Operator Matches pouziva fetezec regulerniho vyrazu (regex) pro vykon- nej§i vyhledavani vzorku dat. Jak vidite, filtry umoznuji znacnou pruznost pfi feseni problemu na siti. Poznamka: Program Wireshark podporuje mnoho ruznych typu pfenosovych medii (jako Ether- net, Token Ring, bezdratove site a site ATM [Asynchronous transfer mode]). Abyste se ujistili, ze pouzivate kompatibilni operacni system, podi'vejte se na tabulku „Supported Capture Media" na strance http://wireshark.org/CaptureSetup/NetworkMedia. Jak sam; uvidite, operacni system Linux podporuje temer vsechny typy p enosovych medii a Ethernet je podpo- rovan vsemi operacnimi systemy. Dalsi informace System subverzi Subverzovani (SVN) je system pro udrzbu verzi vyvijene aplikace, ktery umoznuje soucasnou praci vice vyvojarii na jednom projektu, pficemz se uchovava informace о tom, jake zmeny byly provedeny, kym byly provedeny a jake verze byly vytvofeny. Je bezne, ze jeden projekt obsahuje mnoho verzi ve stromu SVN. SVN a jeho predchudce Concurrent Verions Systems (CVS) se pouzivaji pro vetsinu projektu open-source I napf. web Sourceforge [www.sourceforge.net] ma datova uloziste pro vsechny projekty CVS i SVN, ktere jsou zde ulozeny). Nektere projekty umoznuji pfistup ke stromum SVN prostfednictvim weboveho rozhrani a vetsina z nich zpfistupnuje svuj obsah pomoci klientskych aplikaci SVN. Nekolik uzitecnych odkazu о SVN: ♦ SVN Command-line Client - klient zalozeny na praci z prikazove fadky je dostupny na adrese www.SVN.tigris.org nebo ve forme instalacnich bah'dku na mnoha distribucich operacniho systemu Berkley Software Distribution (BSD) a UNIX. ♦ TortoiseSVN - TortoiseSVN je rozsifemm uzivatelskeho prostredi pro operacni system Windows, ve kterem je jiz vestaven pruzkumnik souboru. TortoiseSVN muzete stahnout na adrese www.tortoisesvn.tigris.org. ♦ RapidSVN - RapidSVN je grafickym uzivatelskym rozhramm SVN pro operacni sys- tem Windows. ♦ Verze pro Mac OS X a Linux jsou dostupne ke stazeni na www.rapidsvn.tigris.org. ♦ Visual Studio .NET - vyvojafi, ktefi pouzivaji Microsoft Visual Stu iio .NET, mohou pro integraci do SVN pouzit nastroj tfeti strany AnkhSVN (www.ankhsvn.tigris.org). Seznam subverzi projektu Wireshark je dostupny na adrese www.wireshark.org/develop.html. Zdrojove kody Wiresharku je mozne ziskat s pouzitim SVN nekolika zpusoby: ♦ SVN Command Line slouzi к anonymnimu stazem /drojoveho kodu.
68 Kapitola 2: Predstavujeme Wireshark: analyzator sitbvych protokolu ♦ Nightly Snapshots - pouziva se ke stazem komprimovanych (.gz.tar) obrazii zdrojoveho kodu, ktere se vytvafeji periodicky na 24hodinove bazi. ♦ Webove rozhrani SVN - muzete si stahnout celou strukturu zdrojovych kodu prostfed- nictvim weboveho rozhrani SVN na adrese http://anonsvn.wireshark.org/wireshark/trunk/ a nasledne zobrazit kazdy soubor ci zmeny, ktere byly provedeny mezi jednotlivymi ver- zemi. Vzdy kdyz pouzivate nekterou z SVN verzi Wiresharku nebo jineho open-source projektu, mejte na pameti, ze se jedna о verze beta, ktere mohou obsahovat chyby. Doporucene zdroje Mezi nejlepsi zdroje informaci о Wiresharku patfi bezesporu i e-mailove distribucni seznamy (for- mulafe najdete na www.wireshark.org/list). Poznamka: Kdyz vyplnujete registracni formulae muze vam byt heslo nekdy zaslano formou pro- 'Cj steho textu. Ujistete se, ze nepouzivate toto heslo pro zadnejine dcty, abyste se vyhnuli zneuziti zaslaneho hesla v pripade, ze by nekdo na vasi siti zachytaval data. ♦ Wireshark-announce obsahuje oznameni о vydan i novych verzi, oprav chyb a obecne informace tykajici se Wiresharku. Do tohoto distribucniho seznamu by se meli zaregistrovat vsichni uziva- tele programu Wireshark, aby byli neustale informovani о dulezitych tematech. Clenstvi v tom- to distribucnim seznamu vam schranku rozhodne nezahltf. Pokud byste chteli oznamit nejakou zpravu clenum tohoto seznamu, zaslete ji na wiresharkannounce@wireshark.org. ♦ Wireshark-users obsahuje obecne informace a napovedu к programu Wireshark. Uzivatele Wiresharku by se meli do tohoto distribucniho seznamu zaregistrovat zejmena za ucelem sdile- ni napadti a doporuceni. Komunikace zde je spise stridma. ♦ Wireshark-dev se zabyva informacemi о vnitfnim deni kolem Wiresharku urcenymi spise pro vyvojafe a je urcen pro uzivatele, ktefi nejakym zpusobem pfispivaji к jeho vyvoji. Objem komu- nikace v teto konferenci je znacny. Zpravu muzete odeslat na adresu wireshark-dev@wireshark. org. ♦ Wireshark-commits slouzi к vymene infbrmaci о vyvoji a zmenach ve struktufe zdrojovych kodu. Informuje vyvojafe о tom, kdy a к jakym zmenam doslo. Datove uloziste SVN automaticky ode- sila e-mailovou zpravu vzdy, kdyz jsou do uloziste nahrany nejake zmeny, a tak tato konference generuje velke mnozstvi zprav. Uzivatele zde neposilaji zpravy pfimo do tohoto distribucniho seznamu. Odpovedi na zpravy byste meli zasilat na adresu www.wireshark-dev@wireshark.org. Pfi registraci do distribucniho seznamu si muzete zvolit, zda si pfejete, aby e-mailove zpravy byly ,,baleny“ do jednoho e-mailu, tzv. daily diggest (dennt vyber), coz je vynikajici zpusob, jak pfespfi- lis nezatezovat vasi internetovou linku v pfipade velkeho objemu zprav. V tomto pfipade vam vsak nebudou dorucovany pf ilohy techto zprav. Vsechny zpravy z vyse uvedenych e-mailovych konferenci jsou archivovany na webovych strankach Wiresharku a dalsich webech s duplicitnim obsahem. Zpra- vy jsou roztfideny po jednotlivych mesicich, a to zpetne az do roku 1998. V pfipade potfeby rady ci pomoci s konkretmm problemem je vhodne tyto archivy nejprve prohledat a teprve potom vznaset dotaz ci zadost do konference. Dalsim skvelym zdrojem in formaci je Uzivatelska pfirucka programu
podpurne programy Wireshark (autorem je Richard Sharpe), kterou najdete na adrese www.wireshark.org/docs/wsug.html/. Tato pfirucka je dostupna take v mnoha dalsich formatech vcetne PDF na www.wireshark.org/docs. A jako vzdy, i samotna stranka www.wireshark.org obsahuje mnoho uzitecnych informaci. Stranka s pfiklady zachycenych dat (http://wiki.wireshark.org/SampleCaptures) obsahuje zaznamy zachyce- nych paketu datoveho provozu, ktere mohou byt stazeny a zobrazeny ve Wiresharku. Podpurne programy Vetsina lidi pracujicich s programem Wireshark pouziva jeho graficke uzivatelske rozhrani. Avsak instalacni balik Wiresharku nakopiruje do programove slozky i nektere podpurne programy. Vari- anta programu Wireshark pro pfikazovou fadku (zvana tshark) obsahuje tri aplikace usnadnujici manipulaci se soubory zachycenych dat. Tshark Tshark je verzi Wiresharku, ktera pracuje v prostredi pfikazove fadky a muze byt pouzita pro zachy- tavani dat ze site nebo pro cteni souboru se zachycenymi daty. Ve vychozim nastaveni zobrazuje tshark fadek se souhrnnou informaci. Tedy totez, co muzete videt v hornim panelu grafickeho roz- hrani Wiresharku. Nasledujici vystup je pfikladem vypisu programu tshark: 1.199008 192.168.100.132 -> 192.168.100.122 TCP 1320 > telnet [SYN] Seq=l102938967 Ack=0 Win=16384 Len=0 1.199246 192.168.100.132 -> 192.168.100.122 TCP 1320 > telnet [SYN] Seq=1102938967 Ack=0 Win=16384 Len=0 1.202244 192.168.100.122 -> 192.168.100.132 TCP telnet > 1320 [SYN ACK] Seq=3275138168 Ack=1102938968 Win=49640 Len=0 1.202268 192.168.100.132 -> 192.168.100.122 TCP 1320 > telnet [ACK] Seq=1102938968 Ack=3275138169 Win=17520 Len=0 1.202349 192.168.100.132 -> 192.168.100.122 TCP 1320 > telnet [ACK] Seq=1102938968 Ack=3275138169 Win=17520 Len=0 Pfepinac -V zpusobi, ze tshark vypise strukturu protokolu podobne jako ve stfedmm panelu gra- ickeho rozhrani Wiresharku. Takto zobrazi vsechny protokoly obsazene v paketu a zahrnuje take datovou cast na konci seznamu. Nize muzete videt detailnejsi strukturu protokolu z vystupu pro- gramu tshark: Frame 5 (74 bytes on wire 74 bytes captured) Arrival Time: Nov 2 2003 15:22:33.469934000 Time delta from previous packet: 0.000216000 seconds Time relative to first packet: 1.349439000 seconds Frame Number: 5 Packet Length: 74 bytes Capture Length: 74 bytes Ethernet II Sfc: 00:05:5d:ee:7e:53 °st: 08:00:20:cf:5b:39 Destination: 08:00:20:cf:5b:39 (SunMicro.cf:5b:39) Source: 00:05:5d:ee:7e:53 (D-Link_ee:7e:53)
70 Kapitola 2: Predstavujeme Wireshark: analyzator sifovych protokolu Type: IP (0x0800) Internet Protocol Src Addr: 192.168.100.132 (192.168.100.132) Dst Addr: 192.168.100.122 (192.168.100.122) Version: 4 Header length: 20 bytes Differentiated Services Field: 0x00 (DSCP 0x00: Default; ECN: 0x00) 0000 00.. = Differentiated Services Codepoint: Default (0x00) .......0. = ECN-Capable Transport (ECT): 0 .......0 = ECN-CE: 0 Total Length: 60 Identification: 0x160c (5644) Flags: 0x00 .0.. = Don't fragment: Not set ..0. = More fragments: Not set Fragment offset: 0 Time to live: 128 Protocol: ICMP (0x01) Header checksum: 0xda65 (correct) Source: 192.168.100.132 (192.168.100.132) Destination: 192.168.100.122 (192.168.100.122) Internet Control Message Protocol Type: 8 (Echo (ping) request) Code: 0 Checksum: 0x3c5c (correct) Identifier: 0x0500 Sequence number: 0c:00 Data (32 bytes) 0000 61 62 63 64 65 66 67 68 69 6a 6b 6c 6d 6e 6f 70 abcdefghijklmnop 0010 71 72 73 74 75 76 77 61 62 63 64 65 66 67 68 69 qrstuvwabcdefghi Nakonec prepinac -x zpusobi, ze tshark vytiskne na obrazovku obsali paketu v hexadecimalnim a AS- CII formatu bud’ se souhrnnym fadkem nebo strukturou protokolu. Nasleduiici pfiklad zobrazuje hexadecimalni a ASCII vystup spolu se souhrnnym radkem: 9.463261 192.168.100.122 -> 192.168.100.132 TELNET Telnet Data ... 0000 00 05 5d ее 7e 53 08 00 20 cf 5b 39 08 00 45 00 ..].~S.. .[9..E. 0010 00 9a c3 8a 40 00 3c 06 30 84 cO a8 64 7a cO a8 ....@.<.0...dz.. 0020 64 84 00 17 05 29 cd 5d 7d 12 4c Id ea 76 50 18 d....).]I.L..vP. 0030 cl e8 47 ca 00 00 4c 61 73 74 20 6c 6f 67 69 6e ..G...Last login 0040 3a 20 53 75 6e 20 4e 6f 76 20 20 32 20 31 35 3a : Sun Nov 2 15: 0050 34 34 3a 34 35 20 66 72 6f 6d 20 31 39 32 2e 31 44:45 from 192.1 0060 36 38 2e 31 30 30 2e 31 33 32 Od 0a 53 75 6e 20 68.100.132..Sun 0070 4d 69 63 72 6f 73 79 73 74 65 6d 73 20 49 6e 63 Microsystems Inc 0080 2e 20 20 20 53 75 6e 4f 53 20 35 2e 39 20 20 20 . SunOS 5.9 0090 20 20 20 20 47 65 6e 65 72 69 63 20 4d 61 79 20 Generic May OOaO 32 30 30 32 Od 0a 23 20 2002..# Kdyz jsou ukladana data paketu zachycenych tsharkem do souboru, vychozim vystupem je format knihovny libpcap. Tshark je schopen tato data opet nacist a aplikovat na ne filtry pro zobrazova- ni (take zname jako Jiltry pro cteni) a filtry pro zachytavani dat slejne jako Wireshark. Tshark umi rovnez dekodovat tytez protokoly jako Wireshark. V podstate ma tytez schopnosti jako Wireshark
Podpurne programy 71 (krome tech, ktere pfimo souviseji s gralickym uzivatelskym rozhranim) v podobe snadno ovlada- telneho rozhrani pfikazove fadky. Editcap Ccelem Editcapu je odstranovani paketu ze souboru a pfeklad formatu zachycenych dat. V podsta- te funguje podobne jako funkce „Save As“, ale lepe. Editcap umi cist zcela totozne fonnaty dat jako Wireshark a standardne je zapisuje ve formatu libpcap. Editcap ale umi take zapisovat zachycena dat Jo standardnich i upravenych verzi formatu techto programu: ♦ Novel LANalyzer ♦ Sniffer Network Access Identifier (NAI) ♦ Microsoft NetMon ♦ Zachycena data programu Visual Network ♦ Zachycena data programu Accellent 5Views ♦ Network Instruments Observer ve verzi 9 Editcap ma schopnost upfesnit, zda maji byt pfekladany vsechny pakety, nebo jen nektere. Na nasle- dujicim pnkladu vidime pouziti editcapu pro pfeklad prvnich peti paketii z dat zachycenych tshar- kem za pouziti knihovny libpcap do formatu Sun snoop (fika se mu capture_saoop): C:\Program Files\Wireshark>editcap -r -v -F snoop capture capture_snoop 1-5 File capture is a libpcap (tcpdump Wireshark etc.) capture file. Add_Selected: 1-5 Inclusive ... 1 5 Record: 1 Record: 2 Record: 3 Record: 4 Record: 5 Mergecap Ucelem Mergecapu je spojovani nekolika souboru se zachycenymi daty do jednoho vystupniho sou- boru. Mergecap umi pfecist tytez datove formaty jako Wireshark a standardne zapisuje do forma- tu libpcap. Mergecap umi take zapisovat do vystupnich souboru zachycenych dat pro standardni a upravene verze: ♦ Libpcap ♦ Sun snoop ♦ Novel LANalyzer ♦ NAI Sniffer ♦ Microsoft NetMon * Zaznam zachycenych dat programu Visual Network ♦ Zaznam zachycenych dat programu Accellent 5Views * Network Instruments Observer
72 Kapitola 2: Predstavujeme Wireshark: analyzator sitbvych protokolu Standardne jsou pakety ze vstupnich souborG spojovany v chronologickem poradi danem casovym razitkem kazdeho paketu. Pokud je uveden pfepinac -a, pakety jsou kopirovany do vystupniho soubo- ru primo, bez ohledu na Casova razitka. Nasledujici pfiklad zobrazuje pouziti mergecapu pro spojeni ctyf souboru se zachycenymi daty (capturel, capture2, capture3 a capture4) do jedineho vystupniho souboru ve formatu Sun snoop nazvaneho mergc_snoop, ktery bude cist pakety, az dokud nenarazi na konec posledniho souboru: C:\Program Files\Wireshark>mergecap -v -F snoop -w merge_snoop capturel capture? captures capture4 mergecap: capturel is type libpcap (tcpdump Wireshark etc.). mergecap: captures is type libpcap (tcpdump Wireshark etc.). mergecap: captures is type libpcap (tcpdump Wireshark etc.). mergecap: capture4 is type libpcap (tcpdump Wireshark etc.). mergecap: opened 4 of 4 input files mergecap: selected frame_type Ethernet (ether) Record: 1 Record: 2 Record: 3 Record: 4 Record: 5 Record: 6 Record: 7 Record: 8 Record: 9 Record: 10 output removed Text2pcap Text2pcap cte data ulozena v ASCII nebo hexadecimalnim formatu a zapisuje je do vystupniho sou- boru libpcap. Umi cist hexadecimalni vypisy obsahujici vice paketu a vytvaret soubory zachycenych dat z vice paketii. Text2pcap muze take cist data hexadecimalnich vypisu z aplikacni urovne tim, ze vklada umele vytvorene hlavicky protokolu Ethernet, IP a UDP nebo TCP. laky typ hlavicky bude vlozen, urcuje uzivatel. Iimto zpusobem umi tedy Wireshark a jine sniffery cist kompletni data. Nasledujici vypis je pfikladem typu hexadecimalmho vypisu, ktery text2pcap umi rozeznat: 0000 00 05 5d ее 7e 53 0010 00 9a 13 9e 40 00 0020 64 84 00 17 05 49 0030 cl e8 ba 7b 00 00 0040 3a 20 53 75 6e 20 0050 30 36 3a 35 33 20 0060 36 38 2e 31 30 30 0070 4d 69 63 72 6f 73 0080 2e 20 20 20 53 75 0090 20 20 20 20 47 65 OOaO 32 30 30 32 Od 0a 08 00 20 cf 5b 39 08 00 3c 06 e0 70 cO a8 64 7a Oe a9 91 43 8e d8 еЗ 6a 4c 61 73 74 20 6c 6f 67 4e 6f 76 20 20 32 20 31 66 72 6f 6d 20 31 39 32 2e 31 33 32 Od 0a 53 75 79 73 74 65 6d 73 20 49 6e 4f 53 20 35 2e 39 20 6e 65 72 69 63 20 4d 61 23 20 2002..# 45 00 ..].~S.. .[9..E. cO a8 ....@.<..p..dz.. 50 18 d... .1.. .C...jP. 69 6e ...{..Last 1ogin 37 3a : Sun Nov 2 17: 2e 31 06:53 from 192.1 6e 20 68.100.132..Sun 6e 63 Microsystems Inc 20 20 . SunOS 5.9 79 20 Generic May A tento vypis pro zmenu ukazuje, jak si text2pcap poradil s prectemm vyse uvedenych dat (hex_sam- ple.txt) a jejich ulozemm do souboru libpcap output: C:\Program Fi1es\Wireshark>text2pcap hex_sample.txt 1ibpcap_output
pouzivarb Wiresharku ve vasi sit’ove architekture Input from: hex_sample.txt Output to: 1 ibpcap_output Wrote packet of 168 bytes at 0 Read 1 potential packets wrote 1 packets Pouzivani Wiresharku ve vasi sit’ove architekture V prvni kapitole jsme se dozvedeli, песо о ruznych typech kabelovych odbocek, rozbocovacich, pre- pinacich a take о tom, jak mohou byt tato zarizeni pouzivana pro zachytavani dat sitbveho provozu. V teto casti se blize podivame na sitbvou architekturu a nektere kriticke body tykajici se Wireshar- ku. Umisteni snifferu v siti je pro spravnou analyzu a feseni problemu podstatne. Jeste podstatnejsi je vsak skutecnost, zda pracuiete na spravnem segmentu site. Pfi feseni problemu v siti se muzete dasto pfesouvat mezi vice kabelovymi skrinemi nebo i mezi budovami. Uz z tohoto prosteho duvo- du je zcela zfejme, ze Wireshark by mel byt provozovan na laptopu. Take neni od veci mit к tomuto laptopu alespon jednoduchy rozbocovac a nekolik kabelu (kfizenych i pfimych) jako soucast sady nastroju pro feseni problemu. Na obrazku 2.3 muzete videt nespravne umisteni Wiresharku v situ- aci, kdy chcete zachytavat komunikaci mezi externim klientskym pocitadem a serverem. Laptop s Wiresharkem by v tomto pripade pozadovana data nezachytil, nebof je zcela mimo komunikacni cestu serveru, ktery je pfipojen к jinemu piepinaci. Smerovac Prepinac Prepinac Laptop s programem Wireshark Server Obrazek 2.3 Nespravnd umisteni Wiresharku
74 Kapitola 2: Predstavujeme Wireshark: analyzator sitovych protokolu Obrazek 2.4 ukazuje, jak zachytavat data cestujici po siti od klienta vnejsi site smerem к serveru, a to pomoci vetveniportu (port spanning). Laptop s Wiresharkem musi byt pfipojen ke stejnemu pfepi- naci jako server. V dalsim kroku je tfeba aktivovat vetveni portu na tomto pfepinaci pro zrcadleni datoveho provozu, ktery putuje к serverovemu portu i z nej. Pouziti teto metody nezpusobi zadne vypadky v komunikaci serveru se siti. Smerovac Laptop s programem Server Wireshark Obrazek 2.4 Spravne umisteni Wiresharku pro pouziti vetveni portu Obrazek 2.5 ukazuje, jak zachytavat data pfichazejici к serveru od klienta z vnejsi site s pouzitim rozbocovace. Nainstalujte rozbocovac mezi server a pfepinac a pfipojte к nemu laptop s programem Wireshark. Wireshark takto uvidi vsechen datovy provoz pfichazejici na server i odchazejici z nej. Tato metoda narusi sitovou komunikaci na dobu potrebnou pro instalaci rozbocovace a prepojeni kabelaze.
pouzivani Wiresharku ve vasi sit’ove architekture 75 Prepinac Laptop s programem Server Wireshark Obrazek 2.5 Spravne umi'steni Wiresharku s pouzitim rozbocovace Obrazek 2.6 znazornuje sitovou architekturu s permanent™ kabelovou odbockou pf ipojenou ke sme- rovaci. Nektefi administrator! pouzivaji tuto metodu pro stale pfipojeni ke kritickym bodum site. Laptop s Wiresharkem v tomto pripade vidi veskery datovy provoz smerem do i od serveru, a navic i veskery provoz na celem sitbvem segmentu. Pokud jekabelova odbockajiz nainstalovana, nezpuso- bi pouziti teto metody zadny vypadek na siti. Kabelove odbocky mohou byt take pfenosne a mohou byt pouzity podobnym zpusobem jako rozbocovac na obrazku 2.5.
76 Kapitola 2: Predstavujeme Wireshark: analyzator sitovych protokolu Obrazek 2.6 Umi'stdni Wiresharku s pouzitim kabelove odbocky Vetsina sitovych architektur neni tak jednoducha jako ty, ktere byly uvedeny v teto sekci. Avsak tyto vzorove situace vam mohou poskytnout dobry zaklad pro pouziti Wiresharku na ruznych mistech site. Nektere typy architektury jsou nesrovnatelne slozitejsi, mohou byt ruzne propojeny a zahrno- vat i redundantni okruhy (viz obrazek 2.7). Samotne sitbve segmenty se mohou dale rozvetvovat az do formy nekolika urovni, aby odrazely strukturu firmy sidlici ve vice budovach. Abyste byli schop- ni provadet efektivni a rozumna rozhodnuti pro umisteni snifferu ve vasi siti, meli byste ji napfed velmi dobfe poznat.
pouzivani Wiresharku pro reseni problemu se siti Obrazek 2.7 Komplexni propojeni nekolika siti Pouzivani Wiresharku pro reseni problemu se siti Snad kazdy sit’ovy administrator ma za sebou nepfijemnou zkuSenost, kdy je probuzen uprostfed noci nalehavym telefonatem zadajicim rychlou napravu problemu na siti. Takovy telefonat muze vyvolat fadu ruznych emoci (napf. paniku, nalehavost a mozna take urcity typ hrdinstvi). Klicem ke schop- nosti uspesne vyfesit problemy na siti je znalost prace site za normalnich okolnosti. Io vam pozdeji umozni rychle odhalem ruznych anomalii a neobvyklych cinnosti, ke kterym bezne nedochazi. Jed- nou z moznosti, jak poznat vasi sit’, je pouziti snifferu na ruznych bodech site. To vam umozni ziskat pfedstavu о protokolech, ktere cestuji vasi siti, о zafizenich na kazdem segmentu a о tzv. top talkers (pocitace nebo zafizeni, ktera generuji nejvice sit’oveho provozu). Jakmile mate pfedstavu о tom, jak vase sit’ pracuje, muzete zacit budovat strategii pro feseni pro- blemu. Diky teto strategii budete schopni postupovat metodicky a vyfesite problem s minimalnim '5’padkem sluzeb vasim zakaznikum. Muzete usetfit drahocenne hodiny ztracene nespravnou dia- gnostikou, kdyz stravite alespon nekolik minut vyhodnocenim symptomu daneho problemu pfi jeho reseni. Spravny pfistup pfi feseni problemu se siti zahrnuje nasledujicich sedm kroku: h Identifikace pfiznakii 2- Definice problemu
78 Kapitola 2: Predstavujeme Wireshark: analyzator sftovych protokolu 3. Analyza problemu 4. Izolace problemu 5. Identifikace a ovefeni pficiny problemu 6. Vyfeseni problemu 7. Ovefeni, ze problem byl skutecne vyfesen Prvnim krokem pfi feseni problemu se siti je tedy identifikace symptomu. Nekdy se о problemech muzete dozvedet take z jinych siti, kdy vam nektery system pro spravu site zasle zpravu о vzniku problemu (jako napf. problemy s vykonem, konektivitou nebo jine podivne chovani site). Porovnejte tyto zmeny s normalnim stavem site: Provedli jste pfedtim, nez se projevil problem, nejakou zmenu na siti nebo na serveru? Nebyla tfeba spustena nejaka naplanovana uloha jako zalohovani? Byl pro tuto ulohu pfedem vytvofen primefeny casovy ramec? Az zodpovite tyto a dalsi podobne otazky, bude vhodna chvile pro sepsani srozumitelne def inice problemu. Jakmile jsou popsany symptomy a problem je identifikovan, meli bychom jej podrobit dukladne analyze. Meli byste shromazdit data potfebna к analyze a pokusit se zuzit vyber moznych pficin problemu. Je tato pficina v jadru site, v jedine budove nebo jen na pobocce vasi firmy? Ma problem souvislost s celym sitbvym segmentem, nebo se projevuje pouze na jedinem pocitaci? Muze byt tento problem navozen i jinde na siti? Mozna budete muset provefit vice cast! vasi site, abyste jadro problemu uspesne lokalizovali. Nym, kdyz jste pficinu problemu nalezli, by mely vase dalsi kroky vest к izolaci problemu. Existuje mnoho zpusobu, jak toho dosahnout, napfiklad odpojenim pocitace, ktery problematicke chovani zpiisobuje, restartovanim serveru, zastavenim podezfele datove komunikace aktivaci nektereho pra- vidla na firewallu nebo pfepnutim na zalozm internetove pripojem. Dalsi na fade je identifikace a ovefeni priciny problemu. V okamziku, kdy mate nejakou teorii о tom, co miize problem pusobit, meli byste tuto teorii ovefit ci vyvratit. Vas sitovy analyzator vam umoz- nuje videt, co se deje na pozadi site. V teto fazi muzete hledat informace о problemu na Internetu, obratit se na vyrobce hardwaroveho vybaveni nebo vyvojafe aplikace nebo take kontaktovat vaseho poskytovatele internetoveho pfipojeni. Na webovych strankach www.cert.org а www.incidents.orgse navic muzete pfesvedcit, zda vas problem nepostihuje take dalsi uzivatele po celem svete. Az pfijdete na to, jaky postup vede к vyfeseni problemu, nadejde ta prava chvile к realizaci tohoto postupu, potazmo vyfeseni problemu. To muze probehnout kupfikladu upgradem hardwaru nebo programoveho vybaveni, zavedenim noveho pravidla na firewallu, reinstalaci napadeneho systemu, vymenou vadne hardwarove komponenty nebo pfehodnocenim navrhu topologie segmentu site. Poslednim krokem by melo byt vzdy ovefeni spravnosti feseni, tedy ujisteni, ze problem byl sku- tecne vyfesen. Zjistete, zda feseni jednoho problemu nezpusobilo problemy jine nebo ze konkret- ni problem, ktery jste vyfesili, neni pouze symptom ein jinych, mozna mnohem zava/nejsich potizi. Soucasti teto faze je i sepsani dokumentace, kde budou obsazeny informace о krocich, ktere vedly к odstraneni problemu. Tyto mohou byt uzitecnou pomuckou pro feseni problemu v budoucnosti. Pokud se vam problem vyfesit nepodai ilo, meli byste zacit s celym postupem od uplneho zacatku. Vyvojovy diagram na obrazku 2.8 znazornuje proces reseni problemu. x Poznamka: Abyste mohli byt kvalitnim odbornikem na reSeni problemu se si'ti, potrebujete velmi ^4 dobre rozumet sitovym protokolum. Porozumeni ruznym protokolum a jejich vlastnostem vam pomuze rozeznat ruzn£ odchylky od normalniho chodu sit£.
pouzivani Wiresharku pro administraci systemu 79 Obrazek 2.8 Metodologie feSeni problemu na siti Pouzivani Wiresharku pro administraci systemu Systemovi administrator! jsou notoricky znami otazkou, zda je песо spatne na siti, zatimco sitovi administrator! s oblibou kontruji, ze chyba je nekde v systemu. Nekde v propasti mezi temito dveina nazory lezi skutecnost, kterou muzete pomoci Wiresharku odhalit.
80 Kapitola 2: Pfedstavujeme Wireshark: analyzator sitovych protokolu Kontrola sit’ove konektivity Srdcem modernich siti postavenych na sade protokolu TCP/IP je Ethernet. Ethernet je protokol, ktery pracuje bez zbytecneho povyku; avsak existuje nescetne mnoho problemu s ovladaci, operacnimi systemy, nastavenim systemu, aplikacemi, sitbvymi pfepinaci atd. Systemovy administrator potfebu- je ke sve praci nastroj, ktery dokaze zjistit, zda sit’ pracuje spravne z hlediska druhe vrstvy sit’oveho modelu OSI nebo z hlediska protokolu Ethernet. Kdyz dojde к problemu s admimstraci systemu, melo by nasledovat ovefeni, zda postizeny system dostava datove pakety ze site. Nejzakladnejsim paketem je paket protokolu ARP Podstata paketu A RP je nasledujici: kdyz pocitac potfebuje komunikovat s jinym pocitacem na stejne podsiti a zna jeho adresu IP, avsak nikoliv adresu MAC', tak tento pocitac rozesle formou vsesmero- veho vysilani zadost ARP na cely ethernetovy segment (napf. sif s pocitaci s adresami IP 192.168.1.1 a 192.168.1.2, ktere maji adresu MAC 00:01:02:03:04:05 a 06:07:08:09:0a:0b) a odesle nasledujici sled pffkazu prostfednictvim protokolu ARP: 00:01:02:03:04:05 to ff:ff:ff:ff:ff:ff Who has 192.168.1.2? Tell 192.168.1.1 06:07:08:09:0a:0b to 00:01:02:03:04:05 192.168.1.2 is at 06:07:08:09:0a:0b Kdyz vime, ze datovy provoz protokolu ARP je nezbytnym pfedchudcem bezneho datoveho provozu, muzeme pouzit program Ethereal, abychom zjistili, ze se na siti vubec nejaka komumkace odehrava. Existuje nekolik stavu protokolu ARP, ktere signalizuji specificky problem. Pokud na siti neni zadny provoz protokolu ARP, tak bud’ nezachytavate sit’ovy provoz spravne anebo existuje duvod domnivat se, ze jsou zde problemy s ovladaci nebo operacnim systemem, ktere brani sit’ove komunikaci. Pokud pocitac odesila zadosti protokolu ARP, ale nedostava se mu zadne odpovedi od ciloveho pocitace, muze to znainenat, ze tento pocitac neni v siti pfitomen. Ujistete se, ze tento system je na spravne siti LAN; toto uz neni tak jednoduche jako proste zasunuti spravneho sit’oveho konektoru. Kdyz system dostava zadosti protokolu ARP a odesila data protokolu IP na sit’, ale nedostava se mu zadne odpo- vedi, kterou jste mozna ovefili pomoci snifferu, problemem muze byt nastaveni firewallu nebo pro- blem s ovladacem v operacnim systemu. Kontrola dostupnosti sitovych aplikaci Pote co jste ovefili dostupnost site jako takove, je dalsim krokem v feseni problemu kontrola konek- tivity mezi pocitaci a aplikacemi. Protoze vetsina sitovych aplikaci je zalozenych na protokolu TCP, testovani je omezeno na aplikace pouzivajici tento protokol. Pro ilustraci uvedme webovy server operujici na portu 80. Jak uz bylo drive uvedeno, protokol TCP spoleha na tzv. tficestny handshake (navazani komunikace pfed samotnym zahajenim pfenosu dat - pozn. pfekl.). Tento handshake muze sam о sobe indikovat urcity problem s komunikaci aplikace. Protoze Wireshark ma schopnosti к tomu, aby dokazal doslova rozebrat pakety protokolu TCP, muzeme jej pouzit pro lokalizaci problemu. S nasledujicimi scenafi se muzete setkat v pnibehu feseni nekterych problemu komunikace aplikaci po siti: Scenar 1: Zprava SYN bez zpravy SYN+ACK Pokud data zachycena Wiresharkem ukazuji, ze klient odesila paket SYN, ale nedostava zadnou odpoved’od serveru, pravdepodobnS to znamena, ze server tento paket nezpracoval. Duvodem muze
pouzivani Wiresharku pro administraci zabezpeceni 81 byt firewall mezi temito dvema systemy, ktery blokuje potfebne pakety, nebo skutecnost, ze firewall bezi primo na serveru. Scenar 2: Zprava SYN s okamzitou odezvou RST Kdyz data zachycena Wiresharkem ukazuji, ze server odpovida paketem s nastavenym pfiznakem RST, znamena to, ze pakety jsou cilovemu serveru dorucovany, ale na danem portu nenasloucha zadna aplikace. Ujistete se, ze vase aplikace nasloucha na spravnem portu na spravne adrese IP. Scenar 3: SYN SYN+ACK ACK Spojeni ukonceno Pokud vam sitbvy provoz zachyceny Wiresharkem ukazuje, ze relace TCP je zahajena a bezprostred- ne pote ukoncena, pravdepodobne cilovy server tuto komunikaci odmita z duvodu bezpecnostnich opatreni. Na operacnich systemech UNIX zkontrolujte soubor tcpwrappers v adresari /etc/hosts.allow a /etc/hosts.deny a ovefte, zda jste komunikaci nedopatfenim nezablokovali. Pouzivani Wiresharku pro administraci zabezpeceni ,Je tento protokol bezpecny?" Jednim z obvyklych ukolu, kterymi se administrator! zabezpeceni zabyva- ji, je ovefovam bezpecnosti libovolnych protokolu. Wireshark je idealnim nastrojem pro tuto praci. Jednou z nejoblibenejsich a nejuzitecnejsich funkci Wiresharku je jeho schopnost rckonstrukce pake- tu, ktera umoznuje videt obsah komunikovanych dat. Pro protokoly jako Telnet a FTP Wireshark jednoduse zobrazuje uzivatelska jmena a hesla daneho pripojeni bez nutnosti opetovneho sestavova- ni paketu. Avsak pro protokoly nezname, proprietarni ci jinym zpusobem nesrozumitelne miizeme pouzit rekonstrukci paketu. Abyste mohli provest rekonstrukci, zachyt’te data pomoci Wiresharku nebo jineho nastroje a pote soubor se zachycenymi daty otevfete ve Wiresharku. Klepnete pravym tlacitkem mysi na jakykoliv paket z dane relace. Vyberte moznost Follow TCP Stream; otevre se okno obsahujici veskera komunikacni data, ktera probehla v ramci teto relace. Pro lepsi citelnost textu vam muze pomoci zapnuti volby ASCII, a pokud je protokol pr His ruseny, zkuste vybrat ruzne typy zobrazeni pomoci polozek sender, receiver nebo Entire conversation. Odhaleni aktivity IRC (Internet Relay Chat) Krome toho, ze pouzivani chatovacich mistnosti muze mit sva omezeni firemnimi smernicemi, je s programem IRC spojena take skutecnost, ze tato aplikace je velmi casto pouzivana hackery jako kontrolni a ovladaci mechanismus. Protokol IRC pouziva pro komunikaci port 6667. Kdyz nastavite Wireshark tak, aby sledoval provoz urceny pro provoz na portu 6667, uvidite datovou komunikaci protokolu IRC, ktera vypada podobn£ jako na nasledujicim pnkladu: Local client to IRC server Port 6667: USER username localsystem.example.com irc.example.net :gaim Remote IRC server to local client: NOTICE AUTH :*** Looking up your hostname... Local client to IRC server
82 Kapitola 2: Predstavujeme Wireshark: analyzator sit’ovych protokolO port 6667: NICK clever-nick-name Remote IRC server to local client: NOTICE AUTH :*** Checking identNOTICE AUTH :*** Found your hostname Pokud viditepodobny typ dat, muzete si byt jisti, ze na vasi siti nekdo pouziva klienta protokolu IRC. Radeji zjistete, ktery uzivatel to je. Wireshark jako sifovy system pro detekci prGniku (NIDS) Prestoze existuji specializovane open-source nastroje pro sitbve systemy detekce pruniku (N1 DS) jako Snort od Sourceire (www.snort.org), pokud nemate po ruce nic jineho nez Wireshark, muze vam pomoci i jako NIDS, protoze jeho funkce mimo jine zahrnuji i schopnost vyvolat nejakou akci na zaklade ruznych kriterii. Podivejme se na nektera pravidla, ktera bychom mohli ve Wiresharku pfipadne nastavit: ♦ Pripojeni к vnitrm databazi iniciovana jinymi systemy nez vase vlastni webove servery, ♦ Pokusy о odeslani e-mailu na externi e-mailove servery prostrednictvim portu 25 z jinych ser- veru nez vasich vlastnich. ♦ Pokusy о pouziti Vzdaleneho pripojeni к plose (RDC) zvnejsku vas: site nebo pouziti Wireshar - ku jako honeypotu, naslouchani pokusum о pripojeni z nepouzivane adresy IP. Wireshark jako detektor prenosu firemnich informaci Pokud vase firma oznacuje duverne ci firemni informace nejakym ustalenym zpusobem, neni duvod, proc byste nemohli pouzit Wireshark pro odhaleni prenosu techto informaci. Muzete pouzit Wireshark tak, aby zachytaval veskerou odchozi komunikaci pomoci vetveni portu, a pote pouzit funkci Find packet. Avsak tato moznost pfedstavuje obrovske mnozstvi dat, ktera se budou muset prohledavat. Abyste toto mnozstvi zredukovali na prijatelnou miru, pouzijte filtry pro zachytavani. Tyto by mely byt nastaveny tak, aby vyloudily z prohledavani datovy provoz, u ktereho nepfedpokladate, ze by obsahoval duverna data (napf. dotazy DNS). Zabezpeceni Wiresharku Ackoliv je Wireshark povazovan za nastroj pro zabezpeceni, ani on sam neni zcela bez obcasnych bez- pecnostnich chyb. Podle stranek www.Securityfocus.com bylo mezi lety 2002 a 2006 uverejneno 44 clanku о jednotlivych chybach Etherealu a Wiresharku. Vetsina z techto chyb byla obsazena v deko- derech velmi specifickych nebo zfidka pouzivanych protokolu. I tak byste vsak meli vedet nekolik veci о tom, jak minimalizovat rizika zpiisobena pfipadnymi chybami v aplikaci Wireshark. Prvnim pfedpokladem pro bezpecnejsi beh Wiresharku je instalace aktualizaci programoveho vyba- veni pocitace a operacniho systemu. Aktualizace Wiresharku bezne vychazeji po nekolika mesicich a mnoho lidi pouziva binarni instaladni baliky, ktere se snadno aktualizuji. Dalsim krokem na ceste к bezpecnejsimu Wiresharku je oddeleni procesu zachytavani od procesu analyzy dat, pficemz oba z nich budou provozovany s mnozinou nejnizsich opravneni na operacnim systemu, ktera pro dany ukon postacujt. Vetsinou knihovny aplikaci pro zachytavani dat pro svuj beh vyzaduji prava mistni- ho administratora v operacnim systemu Windows nebo uzivatele root v Unixovych systemech. Pro-
Optimalizace Wiresharku 83 toze vetsina problemu, ktere se v minulosti ve Wiresharku vyskytly, pramenila z rGznych dekode- pokud budete spoustet konzolu pro analyzu dat pod ne-admimstrativnim uctem, muzete takto snizit riziko vyskytu bezpecnostnich problemu, jez by degradovaly va§e usili investovane do analyzy dat. Take muzete pouzit tshark nebo dumpcap (oba jsou soucasti baliku Wireshark) к zachytavani datove komunikace do souboru a pozdeji pouzit Wireshark pod neprivilegovanym uctem к analy- ze vysledku. Optimalizace Wiresharku Optimalizace systemu, na kterem provozujete vas sniffer, bude dlouhou cestou к urychleni behu Wiresharku nebo jakekoliv jine aplikace pro zachytavani dat. Ovladace sit’ove karty i Wireshark odvedou vyborne svou praci pro zachycem veskerych dat, ktera jimi projdou, ale abyste meli jisto- tu. ze vidite komplexnf obraz vasi site, meli byste take zvazit nektere pfipadne problemy vztahujici se к systemu. Rychlost si'toveho pripojeni Wireshark nemuze zachytavat pakety rychleji, nez dovoluje rychlost nejpomalejsiho bodu mezi vami a systemem, jehoz data zachytavate. Zvlastni pozornost by mela byt venovana tomu, aby Wireshark nebyl umisten na nejpomalejsim sitovem pripojeni, pokud je sif vice vytizena (napf. kdyz zachytavate data ze spojeni mezi dvema pocitaci, ktere si vymSnuji data rychlosti 75mbps, a vy pouzijete vetveni portu rychlosti lOmbps, muze to zpGsobit, ze nebudete schopnf zachytit vsechna sitova data). Minimalizace prislusenstvi Wiresharku Wireshark je efektivni aplikaci pro zachytavani paketu, a to nejen diky sve cene. Ma dobrou schopnost efektivne zachytavat data, nektere z jeho pokrocilejsich voleb vsak mohou jeho cinnost zpomalit. V dialogovem okne Capture Options (Moznosti zachytavani) mohou zpomaleni cinnosti zpusobit zejmena nasledujici volby: Update list packets in real-time (Obnovovat seznam paketu v realnem case), Automatic scrolling in live capture (Automaticky posun pfi zachytavani I a jakakoliv z voleb v sekci Name resolution (Pfeklad nazvu). Volba Enable network name resolution (Povolit pfeklad nazvu v siti) muze znatelne zpomalit proces zachytavani dat na vytizene siti, protoze pro kazdy zdroj i ci> bude proveden pfeklad pomoci systemu DNS. Pokud Ante, jaky typ paketu hledate, muze pouziti filtru pro zachytavani praci znacne urychlit. (Tip: kdyz oddelite funkce Wiresharku pro zachytavani od funkci pro analyzu, budete moci zachytavat vetsi mnozstvi dat.) Pouzijte tcpdump, tshark nebo jiny nastroj specificky pro vas operacni system к zachytavani dat do souboru. Pote co nahromadite potfebne mnozstvi dat, otevrete tato data ve Wiresharku. Procesor Pro beh Wiresharku neni vykonny pocitac nezbytne nutny, nicmene ukoly jako vyhledavani fetezcu ve velkem mnozstvi zachycenych paketu budou rychlejsi s pouzitim rychlejsiho procesoru. Wireshark je neustale optimalizovan pro vyssi vykon, ale nezpocbybnitelnym faktem zustava skutecnost, ze rychlejsi procesor dokaze zpracovat vice operaci za vterinu, coz snizuje mnozstvi casu straveneho cekannn na 2pracovam paketu nebo potfebneho к nalezeni urcitych cast! textu v zachycenych paketech.
84 Kapitola 2: Predstavujeme Wireshark: analyzator sitovych protokolu Pa met' Nejefektivnejsim zpusobem, jak urychht beh Wiresharku, je pfidat mu vice pameti RAM. Tato kom- ponenta nabyva na vyznamu s tim, jak roste velikost souboru se zachycenymi daty, s kterymi pracu- jete. Jako vsechny aplikace, i Wireshark potrebuje urcite mnozstvi pameti, kde muze podrzet zpraco- vavana data. Kdyz operacni system nema dostatek pameti к udrzeni aplikace, zacne docasne ukladat data z pameti do strankovaciho souboru (swap nebo tez page file) umisteneho na pevnem disku Neustaly pfesun dat z pameti RAM do strankovaciho souboru sainozfejme nejaky cas trva. Dojdedi к tomu, ze Wireshark nema к dispozici dostatek fyzicke pameti, swapovani (prace s virtualni pame- ti) zpomali cely system i dalsi aplikace. Pokrocile techniky zachytavani dat Existuji urcite alternativy к pouzivani Wiresharku v podobe vetveni portu nebo pouzivani kabelo- vych odbocek. Nanestesti tyto techniky mohou byt zneuzity utocniky к zachytavani hesel a jinych dat z vasi site. Dsniff Dsniff je nastrojem Duga Songa urcenym pro zachytavani dat. Dsniff a mnoho podobnych jsou dostupne na strance www.monkey.org/~dugsong/dsniff. Dsniff je asi nejznamejsi svou schopnosti zachytavat komunikaci overovaciho procesu (jako uzivatelska jmena a hesla) a celkove propracova- nym zachytavanim dat. Aktualm verze Dsniffu dokaze dekodovat pfihlasovaci informace nasledu- jicich protokolu: ♦ America Online (AOL) Instant Messenger . IM) (Citrix Wireframe) ♦ CVS ♦ File Transfer Protocol (FTP) ♦ HTTP ♦ I seek You (ICQ) ♦ IMAP ♦ IRC ♦ Lightweight Directory Access Protocol >LDAP ♦ Remote Procedure Call (RPC) mount requests ♦ Napster ♦ Network News Transfer Protocol (NNTP) ♦ Oracle SQL*Net ♦ Open Shortest Path First (OSPF) ♦ PC Anywhere ♦ Post Oftice Protocol (POP) ♦ PostgreSQL ♦ Routing Information Protocol (RIP) ♦ Remote Login (rlogin) ♦ Windows NT plaintext Server Message Block (SMB)
pokrocile techniky zachytavani dat 85 Ф Network Associates Sniffer Pro (remote) Ф Simple Network Management Protocol (SNMP) Ф Socks Ф Telnet ♦ XU ♦ RPC yppasswd Vzhledem к nasazeni pfepinanych siti a sifrovany ch protokolu neni zachytavani hesel vzdy tak efek- tivni, jak bychom si pfali. Balik Dsniff obsahuje nekolik nastroju pro pfesmerovani provozu a utoky typu MITM (man-in-the-middle, tedy situace, kdy je utodnik pfipojen к bodu site nachazejicimu se mezi dvema komunikujicimi systemy), ktere se daii pouzit jednak pro pfesmerovani datove komu- nikace a take pro desifrovani relaci. Prvnim nastrojem je arpspoof I puvodne byl znam pod nazvem arpredirect), ktery je pouzivan hosti- telskymi systemy к nalezeni adresy MAC mistniho smerovace. Podvrzenim paketu protokolu ARP Ize pfesvedcit sousedici pocitace, ze pocitac, ktery pouzivate, je smerovacem. Pro vas to vsak zna- mena, ze takto ziskane pakety musite preposilat legitimnimu smerovaci. Nicmene v mezicase, ktery uplyne mezi obdrzenim ,,ukradeneho“ paketu a jeho preposlanim legitimnimu smerovadi, ma Dsniff sanci dany paket zpracovat. Tento zpusob dobre funguje na mistmch sitich s pfepinacem a take na sitich, ktere pouzivaji kabelovy modem. Nicmene tento zpusob neni zcela dokonaly. V podstate se snazite dalsim pocitacum na siti vnutit informaci о mistni adrese MAC. Dusledkem teto akce je, ze datovy tok prochazejici vasim pocitacem muze byt obcas narusen. Tato technika muze byt snadno odhalena sifovym systemem pro detekci pruniku (NIDS). Napfiklad program Sniffer Pro obsahuje expertni diagnosticky mod, ktery oznadi podezrela data pfiznakem „duplicitni adresa IP' (napf. kdyz je na siti vice pocitacu, ktere tvrdi, ze jejich adresa IP je adresou smerovace). Utilita dnsspoof pfesmerovava datovy provoz falsovanim odpovedi mistniho serveru systemu DNS. Kdyz v prohlizeci otevfete webovou stranku, napfiklad www.example.com, vas pocitac posle mistni- mu serveru DNS zadost о pfeklad hostitelskeho nazvu na adresu IP. Tento pfeklad vetsinou chvilku trva, cehoz vyuziva prave nastroj dnsspoof, ktery zasle odpoved’drive, nez by byla zaslana z legitim- niho serveru DNS. Obet’ tohoto typu utoku pfijme informaci, ktera dorazila jako prvni, a vsechny dal§f jiz bude ignorovat. Podvrzena odpoved na dotaz DNS obsahuje jinou adresu IP, nez je ta, ktera by byla soucasti odpovedi z legitimniho serveru. Vetsinou je podvrzena adresa adresou IP utocnikova pocitace, pficemz utocnik pravdepodobne na svem pocitaci pouziva nektery z dalsich nastroju pro utok typu MITM z baliku Dsniff. Nazev utoku MITM ma sve kofeny v kryptografii a popisuje situ- aci, kdy nekdo zachyti komunikaci probihajici mezi dvema subjekty, pozmeni informace obsazene v teto komunikaci a pfeposle je pfijemci. Nastroje bahku Dsniff, ktere muzete pro utoky MI IM pouzit, jsou webmitm pro provoz protokolu HTTP (vcetne protokolu Secure Sockets Layer - SSL) a sshtnitm (pro protokol Secure Shell - SSH). Protokoly SSH a SSL jsou povazovany za bezpecne sif- rovane protokoly, u kterych nelze zachytavani dat efektivne pouzit. Nastroje MITM vsak pracuji inn zpusobem, ze klientum ucastnicim se komunikace prostfednictvim protokolu SSH/SSI vnuti svuj vlastni sifrovaci kllc. Takto je mozne desifrovat datovy provoz, zachytit hesla a pote kompromitova- na data opet zasifrovat s pouzitim originalniho Sifrovaciho klice legitimniho serveru. Teoreticky se Proti tomuto typu iitoku muzete chranit kontrolovanim platnosti certifikatu serveru, ale prakticky tuto kontrolu v podstate nikdo neprovadi. Dsniff je schopen zachytavat hesla a jakykoliv jiny datovy Provoz v podobe prosteho textu.
86 Kapitola 2: Predstavujeme Wireshark: analyzator sitovych protokolu Utilita mailsnarf slouzi к zachytavani e-mailove komunikace (podobnejako system sitovych odpo- slechu Carnivore americke FBI), kterou po zachyceni rekonstruuje do formatu nibox citelneho vet- sinou aplikaci ucenych pro praci s elektronickou postou. Pro zachytavani komunikace klientu ICQ, IRC, Yahoo!, Messenger a AOL IM slouzi nastroi msg- snarf. Filesnarf disponuje schopnosti zachytavat data souboru pfenaSenych pomoci systemu Network File System (NFS). Urlsnarf umi zachytavat adresy Uniform Resource Locator (URL) putujici siti. Nastroj webspy dokaze v realnem case posilat takto zachycene adresy URL do weboveho prohl ize- ce Netscape, cimz umoznuje utocnikovi sledovat, co dela jeho obef v prohh'zeci a jake stranky prave prohl izi. Utilita macof je urcena к posilani enormniho mnozstvi adres MAC, coz je jeden ze zpusobu, jak napadnout ethernetovy pfepinac. Vetsina pfepina^u disponuje pouze omezenou velikosti tabulky pro uchovavani adres MAC, kterych muzou uchovat ,,jen“ 4000. Kdyz je pfepinac zahlcen, muze se pfepnout do stavu fail open (odemceni pfi chybovem stavu - pozn. pfekl.) a zacne vysilat vsechny pakety na vsechny porty, cimz de facto umozni utocnikovi zachytavani dat. Program tcpkill se pouziva к nasilnemu ukonceni relaci TCP a muze byt pouzit jako utok typu ode- preni sluzby (DoS). Muzete jej napfiklad nastavit tak, aby ukoncil kazdy pokus vaseho souseda о pfi- pojeni. Tcpkill muze byt take integrovan do systemu pro detekci pruniku tak, aby odpojil relace pfi- padneho hackera. Utilita tcpnice je velmi podobna nastroji tcpkill, avsak s tim rozdilem, ze misto ukonceni relace ji pouze zpomali (prikladem budiz situace, kdy zfalsujete zdrojovou adresu paketu protokolu Internet Control Message Protocol [ICMP] tak, aby predstavovala adresu IP sir^rovace vaseho souseda, diky cemuz se vam dostane vyssi kapacity pfenosoveho pasma na ukor kapacity sousedovy linky). Ettercap Program Ettercap ma podobne vlastnosti jako dsniff. Ma mnoho spolecnych funkci (napf. schop- nost utoku MITM proti protokoliim SSH a SSL a zachytavani hesel). Navic ma vsak dal§i funkce pro provadeni utoku MITM proti beznym relacim protokolu TCP, jako je vkladani pfikazu do datove- ho proudu. Ettercap byl vytvofen Albertem Ornaghim a Marcem Vallerim. Stahnout jej muzete na adrese http://ettercap.sourceforge. net. Utoky MITM Nejucinnejsi obranou proti zachytavani dat je pouzivani sifrovanych protokolu, jakymi jsou SSL a SSH. Avsak posledni verze baliku dsniff a Ettercap obsahuji nastroje pro obelsteni sifrovani, zname jako utoky MITM. Stejna technika muze byt pouzita na Sifrovany protokol, kdyz si utocnik nainstaluje server, ktery bude odpovidat na pozadavky klientu. Napfiklad server bude odpovidat pozadavkum na pfipojeni к serveru na https://www.amazon.com. Uzivatel pfipojuiici se к tomuto serveru se bude domnivat, ze navazal sifrovane spojeni s webovym serverem Amazon.com. V tentyz okamzik navaze dtocnik spojeni se skutecnym serverem Amazon.com a pfedstira, ze je uzivatelem. V tomto pfipa- de hraje utocnik obe dve role, pficemz desilruje data pfichazejici od uzivatele a znovu je Sifruje pro
pokrocile techniky zachytavani' dat 87 pfenos к puvodnunu prijemci. Teoreticky sifrovaci protokoly disponuji obranou proti tomuto typu utoku. Server, ktery se vydava za Example.com, musi nejak dokazat, ze je skutecne serverem Exam- ple.com. Avsak ve skutecnosti vetsina uzivatelu tento mechanismus ignoruje. Ctoky typu MITM se v prax ukazaly jako velice efektivni zpusob napadeni. Cracking Nastroje jako dsniff a Ettercap zachytavaji hesla v nesifrovane i Sifravane podobe. Teoreticky zachy- tavani sifrovanych hesel postrada smysl. Avsak uzivatele nekdy voh tzv. slaba hesla i napf. slova, ktera najdete ve slovniku) a utocnikovi zabere jen nekolik vtefin, aby prosel slovnik о 100 000 vyrazech a porovnal zasil rovanou podobu kazdeho vyrazu se zachycenym zasifrovanym heslem. Pokud je nalezena shoda, utocnik zjistil puvodni heslo. Existuji nastroje pro prolamovani hesel a jak dsniff, tak Ettercap umi ukladat vystup se zachycenymi hesly do souboru v takovem formatu, ktery je temto prolamovacim nastrojum srozumitelny. Triky s prepi'nacem Mnoho hdi se domniva, ze kdyz pouzivaji na siti prepinac, je pro pripadneho utocnika nemozne zachytit jakekoliv informace. Nasledujici sekce pojednava о metodach zachytavani dat na pfepina- nych sitich. Falsovani zprav protokolu ARP (ARP Spoofing) Pfi pokusu о zachytavani dat na pfepinane siti narazite na zavazny problem: Pfepinac bude omezo- vat datovy provoz prochazejici vasim sifovym segmentem. Pfepinac si udrzuje vnitfni seznam adres MAC vsech pocitacu, jejichz pfipojem na dany port bylo v minulosli zaregistrovano. Datovy provoz je tak zasilan na konkretm port pouze v pfipade, ze cilovy pocitac je na danem portu pfipojen. Na mnoha operacnich systemech je mozne pfepsat obsah pameti ARP takovym zpusobem, aby adresa MAC vaseho pocitace byla spojena s adresou IP vychozi brany. Diky tomu bude veskery datovy pro- voz urceny cilovemu hostiteli pfenasen na vas pocitac. Urcite byste meli rucne pfidat zaznam s adre- sou skutecne vychozi bi any do tabulky ARP vaseho pocitace, aby mohl byt datovy tok dale posilan funkcni vychozi brane, a take byste meli mit zapnutou funkci pfeposilani paketu protokolu IP (IP forwarding). Mnoho siti zalozenych na kabelovem modemu je nachylnych к tomuto typu utoku, pro- toze sit’s kabelovym modemem je v podstate ethernetova sit s kabelovym modemem v roli sitove- ho mostu. Strucne feceno, na tento typ utoku neexistuje pfimefena obrana. Kabelove modemy nove generace pouzivaji jine mechanismy pro pfipojeni uzivatele к siti. Snifter Dsniff (vyvinuty Dugem Songem) obsahuje ptesne pro tento ucel i aplikaci s nazvem arpspoof (puvodne arpredirect). Arpspoot presmerovava pakety od ciloveho pocitace (nebo vsech pocitacu) na mistnim segmentu site tim, ze falsuje odpovedi protokolu ARP. Tento zpusob zachytavani dat je mimofadne efektivni. Zahlcovani tabulky s adresami MAC (MAC Flooding) Aby byl pfepinac schopen plnit svuj ucel, potfebuje si udrzovat v pameti tabulku adres MAC (Ether- netovych adres) pocitacu pfipojenych na jeho porty. Pokud se na jednom portu objevi velky pocet adres a zaplni takto kapacitu tabulky adres, prepinac ztrati informaci о tom, na kterem portu je pri- Pojena adresa MAC pocitace obeti. Jedna se о stejnou situaci, jako kdyz je poprve do site pfipojen novy pocitac a pfepinac se musi nejprve naucit, kde tato adresa je. Dokud pfepinac nezna informa-
88 Kapitola 2: Predstavujeme Wireshark: analyzator sitbvych protokolu ci о portu, na kterem je dany poditac pfipojen, musi rozesilat kopie ramcu urcenych pro konkretni adresu MAC na vsechny sve porty. Tato technika se nazyva zahlcovdni (flooding). Bali к Dsniff obsahuje program s nazvem macof, ktery dokaze zahltit pfepinad nahodne generovanymi adresami MAC. Macof zahlcuje mistni sit nahodnymi adresami MAC, cimz donuti nektere pfepina- ce, aby se pfepnuly do odemceneho modu kvuli chybovemu stavu. Autorem konverze z puvodniho Perl Net::RawIP macof do jazyka C je Ian Vitek <ian.vitek@infosec.se>. Hrajeme si se smerovamm Jednim ze zpQsobG, jak zajistit smerovani datove komunikace tak, aby prochazela vasim po&tacem, je zmena smerovaci tabulky na hostiteli, jehoz komunikaci chcete sledovat. Toho muze byt dosazeno zasilanim podvrzenych oznamovacich zprav smerovace protokolem RTP, kde bude obsazena infor- inace, ze vas pocitac je vychozi branou. Pokud se tento zamer podafi realizovat, veskery datovy pro- voz bude prochazet pres va§ poditad. Ujistete se, ze mate povoleno pfeposilani paketu protokolu IP (IP forwarding), aby zachycena odchozi data mohla byt posilana dale na legitnnni vychozi branu. Pokud jste nezmenili smerovaci tabulku na vychozi brane tak, aby veskera prichozi data byla sme- rovana na vas pocitac, nebudete schopni tato data zachytavat. Ochrana site proti zachytavani dat V tomto bode mozna zvazujete preventivni odpojeni cele site, protoze nechcete dopustit, aby sniffer jako Wireshark (nebo iina podobne zlocinna aplikace) byl pouzit proti vam. Jeste s temi stipacnni klestemi chvili vydrzte: jsou i jine zpusoby, jak zabezpecit sit’ proti odposlechu, ktere navic nezhor- si 1 unkcnost vast site. Pouziti sifrovani Nastesti pro bezpecnost site existuje sifrovani, ktere pokud je pouzito spravnym zpusobem, pusobi jako silny stit, ktery cini vSechny snahy о zachytavani dat zbytecnymi. Pouziti sifrovani (za predpo- kladu, ze jeho inechanismus je spravny) postavi znacnou pfekazku do cesty utodnikovi, jenz se snazi pasivne monitorovat provoz na vasi siti. Mnoho existujicich sitbvych protokolu ma svuj protejsek, ktery spoleha na silne sifrovani anebo vseza- hrnujici mechanismus (napf. IPSec a OpenVPN), jenz sifrovani poskytuje vsem protokolum. Bohuzel IPSec neni v prostfedi Internetu vyuzivan zrovna masove, zejmena mimo velke firemni site. SSH Protokol SSH je kryptograficky bezpecnou nahradou standardni implementace protokolu Telnet na unixovych systemech, konkretne pfikazu rlogin, Remote Shell (RSH) a Remote Copy Protocol (RCP). Komunikace prostfednictvim protokolu SSH zahrnuje klientsky system a server, ktery pouziva sif- rovani pomoci vefejneho klice к zajisteni sifrovane komunikace. Navic poskytuje moznost forwar- dovani libovolnych portu protokolu TCP prostrednictvim sifrovaneho spojeni, iez se hodi zejmena pro forwardovani XI1 Windows a dalsich spojeni. Protokolu SSH se dostalo sirokeho uplatneni jako? to bezpecnostnnnu mechanismu pro vzdaleny interak- tivni pfistup к systemu. Byl koncipovan a vyvinut tinskym vyvojafem Tatu Ylonenem. Puvodni verze SSH
Nasazeni detekcm'ch metod 89 byla casern transformovana v komercni produkt, a i kdyz je puvodni verze stale dostupna zdarma, licen- ce pro jeji pouziti se stala ponekud prisnejsi. Byly uvefejneny specifikace tohoto protokolu, diky cemuz vzniklo vice ruznych verzi klientskych a serverovych aplikaci kompatibilnich s SSH, ktere nejsou natolik omezeny licenci (asi nejvice patrne je odstraneni licencnich ujednani, ktera omezuji komercni pouziti). Volne dostupna verze programu kompatibilmho s SSH (OpenSSH) vyvinuta v ramci projektu OpenBSD OS je dostupna ke stazeni na adrese www.openssh.com. Nove komercni SSH je mozno zakoupit od firmy SSH Communications Security (www.ssh.com), ktera uvolnila komercni verzi pro renomovane univerzity zdarma. Operacni system Mac OS X jiz obsahuje vestavene aplikace pro provoz SSH. Zdarma dostupnou alternativou komercnich produktu SSH je take aplikace PuTTy pro operacni system Windows. Pfestoze byl puvodne vyvinut pro protokoly pouzivajici prosty text, jako je Telnet, stal se mezi administratory rychle velmi popularnim. Muzete jej stahnout na adrese www.chiark.greenend.org.uk/~sgtatham/putty. SSL Protokol SSL poskytuje sluzby pro ovefovam a sifrovani a muze byt pouzit take pro tvorbu virtualnich pr ivat- nich siti (VPN). Z hlediska zachytavani dat je protokol SSL zranitelny zejmena utoky typu MJTM. Utocnik muze nainstalovat transparentni server proxy mezi vami a webovym serverem. Tento server proxy muze byt nakonfigurovan tak, aby desifroval relace protokolu SSL, zachytil data a opet je zasil roval. Pokud к tomuto dojde, uzivateli je zobrazena vyzva s informaci, ze certifikat SSL nebyl vystaven duveryhodnou autoritou. Problemem je opet fakt, ze vetsina uzivatelu toto varovam ignoruje a pokracuji v komunikaci. Pretty Good Privacy a Secure/Multipurpose Internet Mail Extensions Pretty Good Privacy (PGP) a Secure/Multipurpose Internet Mail Extensions (S/MIME) jsou stan- dardmmi protokoly pro sifrovani zprav elektronicke posty. Pokud jsou spravne pouzity, zabranuji zachytavani e-mailovych dat programy, jako je dsni if nebo Carnivore, a take interpretaci techto zprav. Jak odesilatel, tak pfijemce musi pouzivat specialni aplikaci, ktera umoznuje sifrovani i desifrovani zprav. Ve Spojenych statech FBI vyvinula aplikaci typu trojsky kun s nazvem „Magic Lantern*, ktera umi /aznamenavat stisknute klavesy. Tento zaznam se pozdeji pouzije к pokusu о ziskani hesla. Kdyz FBI takto ziska heslo, muze konecne desifrovat e-mailovou zpravu. Ve Velke Britanii jsou uzivatele povinni dat statnim organiim na vyzadani sve sifrovaci klice. Prepinani Sifove prepinace cini sledovani site pro litocniky obtiznejsi, ale ne pn'lis. Pfepinace jsou nekdy dopo- rucovany jako feseni problemu se zachytavanitn dat. Avsak jejich skutecny ucel je zlepseni vykonu site, nikoliv poskytovani zabezpeceni. Jak bylo vysvetleno v kapitole „Pokrocile techniky zachytava- ni dat“, kazdy utocnik s temi spravnymi nastroji muze monitorovat data i na pfepinane siti, pokud je pfipojen na stejnem segmentu site nebo pfepmaci jako cilovy pocitac. Nasazeni detekcm'ch metod Ale co kdyz z nejakeho duvodu na vasi siti nemuzete pouzit sifrovani? (*o budete delat? V tomto pfi- Pade se budete muset spolehnout na odhalovani vsech sifovych karet, ktere mohou operovat tako- vyrn zpusobem, jenz by jim umoznil zachytavani dat.
90 Kapitola 2: Predstavujeme Wireshark: analyzator sitovych protokolu Mistni detekce Mnoho operacmch systemu poskytuje mechanismus pro zjistbvani, zda sitbva karta pracuje v pro- miskuitmm modu. Tato skutecnost je vetsinou vyjadiena stavem pfiznaku, ktery je spojen s kazdym sitbvym rozhramin a je udrzovan jadrem operacniho systemu. Tuto informaci muzeme na unixo- vych systemech ziskat pomoci pfikazu ifconi tg. Nasledujici priklad ukazuje sit’ove rozhram operacniho systemu Linux, ktere neni nastaveno na pro- miskuitni mod: ethO Link encap:Ethernet HWaddr 00:60:08:C5:93:6B inet addr:10.0.0.21 Bcast:10.0.0.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:1492448 errors:2779 dropped:0 overruns:2779 frame:2779 TX packets:1282868 errors:0 dropped:0 overruns:0 carrier:0 collisions:10575 txqueuelen:100 Interrupt:10 Base address:0x300 Vsimndte si, ze vlastnosti tohoto rozhrani nezminuji nic о promiskuitnim modu. Kdyz rozhrani do promiskuilniho modu pfepneme (jak je ukazano na dalsim vypisu), objevi se v sekci atributu klico- ve slovo PROMISC: ethO Link encap:Ethernet HWaddr 00:60:08:C5:93:6B inet addr:10.0.0.21 Bcast:10.0.0.255 Mask:255.255.255.0 UP BROADCAST RUNNING PROMISC MULTICAST MTU:1500 Metric:l RX packets:1492330 errors:2779 dropped:0 overruns:2779 frame:2779 TX packets:1282769 errors:0 dropped:0 overruns:0 carrier:0 col 1 isions:10575 txqueuelen:100 Interrupt:10 Base address:0x300 Je dulezite se zminit о tom, ze pokud utocnik kompromitoval zabezpecem systemu, na kterem spoustite pfikaz ifconfig, muze snadno ovlivnit vystup tohoto prikazu. Dulezitou soucasti utocni kovy sady nastroju je nahrada za pfikaz ifconfig, ktera nehlasi rozhrani nastavene pro praci v pro- miskuitnim modu. Sitova detekce Je mnoho metod ruzne pfesnosti slouzicich ke zjisteni, zda pocitac sleduje veskery sit’ovy provoz. Ale neexistuje zadna zarucena metoda, jak zjistit pfitomnost snifferu. Dotazy DNS Vetsina programfi vytvorenych za ucelem sledovani sit’oveho provozu provadi dotazy zpetneho vyhledavani v DNS, kdyz produkuji vystup, ktery se sklada ze zdrojoveho a ciloveho poc.tace podi- lejicich se na sitbvem pfipojeni. Pn procesu provadeni vyhledavani v DNS je generovan dalsi sifovy provoz. Zejmena se na nem podileji dotazy DNS vyhledavajici sit’ove adresy. Je mozne sledovat sit’ a vyhledavat pocitace, ktere vykonavaji velky pocet dotazu DNS (a temef zadny jiny datovy provoz negeneruji). Avsak tento jev se muze objevit i nahodne a nemusi vest nutne к odhaleni pocitace se snifferem. Jednodussi cesta, ktera vyiisti ve IGO1*.» pfesnost, spociva v navazam falesneho sit’oveho pfipojeni na adresu pocitade, ktery nevykonava zadnou praci na lokalm siti. Pote muzete sledovat sif na dota/y DNS, ktere se pokouseji pfelozit zfalsovanou adresu a ktere timto prozradi pocitac zachytavajici data.
Nasazenf detekcnich metod 91 Latence Pruhou metodou, jak odhalit na siti pocitac, ktery monitoruje sifovy provoz, je kontrola zmen laten- ce v odezve hostitelii na siti (napf. ping). I kdyz je tato technika nachylna к mnozstvi chyb (napf. kdyz je odezva hostitele ovlivnena beznym provozem), muze pomoci ke zjisteni, zda nejaky pocitac zachytava sitova data. Idealnim zpusobem pouziti je nejprve zmefit dobu odezvy podezfeleho poci- tace a zaznamenat namefene hodnoty. V dalsim kroku potom vygenerujte velky objem dat specialne upravenych tak, aby byly pro pocitac zachytavajici ovefovaci udaje zajimave. Nakonec opet zmefte dobu odezvy’ podezfeleho pocitace a porovnejte ji s hodnotou namefenou na zacatku. Pokud je zde znacny rozdil, pravdepodobne jste identifikovali pocitac se spustenym snifferem. Chyby v ovladaci Nekdy к detekci sit’ove karty pracujici v promiskuitnim modu mohou pomoci i chyby v ovlada- ci sit’ove karty pro dany operacni system. V jednom pfipade spolecnost CORE-SDI (argentinska firma zabyvajici se vyzkumein v oblasti zabezpeceni) odhalila chybu v beznem linuxovetn ovla- daci pro ethernetova zarizeni. Zjistili, ze kdyz pocitac s timto ovladacem pracuje v promiskuitnim modu, operacni system neni schopen spravne provest kontrolu ethernetove adresy, aby se ujistil, ze paket byl poslan na jedno z jeho rozhrani. Misto toho kontrola probehla az na urovni protokolu IP a paket byl pfijat, pokud byl adresovan na jedno z hostitelskych rozhrani. Za normalnich okolnos- ti jsou pakety; ktere neodpovidaji ethernetove adrese hostitele, zahazovany na hardwarove urovni. Avsak v promiskuitnim modu se tomu nedeje. Muzete odhalit pocitac pracujici v promiskuitnim modu tnn, ze mu zaSlete paket protokolu ICMP (ping) s platnou adresou IP a neplatnou etherne- tovou adresou, Pokud pocitac na zadost protokolu ICMP odpovi, je zfejme, ze jeho sifova karta je nastavena na promiskuitni mod. NetMon Program NetMon, dostupny pro operacni system Windows NT, ma schopnost sledovat, kdo aktivne provozuje dalsi instance teto aplikace na siti. Take udrzuje infortnace о tom, kdo nainstaloval Net- Mon na ktery system. Je schopen odhalit pouze dalsi kopie programu NetMon, takze pokud utocnik pouziva nejaky jiny sniffer, je nutne pouzit nekterou z vyse uvedenych metod detekce. Vetsina sit’o- vych systemu pro detekci pruniku je schopna odhalit bezici instance programu NetMon.
92 Kapitola 2: Predstavujeme Wireshark: analyzator sitovych protokolu Shrnuti V teto kapitole jste ziskali pfehled о Wiresharku a jeho podpurnych programech. Hovoiili jsme о minulosti Wiresharku, jeho kompatibilite s dalsimi sniffery a podporovanymi protokoly. Grafic- kym uzivatelskym rozhranim Wiresharku a moznostmi tiltrovani jsme se zatim zabyvali jen struc- ne, protoze tyto oblasti budou probrany podrobneji v dalsich kapitolach. Take jsme upozornili na programy, ktere jsou dodavany к Wiresharku, a na jejich rozsifujici funkce pro manipulaci se sou- bory zachycenych dat. Prozkoumali jsme nekolik scenafu pouzivani Wiresharku v architektufe vasi site. Urcite venujte cas diikladnemu seznameni se s vast siti a zpusobem zapojeni. Znalost segmentace site vam umozni nasadit Wireshark na miste vhodnem pro zachytavani dat, ktera potfebujete. Take jsme prozkoumali siroke spektrum roll, ve kterych muze byt Wireshark pouzit sitovymi admi- nistratory a administratory zabezpeceni. Wireshark muze byt take pouzit dalsimi osobarm, ne vzdy s dobrymi limysly. Zminili jsme tema zabezpeceni a optimalizace Wiresharku pro jeho efektivni nasa- zeni v pracovnim procesu. Pfestoze je Wireshark jako aplikace robustni a stabilm, existuie nekolik iednoduchym ukonu, ktere vam pomohou vylepsit jeho vykon. Nakonec jsme se podivali na pfiklady metodologie feseni problemu se siti. Je vhodne tuto metodo- logii pouzivat pfi feseni vsech typu sitovych problemu. Je nutne opakovane zdnraznit, ze poznani vast site a protokolu, ktere zde pracuji, je zakladniin pfedpokladem pro uspesne feseni problemu v budoucnosti. Rychla feseni Co je Wireshark? ♦ Wireshark je volne dostupny sit’ovy analyzator s mnozstvim funkci, ktery je schopen uspesne konkurovat komercnim produktum. ♦ Wireshark umi dekodovat vice nez 750 protokolu. ♦ Wireshark je kompatibilni s vice nez 25 dalsimi sniffery a nastroji pro zachytavani dat. ♦ Pro trideni datove komunikace Ize pouzit zobrazovaci filtry nebo filtry pro zachytavani. ♦ E-mailove konference jsou skvelym zdrojem informaci a podpory. ♦ Wireshark je sifen zdarma a je mozne jej volne modifikovat. Podpurne programy Wireshark je instalovan spolecne s podpurnymi programy (napf. tshark). Editcap Mergecap ♦ A text2pcap ♦ Tshark je obdobou aplikace Wireshark ovladanou z pfikazove fadky. ♦ Editcap se pouziva pro odstranovani paketu ze souboru a pro pfeklad formatu souboru se zachy- cenymi daty. ♦ Mergecap slouzi ke spojovam nekolika souboru se zachycenymi daty.
Rychla reseni 93 Text2pcap konvertuje vypisy ASCII hexdump do vystupnich souboru ve formatu libpcap. pouzivani Wiresharku ve vasi sit’ove architekture > Spravne umisteni Wiresharku v architekture vasi site je zcela zasadni pro zachyceni potfebnych dat. 4 Pro pfipojeni Wiresharku к siti Ize pouzit kabelove odbocky, rozbocovace a pfepinace s vetve- nim portu. Ф Muzete si sestavit vlastni sadu nastroju pro feseni problemu, sestavajici z maleho rozbocovace, kabelove odbocky a prime ho i kfizeneho sitbveho kabelu. Ф Instalace Wiresharku na laptop usnadnuje praci v terenu. Reseni systemovych ргоЫётй a problemu se zabezpecem'm ♦ Dodrzovanim systematickeho procesu feseni problemu muzete vyrazne smzit mnozstvi casu potrebneho pro vyfeseni problemu. ♦ Identifikace a ovefovani pficiny problemu casto zahrnuje i prohledavani informacnich zdroju na Internetu nebo kontaktovani pracovniku technicke podpory pfislusneho vyrobce hardwaru a soitwaru. ♦ Nekdy vyfeseni jednoho problemu zpusobi problem jiny. ♦ Detailni zaznamy о postupech vedoucich к odstraneni problemu mohou byt pfi feseni proble- mu v budoucnosti velmi uzitecne. Zabezpeceni a optimalizace Wiresharku ♦ Zachytavejte pakety s pouzitim pfimeienych opravneni; zachycena data vsak analyzujte s pouzi- tim nejnizsich moznych opravneni. ♦ Kdyz se obievi chyba v zabezpeceni Wiresharku, nainstalujte pro tento produkt aktualizaci. ♦ LepSi doby odezvy aplikace pfi analyze velkeho mnozstvi paketu docilite pfidanim systemove pameti do pocitace. Pokrocile techniky zachytavani dat ♦ Techniky pro manipulaci s MAC a ARP mohou byt efektivne vyuzity pro zachytavani dat na pfe- pinane siti, a to beze zmen ve stavajici architektufe. ♦ Vtoky typu MITM mohou byt pouzity pro zachyceni datove komunikace. ♦ Existuji nastroje, ktere mohou zachytavat data a zaroven prolamovat zachycena hesla. Ochrana site proti zachytavani dat ♦ Pokud jsou dva pocitace navzajem ovefene, muze Sifrovane spojeni VPN typu host-to-host efek- tivne skryt pfenasena data pfed sniffery. V zavislosti na pouzitem zpiisobu mohou byt skryta i cisla portu a protokoly. ♦ Sifrovani dat na aplikacni urovni napfiklad prostfednictvim protokolu SSL chrani take data obsazena v paketech.
94 Kapitola 2: Predstavujeme Wireshark: analyzator si't’ovych protokolu ♦ Zachytavani dat na pfepinanych sitich je о песо obtiznejsi nez na sitich, ktere pouzivaji rozbo- covace. Nasazeni detekcm'ch metod ♦ Nastaveni promiskuitniho modu na sifovem rozhrani pocitace muze indikovat bezici sniffer. ♦ Nektere sniffery je mo/ne odhalit pomoci jejich vlivu na chovani site, jako je nadmerny vyskyt dotazu DNS, zvyseni doby odezvy, problemy s ovladaci i samotnymi aplikacemi. ♦ Zadny nastroj pro odhaleni snifferu neni sam о sobe dostatecne efektivni, pokud nema pod- poru v zasadach zabezpeceni, ktere obsahuji instrukce pro pfimefene techniky zachytavani dat v siti. Caste dotazy Nasledujici casto kladene otazky byly zodpovezeny autorem teto publikace a jsou zde umisteny proto, abyste mohli zhodnotit sve porozumeni danemu tematu, a take vam pomohou pfi uplatneni teore- tickych znalosti v podminkach realneho prostfedi. Otazka: V minulosti se uz mnoho open-source produktu stalo komercnimi. Co se stane, kdyz se tym vyvojafu kolem Wiresharku rozhodne nadale vyvijet Wireshark jako komercni produkt? Bude Wireshark i nadale dostupny zdarma? Odpoved: Wireshark byl vyvinut a uvolnen pod licenci GNU GPL; zdrojovy kod aplikace vyvinute pod licenci GPL bude vzdy dostupny zdarma. Otazka: Proc bych mel pouzivat prave Wireshark, kdyz je na trhu mnozstvi dalsich komercnich pro- duktu, ktere ma firma upfednostnuje? Odpoved: Wireshark vas samozfejme nenuti к tomu, abyste jej pouzivali. Kazdopadne neni nikdy na skodu mit jej к dispozici ve sve sade nastroju pro feseni problemu. Otazka: Myslim, ze jsem na sve siti nalezl vetfelce, a rad bych ochranil firemm data. Miize mi v tom- to Wireshark pomoci? Odpoved: Nejlepsi reakci na takovouto situaci je postup definovany planem reakce na bezpecnostni incidenty, ktery by vase firma mela mit vypracovan prave pro tyto pf ipady. Pokud jej nema, vezte, ze nejlepsi cas pro vypracovani takoveho planu je pfedtim, nez jej budete potfebovat. Otazka: Jak muzu vedet, ze verze Wiresharku, kterou jsem si stahl z Internetu, neobsahuje virus nebo nejaky jiny zakefny program? Odpoved: Dobrym zacatkem je rozhodne stahovani z nejakeho renomovaneho weboveho sidla. Ale at’ uz stahnete program odkudkoliv, zkontrolujte jeho pravost pomoci nastroju md5sum a shalsum, ktere spustite na stazenem souboru. Zkontrolujte hashe ziskane temito programy s hashi dostupny- mi v souboru SIGNATURE v adresafi Wiresharku. Meli byste take ovefit pravost samotnych hashii, a to tfeba pomoci nastroje GnuPG (www.gnupg.org).
Caste dotazy 95 Otazka: Jak mohu vytvofit pakety, ktere bych pak Wiresharkem zachytaval? Odpoved: Napfiklad s pouzitim utility ping nebo tim, ze navstivite nejakou webovou stranku. Pokud chcete videt specificky druh datoveho provozu, bude nejlepsi, kdyz si vytvofite prostfedi, ve kte- rem к takovemu druhu provozu pravdepodobne dojde. Jinak feceno: Chcete-li zachytavat datovou komunikaci webovych protokolu, nainstalujte si webovy server a webovy prohlizec. Jestlize vam ide о vytvofeni specialne upravenych paketu, muzete pouzit jeden z modulu jazyka Perl s nazvem Raw:: IP. Muzete jej stahnout na adrese www.ic.al.lg.ua/~ksv/index.shtml. Otazka: Jak mohu zachytavat vsechna data ve sve siti, kdyz pfepinac zachytavani nepodporuje nebo je nespravovany? Odpoved: Так ci onak, budete se muset dostat к sit’ove ceste, kterou data putuji. Bud muzete spus- tit sniffer na pocitaci, ktery vidi alespon vetsinu sit’oveho provozu, nahradit pfepinac rozbocovacem nebo pfepinacem s podporou zachytavani dat, pfipadne trosku experimentovat s protokolem ARP pomoci nastroje dsniff. Otazka: Je mozne pouzivat Wireshark, aniz bych jej musel instalovat? Odpoved: Dobrou volbou je pouziti bootovatelneho CD nebo DVD. Kdyz si stahnete a vypalite obraz disku, jako napf. Backtrack (www.remote-exploit.org) nebo Helix (www.e-fense.com/helix/), muzete pouzivat Wireshark i dalsi bezpecnostni nastroje bez nutnosti instalace. Avsak tato bootovatelna media by rozhodne nemela byt pouzivana к porusovam bezpecnostnich pravidel vasi organizace defmuiicich pouzivani programu tfetich stran.

KAPITOLA 3 Jak zfskat a nainstalovat Wireshark Resent v teto kapitole: ♦ Jak ziskat Wireshark ♦ Ovladace pro zachytavani paketu ♦ Instalace Wiresharku na operacnim systemu Windows ♦ Instalace Wiresharku na operacnim systemu Linux ♦ Instalace Wiresharku na operacnim systemu Mac OS X ♦ Instalace Wiresharku ze zdrojoveho kodu ♦ Shrnuti ♦ Rychla feseni
98 Kapitola 3: Jak zi'skat a nainstalovat Wireshark Uvod V teto kapitole projdeme vsechny kroky, ktere jsou nezbytne pro dokonceni uspesne instalace sit’o- veho analyzatoru Wireshark. Diky obrovskemu mnozstvi ruznych unixovych distribuci, ktere jsou v soucasnosti dostupne, se mohou jednotlive kroky instalacniho procesu lisit distribuci od distribu- te a pfipadny popis vsech z nich je nad ramec teto kapitoly. Z tohoto duvodu se zamefime na insta- ted Wiresharku pro linuxovou distribuci Fedora Core 6. Fedora Core jsme zvolili proto, ze se jedna о nejrozsifenejsi distribuci Linuxu a take slouzi jako dobry vychozi bod, na kterem se da pozdeji dale stavet. Vetsina z informaci о instalaci se da aplikovat na nejrozsifenejsi distribuce bez velkych zmen. Avsak pokud se instalacni instrukce pro jednotlive distribuce pfeci jen list, rozdily by mely byt minimal™. Co se tyce platformy Windows, zvolili jsme operacni system Microsoft Windows XP, a to zejmena s ohledem na jeho rozsifenost. Na zaver jsme take zahrnuli nekolik moznosti instalace pro operacni system Mac OS X. Pro tuto kapitolu jsme zacali s cistou instated operacnich systemu Fedora Core 6, Windows XP a Mac OS X. Pro kazdy z techto operacnich systemu jsme pfijali vychozi nastaveni parametru insta- lace. Tyto typy instalace bohuzel casto spolu s operacnim systemem pfidaji i „bonus" v podobe hro- mady nepotfebnych aplikaci a ponechaji mnoho der v zabezpeceni systemu. Rozhodne doporucuje- me respektovat bezpecnostni praktiky doporucene pfi instalaci noveho operacniho systemu a take pfi nasledne aplikaci bezpecnostnich procedur. Tyto metody jsou mimo ramec teto knihy, ale meli byste si vybrat kvalitni referencni pfirucku, ktera se zabyva zabezpecenim vaseho operacniho sys- temu. Ujistete se, ze vas operacni system je aktualizovan a obsahuje patficne bezpecnostni zaplaty. Take byste meli ovefit, ze vase sif je spravne nastavena a je ve funkcniin stavu, jinak nebudete schop- ni provadet analyzu dat. Pojd’me se na chvili podivat, jaky pfistup jsme zvolili к teto kapitole. Kdyz pfijde fee na pocitace, site a zabezpeceni, nektefi z vas jsou zacatecnici a jini zase profesionalove. Vzhledem к ruznemu stupni technickych dovednosti cilove skupiny teto knihy jsme se snazili probrat temef kazde tema tak, jako bychom se tuto latku sami ucili poprve. Nasim jedinym pfedpokladem bylo, ze ctenafi teto knihy maji alespon zakladni znalosti operacnich systemu a jejich pouzivani. Pro zacatecniky jsme popsali postup instalace krok za krokem co nejsrozumitelnejsi formou. Tato kapitola bude tern pokrocilej- sim z vas slouzit pouze ke zbeznemu procteni v pripade potfeby. Zevrubnejsim popisem instalacni procedury se budeme zabyvat pouze v tech pfipadech, kde muze dojit к nejakym problemum, na ktere je tfeba si dat pozor, ale take u tech bodu instalace, u nichz par poznamek nemuze byt na zava- du. Vsechny delsi popisy a diskuse budeme drzet mimo instrukce к instalaci. Pojd’me tedy nainsta- lovat Wireshark. Jak zi'skat Wireshark Wireshark je к dispozici ke stazeni z mnoha zdroju, a to ve forme zdrojoveho kodu i binarnich sou- boru. Doprovodne CD к teto knize obsahuje verzi 0.99.4. Abyste nainstalovali system Win32, muzete otevf it slozku „Windows Installer", pfipadne muzete provest instalaci ze souboru obsahujicich zdro- jovy kod. Nejjistejsim zdrojem pro stazeni instalacnich baliku je webova stranka Wireshark down- load na adrese www.wireshark.org/download.html. Tato stranka obsahuje seznam umisteni po celem svete, z kterych je mozne stahnout binarni distribuci a instalacni balicky pro nekolik platforem. Navic obsahuje zdrojovy kod Wiresharku v zazipovanem archivu (format tar.gz). Dalsim zdrojem pro ziska-
Jak ziskat Wireshark 99 ni Wiresharku muze byt i instalacni CD vaseho operacniho systemu. Avsak v tomto pfipade budete mit pravdepodobne nejakou stars! verzi, doporucujeme venovat chvilku stazeni nejaktualnejsi verze. Spravna instalace Wiresharku pfedpoklada splneni nekolika malo pozadavku. Tyto pozadavky zavisi na mnoha faktorech, vcetne verze operacniho systemu, na tom, zda instalujete aplikaci z pfedkompi- lovanych souboru nebo zda si zkompilujete svou verzi ze zdrojoveho kodu. V teto kapitole se bude- me venovat vsem temto moznostem. Balicky potrebne pro instalaci Wiresharku jsou dostupne na Internetu zdarma na mnoha webovych strankach. Mozna budete chtit pfed zahajemm instalace stahnout posledni verzi. To je samozfejme v pofadku, jen si prosim dejte pozor na nazev instalacniho baliiku. Napriklad budeme-li se v textu odkazovat na soubor wireshark-0.99.4.tar.gz a vy si stahnete wireshark-0.99.5.tar.gz, pouzivejte vas nazev souboru, nebot’ ten je pro vas a vas operacni system smerodatny. Platformy a pozadavky na $у$1ёт Na kterych operacnich systemech je mozne provozovat Wireshark? Nasledujici seznam obsahuje mnozstvi platforem, pro ktere jsou к dispozici binarni instalacni balicky: ♦ Mac OS X ♦ Debian GNU/Linux ♦ FreeBSD ♦ Gentoo Linux ♦ HP-UX ♦ Mandriva Linux ♦ Windows ♦ NetBSD ♦ OpenPKG ♦ Red Had Fedora/Enterprise Linux ♦ rPath Linux ♦ Sun Solaris/i386 ♦ Sun Solaris/Sparc S tim, jak vyvoja ri portuji zdrojove kody Wiresharku na dalsi operacni systemy, se tento seznam plat- forem neustale rozsifuje. Pokud operacni system, ktery pouzivate, neni v tomto seznamu a vy se na to citite, stahnete si zdrojovy kod a zacnete vytvafet distribuci pro vas operacni system! %. Poznamka: Nekolik binarnich instalacnich balidku je dostupnych take prostfednictvim The Writ- ten Word na adrese www.thewrittenword.com. The Written Word poskytuje pfedkompilovane binarni soubory open-source programu, zejmena pro operacni systemy AIX, HP-UX, IRIX, Red Hat Linux, Solaris a Tru64 Unix. Jednotliva vydani mohou byt zakoupena jednor^zove nebo for- mou predplacene sluzby.
100 Kapitola 3: Jak ziskat a nainstalovat Wireshark Ovladace pro zachytavani paketu Kdyz je pocitac umisten v siti, je za pfijem a odesilani dat dalsim pocitacum zodpovedna sitbva karta. Sit’ove aplikace pouzivaji ruzne metody, jako napf. sockety, pro navazam a udrzovan! spoje- ni, zatimco nizsi vrstvy operacniho systemu se staraji о nizkourovnove detaily a zprostfedkovava- ji zasobnik komunikacnich protokolu. Avsak nektere aplikace potfebuji pfimy pfistup к surovym sitovym datum; bez toho, aniz by tato data byla ovlivnena ci modifikovana nejakou jinou aplikaci. Pfesne toto dela ovladac pro zachytavani paketu; ma schopnost zachytavat surova data ze site. Co je jeste lepsi, je fakt, ze tento ovladac umi zachytavat vsechna data z daneho segmentu site, nejen ta, ktera jsou urcena konkretnimu pocitaci. Diky temto ovladacum mohou aplikace jako Wireshark pasivne sledovat sitovy provoz. Dva velmi zname a siroce pouzivane ovladace pro zachytavani paketu jsou libpcap a jeho protej- sek pro platformu Windows - WinPcap. Libpcap je open-source, a tedy dostupny zdarma. Knihov- na ovladacu libpcap byla puvodne vyvinuta v Lawrence Berkley National Laboratory v Kalifornii. V soucasnosti je udrzovan vice vyvojafi na adrese www.tcpdump.org. Nejenze libpcap umi zachytavat data, ale take poskytuje mechanismus pro filtrovani zachycenych dat na zaklade uzivatelem zadanych kriterii, a to jeste pred tim, nez jsou tato data poskytnuta aplikaci. WinPcap je udrzovan skupinou vyvojafu na www.winpcap.org. Tato knihovna pouziva cast kodu knihovny libpcap spolecne s nove vyvinutym kodem. Take mnoho dalsich programu pouziva kod knihoven WinPcap a libpcap, vcetne programu TCPDump, WinDump, Snort, Ettercap, Dsniff, Nmap, tcpflow a TCPstat. Programy pouzivajici libpcap jsou vetsinou ruzne aplikace pro sledovani site, analyzatory protokolu, aplikace zaznamenavajici datovy provoz, sitbve systemy pro detekci pru- niku a dalsi bezpecnostni nastroje. Dalsi informace Kompresm utility Kdyz stahujete softwarove baliky z Internetu, setkate se s ruznymi kompresnimi utilitami. Mnoho lidi uz zna kompresni format zip pouzivany jak v operacnim systemu Windows, tak na systemech zalozenych na Unixu. V teto kapitole budeme hovofit i о formatu tar, pouzi- vanem pro archivaci souboru. Avsak format tar neposkytuje kompresi. Misto toho pouze ,,bali“ vice souboru do jedineho velkeho souboru. Tento jediny soubor bude na disku zabf- rat stejny, ba dokonce о песо malo vetsi prostor, nez by byl zabran souctem velikosti iednot- livych souboru. Soubory ve formatu tar jsou vetsinou jeste komprimovany jinymi utilitami jako gzip nebo bzip2. Gzip se pouziva pro zmenseni velikosti souboru, coz z nej dela skvely nastroj pro komprimaci velkych souboru se zachycenymi pakety. Soubory komprimovane gzipem poznate podle kon- covky .gz. Wireshark umi automaticky dekomprimovat a cist soubory sbalene Gzipem, a to i kdyz nemaji koncovku .gz. Soubor muze byt komprimovan pomoci pnkazu gzip ndzev soubo- ru. Naopak rozbalit jej muzete pfikazem gzip -d nazev souboru nebo gunzip ndzev souboru. Bzip2 je novejsim kompresnim nastrojem s kompresnun pomerem lepsun, nez ma gzip. Sou- bory sbalene nastrojem Bzip2 poznate podle koncovky .bz2. Komprimovat soubor muzete pomoci pfikazu bzip2 ndzev souboru a rozbalit jej pfikazem bzip2 -d ndzev souboru, pfi- I padne bunzip2 ndzev souboru. Wireshark zatim neumi pracovat se soubory komprimova- j nymi programem bzip2.
Ovladace pro zachytavani paketu 101 Instalace knihovny libpcap Mnoho linuxovych systemu vcetne Fedora Core 6 ma jiz knihovnu libpcap pfedinstalovanou. V te- to casti se budeme venovat dvema metodam instalace libpcapu: Red Hat Package Manager (RPM) a sestaveni ze zdrojoveho kodu - pro ty z vas, kterf i tak mohou potrebovat libpcap nainstalovat. Jakmile jednou nainstalujete libpcap (nebo WinPcap), pokud nejste vyvojafem, nemusite delat uz nic dalsiho. Wireshark pouzije tyto knihovny к pasivnimu zachytavani dat. Pojd’me tedy nainstalo- vat libpcap. Pokud jste pouzili Windows Installer z doprovodneho CD teto knihy, byl WinPcap nainstalovan do Start Programy. Pokud к instalaci Wiresharku pouzijete Yellow dog Updater, Modified (YUM), bude knihovna libpcap nainstalovana automaticky. Instalace knihovny libpcap pomoci balicku RPM Instalace softwaru z balicku RPM muze byt velmi zradna. Pfectete si „Poznamku pod carou“ v te- to kapitole, kde najdete podrobnosti о RPM. Nastesti instalace knihovny libpcap v sobe neskryva zadne problemy. Pamatujte vsak, ze od napsani teto knihy mohla byt uvolnena novejsi verze. Tu muzete vyhledat na adrese www.rpmfind.net. Uiistete se, ze pouzivate balik RPM urceny prave pro vas operacni system. Nez zacnete s instalaci, ovefte, ze jste pfihlaseni jako uzivatel root. Pokud ne, muzete se pfehlasit na tohoto uzivatele pomoci pfika/u su root, stisknutim klavesy Enter a zada- nim patficneho hesla. 1. Nainstalujte RPM knihovny libpcap pomoci pfikazu rpm -ivh libpcap-0.9.4-8.1.i386.rpm a stisk- nutim klavesy Enter. 2. Ovefte instalaci zadanim pfikazu rpm -q libpcap a stisknutim klavesy Enter. Pokud vidite ve vypisu libpcap-0.9.4-8.1, je knihovna nainstalovana! Nasledujici vystup ukazuje, jak nainstalovat libpcap pomoci RPM a nasledne tuto instalaci ovefit: [root@localhost]# rpm -ivh 1ibpcap-0.9.4-8.1.i386.rpm Preparing... ######################################### [100%] 1:1i b p c a p ######################################### [100%] [root@localhost root]# rpm -q libpcap 1ibpcap-0.9.4-8.1 To vubec nebylo spatne! Ted’kdyz jste nainstalovali libpcap, muzete klidne pfeskocit na sekci „Insta- lace Wiresharku pro operacni system Linux" nebo „Instalace Wiresharku ze zdrojoveho kodu‘. Dalsi informace Nekolik slovo RPM Red Hat Package Manager (RPM) je silnym nastrojem pro spravu instalacnich balicku, mezi jehoz schopnosti patfi instalace, odinstalace, ovefovani, dotazovam a aktualizace softwaro- Vych baltkii operacniho systemu Linux. Vyhledavani balicku RPM je pomerne jednoduche a stranka www.rpmfind.net ma propracovany system vyhledavani a stahovani. Avsak balic- ky RPM jsou casto uvolnovany ruznymi jednotlivci, a tak jsou castokrat о jednu ci dve verze pozadu oproti verzi zdrojoveho kodu. Krome toho isou bahcky RPM vytvafeny na systemech s odlisnou strukturou souboru a prostfedi, coz muze nekdy vest к problemum, pokud vas sys-
102 Kapitola 3: Jak zi'skat a nainstalovat Wireshark tern neodpovida urcitym parametrum. Instalace pomoci RPM muze byt nekdy jednodussi nez kompilace zdrojoveho kodu - za pfedpokladu, ze nejsou zadne problemy se zavislostmi. Svstem RPM, ac vynikajici nastroj pro spravuje zatizen mnoha problemy spojenymi se zavis- lostmi. RPM je schopen vedet, ktere baliky к instalaci potfebuje, umi tuto mformaci ozna- mit uzivateli, ale bohuzel neni schopen ziskat a nainstalovat baliky, ktere vyhovuji urcitym pozadavkum. Pokud je vam termin zdvislosti [dependencies) neznamy, pak vezte, ze zavis- losti jsou baliky anebo knihovny vyzadovane jinymi baliky. Linuxova distribuce Red Hat je v podstate postavena na zavislostech, ktere si muzete pfedstavit jako obracenou stromovou strukturu. Na vrcholu tohoto stromu jsou zakladm uzivatelem nainstalovane programy jako Wireshark. Wireshark je zavisly na knihovne libpcap a knihovna libpcap zase potrebuie ke svemu provozu dalsi knihovny. Tato stromova struktura je sice hezka, ale problem se zavis- lostmi nikterak neusnadnuje. Napfiklad kdyz chcete nainstalovat novou aplikaci a objevi se chybova hldska, ze nektera knihovna v systemu musi byt nejprve aktualizovana. Dobra, sta- hnete novou knihovnu a pokusite se ji aktualizovat. Avsak v tomto okamziku i tato samotna knihovna ma nejake zavislosti, ktere je rovnez tfeba aktualizovat! Tento proces se muze nekdy zvrhnout ve stresujici a nekonecne dobrodruzstvi. Informace о baliccich RPM muzete ziskat nekolika zpusoby: ♦ rpm -q (query) muze byt pouzit ke zjisteni verzi nainstalovanych baliku - napf. rpm -q wireshark. ♦ rpm -qa (query all) zobrazi velmi dlouhy seznam vsech balikii nainstalovanych v syste- mu. Ke zpfehledn£ni tohoto seznamu muzete pfesmerovat vystup dotazu do programu grep, ktery najde to, co hledate: rpm -qa | grep wireshark. ♦ rpm -ql (query list) zobrazi vsechny soubory, ktere byly do systemu nainstalovany kon- kretnim balikem, napr. rpm -ql wireshark. ♦ rpm -qt (query file) zjisti, ke kteremu baliku path' konkretni soubor - napf. rpm -qf/usr/ bin/wireshark. S pouzitim RPM muzete instalovat software tfemi zpflsoby: ♦ rpm -I(install) nainstaluje novy soubor RPM a ponecha dfive nainstalovanou verzi beze zmen. ♦ rpm -u (update) nainstaluje novy software a odstrani vsechny existujici stars! verze. ♦ rpm -/(freshen) nainstaluje novy software, ale jen v pfipade, ze je v systemu pfitomna stars! verze teto aplikace. Tento postup se vetsinou pouziva pro instalaci zaplat. Balik RPM muzete ze systemu odinstalovat takto: ♦ rpm -e (erase) odstrani balik RPM ze systemu - napf. rpm -e wireshark. Nekdy muzete uspet take s instalaci balicku pomoci volby —nodeps (vsimnete si, ze pfed touto volbou jsou dve pomlcky). Takto se balik nainstaluje bez ohledu na pozadovane zavislosti. lento zpusob muze, ale take nemusi fungovat. Zalezi na tom, zda instalovany balik skutecne potfebuje vsechny zavislosti ke svemu provozu.
Ovladace pro zachytavani paketu 103 Instalace knihovny libpcap ze zdrojovych kodu Instalace knihovny libpcap ze zdrojoveho archivu tarball je pomerne jednoducha. Tarball je samo- statny soubor, ktery obsahuje dalsi soubory, jako tfeba soubory typu zip. Format tar sam о sobe neposkytuje zadnou kompresi, takze je bezne, ze pro kompresi souboru tar se pouzivaji dalsi utility jako gzip nebo bzip2. О pouzivani kompresnich nastroju gzip a bzip2 si v pfipade potfeby pfecte- te informace v ramecku. Budeme rozbalovat obsah souboru tar a take zkompihijeme zdrojovy kod pomoci prikazu configure -» make make install. Je beznou praxi kompilovat software pod jinym nez admin istratorskym uctem (root), ale pfepnout se na uzivatele root pred krokem make install. Abyste nainstalovali knihovnu libpcap, proved’te nasledujici kroky: 1. Rozbalte a dekomprimujte archiv tarball pomoci prikazu tar -zxvf libpcap-0.9.5.tar.gz a stisk- nete Enter. Bude vytvofena nova slozka s nazvem libpcap-0.9.5. Vsimnete si vystupu zobra/e- neho na obrazovce. 2. Pfepnete se do nove slozky zadanim prikazu cd libpcap-0.9.5 a stisknete Enter. 3. Pfikazem ./configureastisknutim klavesyEnterspusftekoniiguracniskript. Tenprozkoumavas system, aby se ujistil, ze potfebne zavislosti, systemove promenne a dalsi parametry jsou v pofad- ku. Vsimnete si analyzy typu otazka - odpoved’, probihajici na obrazovce. 4. Kdyz je proces konfigurace dokoncen a je opet zobrazena vyzva prikazoveho fadku, zkontroluj- te, zda nedoslo к chybam. Pokud vse vypada bezprobleinove, spusfte nastroj make tim, ze pros- te napisete make a stisknete klavesu Enter. Tato utilita zkompiluje zdrojovy kod. Na obrazovce byste meli videt vystup kompilacniho procesu. 5. Poslednim krokem instalacniho procesu je rozmisteni spustitelnych i jinych souboru do sprav- nych slozek ve slozkach systemu. Abyste mohli provest tento krok, pfepnete se na uzivatele root. Pokud utilita make skoncila bez chyb, napiste sudo make install a stisknete Enter. Zadejte heslo uzivatele root a jeste jednou stisknete Enter. Opet by se na obrazovce mel objevit vysledek toho- to procesu. 6. Pote co je dokoncen krok make install, bude zobrazena vyzva pfikazoveho fadku. Pokud vse vypa- da bezchybne, instalace je hotova! Pokud se kdykoliv behem instalacniho procesu setkate s nejakou chybou, meli byste ji prozkou- mat a vyfesit predtim, nez budete pokracovat dale. Vetsinou jsou chyby kompilace zpusobeny pro- blemy se zavislostmi, verzemi programu nebo systemovymi promennymi. Kompilace programu ze zdrojoveho kodu poskytuje vyhodu vysoke miry pfizpusobitelnosti a optimalizace sottwaru pro vas system. Kdyz jste nainstalovali libpcap, muzete pokrocit к sekci „Instalace Wiresharku ze zdrojove- ho kodu ‘, kde muzete pokracovat kompilaci Wiresharku ze zdrojoveho kodu nebo si vybrat jeden z dalsich procesu. Poznamka: Pojd’me se na chvili podivat na popis voleb prikazu tar: -z, -x, -v a -f. Prepinac -z udava, ze soubor musi byt zpracovan filtrem gzip. Muzete specifikovat, zda byl archiv vytvoren pomoci programu gzip, a to piidanim koncovky .gz. Prepinac -zje dostupny pouze ve verzi GNU programu tar. Pokud pouzivate jinou verzi nez GNU, budete muset nejprve rozbalit soubor tar pomoci nastroje gunzip nebo gzip -de ndzev_soboru.tar.gz | tarxvf-. Prepinac -x mdikuje, ze chcete obsah archivu rozbalit. Pokud nen urdenojinak, bude obsah archi- vu rozbalen do aktualniho pracovniho adres^re.
104 Kapitola 3: Jak zi'skat a nainstalovat Wireshark Prepinac -v znamena „verbose". V praxi pomoci tohoto pfepinace sddlime programu, ze pozadu- jeme zobrazeni vsech zpracovavanych souboru na obrazovku. Tento prepinac je otazkou osob- nich preferenci a neni nezbytne nutny pro operaci rozbaleni. Prepinac -f specifikuje soubor s archivem tar, ktery se bude zpracovavat, napf. libpcap-0.9.5.tar. gz. Nekdy muze byt nutne zadat plnou cestu, pokud se soubor nachazi v jinem nez aktualnim adresafi. Poznamka: Nektere distribuce operacniho systemu Linux maji software jako libpcap jiz pfedin- stalovany. Urcite se v5ak vyplati venovat chvilku aktualizaci techto aplikaci. Odmenou v^m bude vetsi stabilita, lepsi funkce, opravene chyby a rychlost aktualizovaneho softwaru. Instalace knihovny WinPcap Verze programu Wireshark pro operacni system Windows nyni obsahuje i knihovnu WinPcap, jejiz instalaci miizete zvolit pfi instalaci Wiresharku. Chteli jsme vsak zaclenit i instrukce pro ty z vas, kdo chteji z nejakeho duvodu instalovat WinPcap zvlast’. Aktualni verzi knihovny WinPcap si muzete stahnout z webove stranky www.winpcap.org. Pro uspesnou instalaci musite mit prava umoznuiici instalaci novych ovladacu do systemu a musite byt pfihlasen jako administrator, nebo alespon spus- tit instalacni proces s pravy administratora. WinPcap ve verzi 3.1 nainstalujete do operacniho sys- temu Windows XP takto: 1. Stahnete si spustitelny soubor WinPcap ze stranky www.winpcap.org. 2. Poklepanim na instalacni soubor WinPcap__3_l.exe spusfte instalaci. Prvni obrazovka je uvitaci obrazovkou priivodce instalaci. Klepnete na tlacitko Next (Dalsi). 3. Nasledujici obrazovka obsahuje informace о licenci programu WinPcap. Pote co pfectete a odsou- hlasite licencni podminky, klepnete na tlacitko I Agree (Souhlasim). 4. Objevi se okno Setup Status (Stav Instalace), kde uvidite kopirovane soubory a indikator priibehu. Az bude instalace dokoncena, klepnete na tlacitko Finish (Dokondt) pro ukonceni instalacniho programu. Poznamka: Pokud jste WinPcap nenainstalovali, budete moci otevfit soubory se zachycenymi daty, ale nebudete moci zachytavat sit'ovy provoz. Dulezite: Pokud mate v pod'taci nainstalovanou starSi verzi programu WinPcap a chcete nainsta- lovat novou, musite nejprve odinstalovat sta rsi verzi a restartovat pocitac. Takto zajistite spravnou instalaci programu WinPcap. Vdobe psani teto knihy byla doporucena verze 3.1. Poznamka: Abyste se ujistili, ze program WinPcap byl skutecne nainstalovan, klepnete na Start -> Ovladacf panely -> Pridat nebo odebrat programy. Meli byste videt WinPcap v seznamu nain- stalovanych programu.
Instalace Wiresharku na operacnim systemu Windows 105 Instalace Wiresharku na operacnim systemu Windows Aktualni verzi Wiresharku pro ruzne operacni systemy Windows si muzete stahnout ze stranky www. wireshark.org/download.html. Na operacnim systemu Windows XP pro instalaci Wiresharku nepo- trebujete administratorska prava. Kdyz mate nainstalovany WinPcap, proved’te nasledujici kroky pro instalaci Wiresharku: 1. Z www.wireshark.com/dowtdoad.htnd si stahnete spustitelny soubor Wiresharku. 2. Poklepanim na soubor wireshark-setup-0.99.4.exe spust’te instalacni proces. Prvni obrazovka je obecnou uvitaci obrazovkou pruvodce instalaci. Klepnete na tlacitko Next. 3. Dalsi obrazovka obsahuje licencni ujednani Wiresharku a GNU General Public License. Po pfe- dtem a odsouhlaseni licencnich ujednani klepnete na I Agree a pokracujte. 4. Nasledujici obrazovka vam umozni vyber komponent Wiresharku, ktere si pfejete nainstalovat. V Priloze probereme dalsi programy, ktere se dodavaji spolu s Wiresharkein. Vychozi vyber kom- ponent vyzaduje 62,5 MB volneho mista na disku. Samozfejme byste meli mit take pfimefene mnozstvi mista pro ukladani souboru se zachycenymi daty. Klepnete na tlacitko Next. 5. Na dalsi obrazovce si muzete vybrat, ktefi zastupci budou vytvofeni a ktere typy souborii budou asociovany s Wiresharkem. Klepnete na tladitko Next. 6. Dalsi obrazovka vam umoznuje vybrat si, kam bude Wireshark nainstalovan. iMuzete pr ijmout vychozi nastaveni, kterym je C:\Program Files\ Wireshark, a klepnete na tlacitko Next. 7. Obrazovka, ktera se objevi pote, vam umozni nainstalovat WinPcap, pokud jste tak neucinili jiz drive. Pokud jste WinPcap jeste nenainstalovali, muzete to udelat nyni klepnutim na tlacitko Install WinPcap 3.1. Klepnete na tlacitko Install pro zahajeni instalacniho procesu. 8. Mela by se objevit obrazovka znazornujici prubeh instalacniho procesu. Uvidite zde vypis podrob- nosti fadek po fadku, co se deje na pozadi, spolu s indikatorem celkoveho prubehu instalace. Pokud pro vas Wireshark instaluje WinPcap, budete muset klepnout na tlacitko Next na insta- lacni obrazovce WinPcapu a pfijmout jeho licencni ujednani. lakmile je instalace Wiresharku hotova, klepnete na tlacitko Next. 9. Hotovo! Nyni je Wireshark nainstalovan a pfipraven ke spustem. Take umisti peknou ikonu zastupce pfimo na vasi plochu. Muzete klepnout na jedno z policek a bud’spustit Wireshark nebo zobrazit soubor s novinkami о Wiresharku. Klepnutim na tlacitko Finish zavfete dialogove okno. Nyni muzete poklepat na ikonu Wiresharku na ploSe a spustit graficke uzivatelske rozhrani apli- kace Wireshark. Poznamka: Prijemnou funkci obrazovky zobrazene pfi dokonceni instalace je schopnost ulozit instalacni log do souboru. Jednoduse klepnete pravym tlacitkem mysi na jeden z fadku v texto- vem poli a objevi se male okno s textem„Copy Details To Clipboard" (Zkopirovat podrobnosti do schranky). Vyberte tuto moznost a vlozte vysledek do Poznamkoveho bloku nebo jineho texto- v£ho editoru. Ve vychozim nastaveni ie Wireshark nainstalovan do umistdni C:\Program Files\Wireshark. lak jste videli v prubehu instalacniho procesu, da se tato cesta zmenit. Ve slozce s Wiresharkem je umisteno
106 Kapitola 3: Jak ziskat a nainstalovat Wireshark take nekolik dalsich souboru vcetne souboru uninstall.exe. Spustenim tohoto programu odinstalu- iete Wireshark ze systemu. К dalsim dulezitym souborum, о kterych bychom se meli zminit, patfi sedm spustitelnych souboru a jejich manualove stranky ve formatu HTML: wireshark.exe, tshark. exe, capinfos.exe, dumpcap.exe, editcap.exe, mergecap.exe a text2pcap.exe. Tyto podpurne programy jsou dukladneji probrany v 9. kapitole. Poznamka: Pokud m^te ve Wiresharku potize se zachytavanim paketu, ujistSte se, ze WinPcap pracuje spravnd, a to tim, ze spustite utility Windump a zkusite zachytit pakety. Windump miizete stahnout na adrese http://www.winpcap.org/windump/install/defualt.html. Prikaz windump-Dzob- razi seznam platnych adapteru, ktere WinPcap umi detekovat. Instalace Wiresharku na operacnim systemu Linux V teto sekci se podivame na zpusob instalace Wiresharku prostfednictvim metody tzv. Yellow Dog Updater, Modified (YUM). YUM je open-source utilita pro spravu instalacnich baliku. Ovlada se z prostfedi pfikazoveho fadku a je kompatibilni s distribucemi Linuxu, ktere pouzivaji system RPM. Slouzi pro automatizovanou instalaci, aktualizaci a odstranovani baliku RPM. Nasledujici oddil se zamefi na sestaveni Wiresharku ze zdrojoveho kodu. Kazdy popsany postup vykona proces instalace Wiresharku 0.99.4 na operadni system Fedora Core 6. Pojd’me zacit s instalaci Wiresharku! Instalace Wiresharku pomoci baliku RPM Instalace softwaru z RPM muze byt velmi zradna kvuli zavislostem. Nastesti se system YUM stani о zavislosti a udela vsechnu praci za vas. Napfiklad se nemusite bat о instalaci libpcap, protoze YUM stahne a namstaluje balicek s libpcapem a nainstaluje jej v ramci instalacniho procesu Wiresharku. Nasledujici popis vas krok po kroku provede instalaci Wiresharku pro operacni system Fedora Core 6. Pamatujte, ze od doby napsani teto knihy mohly byt uvolneny novejsi verze. Nez zacnete, musi- te mit privilegia uzivatele root, abyste byli schopni Wireshark nainstalovat. Ujistete se, ze jste se do systemu pfihlasili jako root, nebo se na tento licet pfepnete pomoci pfikazu su root, stisknete Enter a zadejte heslo uzivatele root. Zacneme tedy s instalaci Wiresharku: Zadanim pfikazu yum install wireshark-gnome a stisknutim klavesy Enter nainstalujte Wireshark. A je to! YUM si stahne vsechny zavislosti programu Wireshark a nainstaluje je za vas. Ovefte insta- laci zadanim pfikazu wireshark a stisknutim klavesy Enter. Na obrazovce by se melo objevit grafic- ke uzivatelske rozhrani Wiresharku. Poznamka: Kdyz pouzivate YUM, musi'te nainstalovat balik wireshark-gnome, abyste mohli pouzi- vat graficke uzivatelske rozhrani Wiresharku.
Instalace Wiresharku na operacnim systemu Linux 107 Nasledujfci vystup zobrazuje instalaci RPM Wiresharku a Jeho zavislosti s pouzitim YUM: [root@localhost]# yum install wireshark-gnome Loading "installonlyn" plugin Setting up Install Process Setting up repositories Reading repository metadata in from local files Parsing package install arguments Resolving Dependencies - -> Populating transaction set with selected packages. Please wait. — > Downloading header for wireshark-gnome to pack into transaction set. wireshark-gnome-0.99.4-1. 100% |=========================| 4.9 кВ 00:00 — > Package wireshark-gnome.i386 0:0.99.4-l.fc6 set to be updated - -> Running transaction check - -> Processing Dependency: 1ibwiretap.so.0 for package: wireshark-gnome - -> Processing Dependency: wireshark = 0.99.4-1.fc6 for package: wiresharkgnome - -> Processing Dependency: 1ibwireshark.so.0 for package: wireshark-gnome - -> Restarting Dependency Resolution with new changes. - -> Populating transaction set with selected packages. Please wait. — > Downloading header for wireshark to pack into transaction set. Wireshark-0.99.4-1.fc6.i3 100% |=========================| 27 кВ 00:00 — > Package wireshark.i386 0:0.99.4-1.fc6 set to be updated - -> Running transaction check Dependencies Resolved Package Arch Version Repository Size Installi ng: wireshark-gnome i386 0.99.4-1.fc6 updates 542 к Installing for dependencies: Wireshark i386 0.99.4-1.fc6 updates 7.8M Trans- action Summary Install 2 Package(s) Update 0 Package(s) Remove 0 Package(s) Total download size: 8.4 M Is this ok [y/N]: у Downloading Packages: (1/2): wireshark-gnome-0. 100% | ======================= | 542 кВ 00:03 (2/2): wireshark-0.99.4-1 100% |=========================| 7.8 MB 00:45 warning: rpmts_HdrFromFdno: Header V3 DSA signature: NOKEY, key ID 4f2a6fd2 Importing GPG key 0x4F2A6FD2 "Fedora Project <fedora@redhat.com>" Is this ok [y/N]: у Running Transaction Test Finished Transaction Test Transaction Test Succeeded Running Transaction Installing: wireshark ######################### [1/2] Installing: wireshark-gnome ######################### [2/2] Installed: wireshark-gnome.i386 0:0.99.4-l.fc6 Dependency Installed: wireshark.i386 0:0.99.4-1.fc6 Complete!
108 Kapitola 3: Jak ziskat a nainstalovat Wireshark Instalace Wiresharku na operacnim systemu Mac OS X Instalace Wiresharku na operacni 5уБ1ёт Mac OS X ze zdrojov6ho kodu Instalace Wiresharku na Mac OS X ze zdrojoveho kodu je zdlouhavy a nekdy i zradny proces. Diky vetsimu mnozstvi kontroly nad instalaci vsak mnoho lidi tento zpusob upfednostnuje. V nasem pfi- pade jsme Wireshark ze zdrojoveho kodu nainstalovali na operacni system Mac OS X Tiger. Mate- -li к dispozici dostatek casu a nejake ambice, muzete si vyzkouset tento typ instalace. Pokud se na to necitite, nevadi - pouzijte jeden ze zpusobu pro portovani jako DarwinPorts nebo Fink. Pokud jste si stahli novejsi verzi Wiresharku, ujistete se, ze v prubehu instalacniho procesu zadavate odpo- vidajici nazvy souboru. 1. Nejprve pfipravte svuj Mac tim, ze nainstalujete Xcode Tools, ktere jsou umisteny na instalacmm CD operacniho systemu. Takto nainstalujete kompilator gcc a dalsi vyvojove nastroje potreb- ne pro uspesnou kompilaci zdrojoveho kodu, jako je prostfedi XI1. Pokud pouzivate operacni system Tiger, najdete slozku Xcode Tools na CD s nazvem Mac OS X Install Disc 1. Poklepejte na XcodeTools. mpkg a postupujte podle instrukci na obrazovce. 2. Nainstalujte prostfedi XI1, ktere take najdete na instalacnim CD systemu Mac OS X. Balicek je umisten ve slozce System -> Installation -» Packages -> XllUser.pkg. Poklepejte na soubor XI lUser.pkg a postupujte podle instrukci na obrazovce. Tento proces nainstaluje aplikaci XI1 do slozky Utilities. 3. Stahnete si nasledujici balicky a ulozte je do sve uzivatelske slozky, vetsinou /Users/uzivatelskc jmeno: Pkg-config pkgconfig.Jreedesktop.org Gettext www.gnu.org/software/gettext Glib www.gtk.org/download ATK ftp.gtk.org/pub/gtk/v2.10/dependencies Libpng libpng.sourceforge.net Libxml ftp://xmlsoft.org/libxml2 Freetype freetype.sourceforge.net Fontconfigfontconjig.org t airoftp.gtk.org/pub/gtk/v2.10/dependencies Pango www.gtk.org/download Jpgsrc Jtp.gtk.org/pub/gtk/v2.10/dependencies Fiffftp.gtk. org/pub/gtk/v2.10/dependencies GTK+ www.gtk.org/download Libpcap www.tcpdump.org Wireshark www.wireshark.org 4. Poklepanim spust’te ze slozky Utilities aplikaci XI1. Otevfe se okno Xterminal. Standardne se Xterminal spusti s vychozim umistenim v/Users/uzivatelske jmeno a s pouzitim pfikazu Is a stisk- nutim klavesy Enter byste meli videt vsechny stazene balicky.
Instalace Wiresharku na operacnim systemu Mac OS X 109 5. Ujistete se, ze v systemove promenne $PATH je take cesta /usr/local/bin. Pokud tomu tak neni, zadejte pfikaz PATH=$PATH:/usr/local/bin a stisknete Enter. 6. Pfikazem tar zxvfpkg-config-0.21.tar.gz a naslednym stisknutim klavesy Enter rozbalte soubor pkg-config. Pote se zadanim pfikazu cd pkgconfig-0.21 a stisknutim klavesy Enter pfesunte do slozky pkg-config. Zadejte ./configure a stisknete Enter pro spusteni konfiguracniho skriptu. Napiste pfikaz make a stisknete Enter, cimz dojde к pfekladu zdrojoveho kodu. Potfebne sou- bory nainstalujete do pfishisnvch slozek pouzitim pfikazu sudo make install a stisknutim kla- vesy Enter. Pro instalaci aplikace budete vyzvani к zadani hesla uzivatele root. Kdyz je instalace hotova, pfikazem cd.. a stisknutim klavesy Enter se pfesunte do puvodni pracovni slozky. 7. Zadanim pfikazu tar zxvf gettext-0.12.1.tar.gz a stisknutim klavesy Enter rozbalte soubor get- text. Zadejte cd gettext-0.12.1 a stisknete Enter pro zmenu aktualniho adresafe. Napiste ./con- figure a stisknete Enter pro spusteni konfiguracniho skriptu. Pomoci pfikazu make zkompi- lujte zdrojovy kod. Pote proved’te instalaci programu pfikazem sudo make install a stisknutim klavesy Enter. Budete vyzvani к zadani hesla uzivatele root. Po dokoncen! instalace se pfikazem cd .. prepnete zpet do puvodniho pracovniho adresafe. 8. Zadanim pfikazu tar zxvf glib-2.12.4.tar.gz a stisknutim klavesy Enter rozbalte soubor Glib. Zadejte cd glib-2.12.4 a stisknete Enter pro zmenu aktualniho adresafe. Napiste ./configu- re a stisknete Enter pro spusteni konfiguracniho skriptu. Zkompilujte zdrojovy kod pfikazem make. Pote proved’te instalaci programu pfikazem sudo make install a stisknutim klavesy Enter. Budete vyzvani к zadani hesla uzivatele root. Po dokoncen! instalace se pfikazem cd.. pfepnete zpet do puvodn iho pracovniho adresafe. 9. Zadanim piikazu tar zxvf atk-1.12.3.tar.gz a stisknutim klavesy Enter rozbalte soubor ATK. Zadejte cd atk-1.12.3 a stisknete Enter pro zmenu aktualniho adresafe. Napiste ./configure a stisknete Enter pro spusteni konfiguracniho skriptu. Zkompilujte zdrojovy k6d pfikazem make. Pote proved’te instalaci programu pfikazem sudo make install a stisknutim klavesy Enter. Budete vyzvani к zadani hesla uzivatele root. Po dokoncen! instalace se pfikazem cd.. pfepnete zpet do puvodniho pracovniho adresare. 10. Zadanim pfika/u tar zxvf libpng-1.2.12. tar.gza stisknutim klavesy Enter rozbalte souborlibpng. Zadejte cd libpng-1.2.12 a stisknete Enter pro zmenu aktualniho adresafe. Napiste ./configu- re a stisknete Enter pro spusteni konfiguracniho skriptu. Zkompilujte zdrojovy kod pfikazem make. Pote proved’te instalaci programu pfikazem sudo make install a stisknutim klavesy Enter. Budete vyzvani к zadani hesla uzivatele root. Po dokoncen! instalace se pfikazem cd.. pfepnete zpet do puvodniho pracovniho adresafe. 11. Zadanim pfikazu tar zxvflibxml2-2.6.27.tar.gz a stisknutim klavesy Enter rozbalte soubor libx- ml. Zadejte cd libxml2-2.6.27 a stisknete Enter pro zmenu aktualniho adresafe. Napiste ./con- figure a stisknete Enter pro spusteni konfiguracniho skriptu. Zkompilujte zdrojovy kod pfika- zem make. Pote proved’te instalaci programu pfikazem sudo make install a stisknutim klavesy Enter. Budete vyzvani к zadani hesla uzivatele root. Po dokoncen! instalace se pfikazem cd .. pfepnete zpet do puvodniho pracovniho adresafe. 12. Zadanim pfikazu tar zxvffreetype-2.2.1.tar.gz a stisknutim klavesy Enter rozbalte soubor Free- type. Zadejte cd freetype-2.2.1 a stisknete Enter pro zmenu aktualniho adresafe. Napiste ./con- figure a stisknete Enter pro spusteni konfiguracniho skriptu. Zkompilujte zdrojovy kod pfika- zem make. Pote proved’te instalaci programu pfikazem sudo make install a stisknutim klavesy
110 Kapitola 3: Jak zi'skat a nainstalovat Wireshark Enter. Budete vyzvani к zadani hesla uzivatele root. Po dokonceni instalace se pfikazem cd .. pfepnete zpet do puvodniho pracovniho adresafe. 13. Zadanim pfikazu tar fontconfig-2.4.l.tar.gz a stisknutim klavesy Enter rozbalte soubor Font- config. Zadejte cd fontconfig-2.4.1 a stisknete Enter pro zmenu aktualniho adresafe. Napiste ./configure a stisknete Enter pro spusteni konfiguracniho skriptu. Zkompilujte zdrojovy kod pfikazem make. Pote proved’te instalaci programu pfikazem sudo make install a stisknutim kla- vesy Enter. Budete vyzvani к zadani hesla uzivatele root. Po dokonceni instalace se pfikazem cd .. pfepnete zpet do puvodniho pracovniho adresafe. 14. Zadanim pfikazu tar zxvf Cairo-1.2.4.tar.gz a stisknutim klavesy Enter rozbalte soubor Cairo. Zadejte cd cairo-1.2.4 a stisknete Enter pro zmenu aktualniho adresafe. Napiste ./configu- re a stisknete Enter pro spusteni konfiguracniho skriptu. Zkompilujte zdrojovy kod pfikazem make. Pote proved’te instalaci programu pfikazem sudo make install a stisknutim klavesy Enter. Budete vyzvani к zadani hesla uzivatele root. Po dokonceni instalace se pfikazem cd.. pfepnete zpet do puvodniho pracovniho adresafe. 15. Zadanim pfikazu tar zxvf pango.tar.gz a stisknutim klavesy Enter rozbalte soubor Pango. Zadejte cd pango-1.14.7 a stisknete Enter pro zmenu aktualniho adresafe. Napiste ./configu- re a stisknete Enter pro spusteni konfiguracniho skriptu. Zkompilujte zdrojovy kod pfikazem make. Pote proved’te instalaci programu pfikazem sudo make install a stisknutim klavesy Enter. Budete vyzvani к zadani hesla uzivatele root. Po dokonceni instalace se pfikazem cd.. pfepnete zpet do puvodniho pracovniho adresafe. 16. Zadanim pfikazu tar zxvf jpgsrc.v6b.tar.gz a stisknutim klavesy Enter rozbalte soubor jpg- src. Zadejte cd jpgsrc-6b a stisknete Enter pro zmenu aktualniho adresafe. Napiste ./configu- re a stisknete Enter pro spusteni konfiguracniho skriptu. Zkompilujte zdrojovy kod pfikazem make. Pote proved’te instalaci programu pfikazem sudo make install a stisknutim klavesy Enter. Budete vyzvani к zadani hesla uzivatele root. Po dokonceni instalace se pfikazem cd.. pfepnete zpet do puvodniho pracovniho adresafe. 17. Zadanim pfikazu tarzxvftiff-3.7.4.tar.gz a stisknutim klavesyEnter rozbalte soubor tiff. Zadej- te cd tiff-3.7.4 a stisknete Enter pro zmenu aktualniho adresafe. Napiste ./configure a stiskne- te Enter pro spusteni konfiguracniho skriptu. Zkompilujte zdrojovy kod pfikazem make. Pote proved’te instalaci programu pfikazem sudo make install a stisknutim klavesy Enter. Budete vyzvani к zadani hesla uzivatele root. Po dokonceni instalace se pfikazem cd.. piepnete zpet do puvodniho pracovniho adresafe. 18. Zadanim pfikazu tar zxvfgtk+-2.10.6.tar.gz a stisknutim klavesy Enter rozbalte soubor GTK+. Zadejte cd gtk+-2.10.6 a stisknete Enter pro zmenu aktualniho adresafe. Napiste ./configu- re a stisknete Enter pro spusteni konfiguracniho skriptu, Zkompilujte zdrojovy k6d pfikazem make. Pote proved’te instalaci programu pfikazem sudo make install a stisknutim klavesy Enter. Budete vyzvani к zadani hesla uzivatele root. Po dokonceni instalace se pfikazem cd.. pfepnete zpet do puvodniho pracovniho adresafe. 19. Zadanim pfikazu tar zxvflibpcap-0.9.5.tar.gz a stisknutim klavesy Enter rozbalte soubor libp- cap. Zadejte cd libpcap-0.9.5 a stisknete Enter pro zmenu aktualniho adresafe. Napiste ./con- figure a stisknete Enter pro spusteni konfiguracniho skriptu. Zkompilujte zdrojovy kod pfika- zem make. Pote proved’te instalaci programu pfikazem sudo make install a stisknutim klavesy
Instalace Wiresharku na operacnim systemu Mac OS X in Enter. Budete vyzvani к zadam hesla uzivatele root. Po dokonceni instalace se pfikazem cd .. pfepnete zpet do puvodniho pracovniho adresare. 20. Konecne okamzik, na ktery jsme cekali. Zadanim pfikazu tar zxvfwireshark-0.99.4.tar.gz a stisk- nutim klavesy Enter rozbalte soubor Wireshark. Zadejte cd wireshark-0.99.4 a stisknete Enter pro zmenu aktualniho adresare. Napiste ./configure a stisknete Enter pro spusteni konfigurac- niho skriptu. /kompilujte zdrojovy kod pfikazem make. Pote proved’te instalaci programu pfika- zem sudo make install a stisknutim klavesy Enter. Budete vyzvani к zadani hesla uzivatele root. Po dokonceni instalace se pfikazem cd.. prepnete zpet do puvodniho pracovniho adresafe. 21. Zadanim pfikazu wireshark a stisknutim klavesy Enter spust’te aplikaci Wireshark. Melo by se objevit graficke uzivatelske rozhrani. Prave jste uspesne sestavili aplikaci Wireshark ze zdrojovych kodu. Pokazde kdyz chcete Wireshark spustit, spust’te nejprve aplikaci XI1 a Wireshark spoustejte z okna Xterminal, ktere se otevfe. Binar- ni soubory Wiresharku se instaluji do slozky Zusr/local/bin, takze pokud nemate toto umisteni trvale definovano v promenne $PATH, meli byste jej tarn pfidat. Jakmile je vse nainstalovano, muzete take ze slozky /User/uzivatelske jmeno odstranit vsechny soubory *.tar.gz. Poznamka: SharkLauncher je uzitecny nastroj, ktery spusti prostfedi X11 a take binarni soubor Wiresharku. Muzete jej stahnout na adrese sourceforge.net/projects/aquaethereal. Instalace Wiresharku na Mac OS X s pouzitim DarwinPorts DarwinPorts je pozmenenou verzi softwaru, kteryje urcen pro operacni systemy zalozene na systemu Unix. rlato aplikace automatizuje proces instalace programu tfetich stran pro operacni system Mac OS X i jine. Krome toho sleduje vsechny informace о zavislostech daneho programu. DarwinPorts vi, co a v jakem pofadi ma zkompilovat. Pote co DarwinPorts stahnete a nainstalujete, muzete jej pouzit pro snadnou instalaci vsech druhu aplikaci - v nasem pfipade pro instalaci Wiresharku. 1. Nejprve pripravte svuj Mac tim, ze nainstalujete Xcode Tools, ktere jsou umisteny na instalacnim CD operacniho systemu. Takto nainstalujete kompilator gcc a dalsi vyvojove nastroje potfeb- ne pro uspesnou kompilaci zdrojoveho kodu, jako je prostfedi XI1. Pokud pouzivate operacni system Tiger, najdete slozku Xcode Tools na CD s nazvem Mac OS X Install Disc 1. Poklepejte na XcodeTools.mpkg a postupujte podle instrukci na obrazovce. 2. Nainstalujte prostfedi XI1, ktere take najdete na instalacnim CD systemu Mac OS X. Bahcek je umisten ve slozce System -> Installation -> Packages -> XllUser.pkg. Poklepejte na soubor XI lUser.pkg a postupujte podle instrukci na obrazovce. Tento proces nainstaluje aplikaci XI1 do slozky Utilities. 3. Z adresy macports.com si stahnete apbkaci DarwinPorts. Stazeny soubor zkopirujte do slozky /Users/Uzivatelske jmeno. 4. Poklepanim spust’te ze slozky Utilities aplikaci XI1. Otevfe se okno Xterminal. Standardne se Xterminal spusti s vychozim umistenim v/Users/uzivatelskc jmeno a s pouzitim pfikazu Is a stisk- nutim klavesy Enter byste meli videt prave stazeny instalacni balicek. 5. Zadanim pfikazu tar zxvf DarwinPorts- 1.3.2.tar.gz a stisknutim klavesy Enter rozbalte sou- bor DarwinPorts. Zadejte cd DarwinPorts-1.3.2 a stisknete Enter pro zmenu aktualniho adre-
112 Kapitola 3: Jak zi'skat a nainstalovat Wireshark safe. Napiste ./configure a stisknete Enter pro spusteni konfiguracniho skriptu. Zkompilujte zdrojovy kod pfikazem make. Pote proved’te instalaci programu pfikazem sudo make install a stisknutim klavesy Enter. Budete vyzvani к zadani hesla uzivatele root. Po dokonceni instala- ce se pfikazem cd .. pfepnete zpet do puvodniho pracovniho adresafe. 6. DarwinPorts nainstaluje binarni soubory do slozky Zopt/local/bin, muzete tedy pfidat tuto cestu do promenne $PATH zadanim pfikazu PATH=$PATH:/opt/local/bin a stisknutim klavesy Enter. 7. Proved’te aktualizaci portu, abyste se ujistili, ze pouzivate nejnovejsi verzi. Aktualizaci provedete pfikazem sudo port -d selfupdate a stisknutim klavesy Enter. 8. Nainstalujte Wireshark zadanim pfikazu sudo port install wireshark a stisknutim klavesy Enter. DarwinPorts zacne dodavat a instalovat pfislusne softwarove zavislosti a binarni soubo- ry Wiresharku. Tento proces muze chvilku trvat. 9. Jakmile je instalace dokoncena, muzete pfikazem wireshark spustit aplikaci Wireshark a otevfit jeho graficke uzivatelske rozhrani. Prave jste uspesne nainstalovali Wireshark s pouzitim DarwinPorts. Pokazde kdyz chcete Wireshark spustit, spusfte nejprve aplikaci XI1 a Wireshark spoustejte z okna Xterminal, ktere se otevfe. Binar- ni soubory Wiresharku se instaluji do slozky /usr/local/bin, takze pokud nemate toto umisteni trvale definovano v promenne $PATH, meli byste ho tarn pfidat. Jakmile je vse nainstalovano, muzete take ze slozky /User/uzivatelske jtneno odstranit soubor DarwinPorts-1.3.2.tar.gz. Instalace Wiresharku na operacni system Mac OS X s pouzitim aplikace Fink Projekt Fink modifikuje unixovy software takovym zpusobem, ze je mozne jej zkompilovat a spustit na operacnim systemu Mac OS X. Pote je pomoci nastroju pro spravu baliku dpkg a apt-get sesta- ven distribucni balik. 1. Nejprve pfipravte svuj Mac tim, ze nainstalujete Xcode Tools, ktere jsou umtsteny na instalacnim ('D operacniho systemu. Takto nainstalujete kompiiator gcc a dalsi vyvojove nastroje potfeb- ne pro uspesnou kompilaci zdrojoveho kodu, jako je prostfedi XI1. Pokud pouzivate operacni system Tiger, najdete slozku Xcode Tools na CD s nazvem Mac OS X Install Disc 1. Poklepejte na XcodeTools.mpkg a postupujte podle instrukci na obrazovce. 2. Nainstalujte prostfedi XI1, ktere take najdete na instalacnim CD systemu Mac OS X. Balicek je umisten ve slozce System -> Installation -> Packages XI lUser.pkg. Poklepejte na soubor XIlUser.pkg a postupujte podle instrukci na obrazovce. lento proces nainstaluje aplikaci XI1 do slozky Utilities. 3. Stahnete si obraz instalatoru Finku z adresy fink.sourceforge.net. Poklepejte na obraz, cimz jej rozbalite, a potom poklepanim na soubor Fink pkg file spustite instalator. Dale postupujte podle informaci na obrazovce. 4. Otevfete soubor FinkCommander z obrazu instalatoru a pfetahnete binarni soubor Fink- Commander do slozky Applications. 5. Poklepejte na aplikaci FinkCommander, abyste spustili jej i graficke uzivatelske rozhrani.
Instalace Wiresharku ze zdrojoveho kodu 113 6. Klepnutim na nabidku Source a vyberem Sell update-rsy nc proved’te aktualizaci. 1 akto zajisti- te, ze vsechny baliky budou obsahovat posledni verze. 7. Nyni jste pfipraveni к instalaci Wiresharku. V seznamu balicku odrolujte dolu a vyberte balicek Wireshark. Klepnutim na ikonu v hornim levem rohu okna nainstalujete binarni balicek. 8. Kdyz je instalace dokoncena, musite pfed spustenim Wiresharku nejdrive otevrit okno aplikace Xterminal. Wireshark pak spustite zadanim pfikazu wireshark a stisknutim klavesy Enter. Prave jste s pouzitim programu Fink uspesne nainstalovali Wireshark. Vzdy kdyz chcete Wireshark spustit, ujistete se, ze spoustite aplikaci XI1 a Wireshark az z okna Xterminal, ktere se potom ote- vfe. Binarni soubory Wiresharku se nainstaluji do slozky/sw/bin, takze pokud nemate toto umisteni trvale detinovano v promenne $PATH, meli byste je tarn pfidat. Instalace Wiresharku ze zdrojoveho kodu Instalace Wiresharku ze zdrojoveho kodu je velmi vyhodna, a to hned v nekolika smerech. Nejenze budete mit к dispozici vsechen zdrojovy kod, doplnujici dokumentaci a ruzne soubory ke zkoutnani, ale budete mit take absolutni kontrolu nad mnoha aspekty sestavovaciho procesu. Wireshark muze byt sestaven ze zdrojoveho kodu jak na Windows, tak na Unixu a Linuxu. Avsak v teto knize se zameri- me na sestavem pod operacnim systemem Unix. Vlastni sestaveni softwaru vam poskytne lepsi pocit z celkovcho procesu instalace a ze znalosti akci, ktere se odehravaji na pozadi tohoto procesu. Odne- sete si take bohate znalosti о softwarovem baliku, programovani a sprave operacniho systemu. Prvni veci, kterou musime udelat, abychom byli schopni nainstalovat Wireshark ze zdrojoveho kodu, je instalace vsech potfebnych zavislosti. Pamatujete, ze jsme dfive uvedli, ze pro plynuly a efektivni beh Wiresharku potfebujeme urcite soubory? Krome libpcap Wireshark potfebuje take nasleduji- ci baliky: GTK+ a Glib. Nicmene v zavislosti na konkretni verzi operacniho systemu budete mozna potfebovat i nasledujici soubory: ♦ Pkg-con fig pkgconfig.freedesktop. org ♦ Gettext www.gnu.org/software/gettext ♦ ATK ftp.gtk. org/pub/gtk/v2.10/dependencies ♦ Libpng libpng.sourceforge.net ♦ Libxml ftp://xmlsoft.org/libxml2 ♦ Free type freetype.sourceforge. net ♦ Fontconfigfontconfig.org ♦ Cai ro ftp.gtk. org/pub/gtk/v2.10/dependencies ♦ Pango www.gtk.org/download ♦ Jpgsrc ftp.gtk.org/pub/gtk/v2.10/dependencies ♦ Tiffftp.gtk.org/pub/gtk/v2.10/dependencies Abyste ziskali vice informaci о instalaci techto balicku, pfectete si sekci „Instalace Wiresharku pro operacni system Mac OS X ze zdrojovych kodu”.
114 Kapitola 3: Jak ziskat a nainstalovat Wireshark rOZnamKd. JdK uz. uyiu itrctriiu, vtrioiiia iiotaiaui puoiupujc puuic luiiiidiu luiiiigure -7 nidi NQ make install. Ale v nekterych pfipadech mohou byt zapotfebi i jine kroky. Kdyz je archiv tar Poznamka: Jak uz bylo receno, vdtsina instalaci postupuje podle formatu configure -> make -> roz- balen, obvykle je v nove vytvofene slozce pfitomen textovy soubor INSTALL Prozkoumejte tento soubor pomoci prikazu more INSTALL pro overeni instalacniho procesu. Pote co jsou nainstalovany vsechny potrebne zavislosti, muzeme zacit s instalaci Wiresharku. Je mozne, ze od napsani teto knihy byly uvolneny nove verze - lu aktualni si muzete stahnout ze stran- ky www.wireshark.org. Pamatujte, ze neni beznou praxi sestavovat software pod uctem uzivatele root, ale pouze se pfepnout na uzivatele root v prubehu kroku make install. 1. Prikazem tar zxvfwireshark-0.99.4, tar.gz a stisknutim klavesy Enter dekomprimujte a rozbal- te archiv s Wiresharkem. Bude vytvofena slozka wireshark-0.99.4. 2. Zmente pracovni adresaf pomoci prikazu cd wireshark-0.99.4 a stisknutim klavesy Enter. 3. Zadejte pfikaz ./configure a stisknete klavesu Enter, cimz spustite konliguracni skript. Po jeho vykonani uvidite na obrazovce souhrn vsech voleb. Tyto volby muzete zmenit pomoci specific- kych parametru zadanych s konfiguracnim skriptem. Vice informaci na toto tema najdete v sekci „Zapmani a vypinani vlastnosti14. 4. Kdyzje predchozi krok dokoncen a opet vidite vyzvu pfikazoveho fadku, pfesvedcte se, ze nedo- slo к zadnym chybam. Pokud vystup vypada v pofadku, zadejte pfikaz make a stisknete klavesu Enter. 5. Skoncil-li pfikaz make bez chyb, zadejte su root a stisknete Enter. Zadejte heslo uzivatele root a opet stisknete Enter. Pote pfikazem make install a stisknutim klavesy Enter nainstahijte sou - bory do pfislusnych slozek. Kdyz je instalace dokoncena, zadejte cd.. a stisknete Enter pro pfe- sunut! do nadfazene slozky. 6. Po dokonceni procesu make install se opet zobrazi vyzva pfikazoveho fadku. Nyni muzete pfi- kazem wireshark a stisknutim klavesy Enter spustit aplikaci Wireshark. Melo by se zobrazit graficke uzivatelske rozhrani. Prave jste uspesne sestavili Wireshark ze zdrojoveho kodu. Binarni soubory instaluje Wireshark do umisteni Zusr/local/bin, takze pokud tuto cestu nemate obsazenou v promenne $PATH, musite ji pfidat rucne. Jakmile je vse hotovo, muzete smazat soubory s pfiponou *.tar.gz. Poznamka: Ve vystupu konfiguracniho skriptu uvidite vypsanytake dalsi programy, ktere mozna neznate. Kazdy z nich je pro vy voj Wiresharku velmi uzitecny. Aplikace idl2wrs slouzi pro konverzi souboru CORBA Interface Definition Language (IDL) na zdrojove k6dyjazyka C pro zasuvne modu- ly programu Wireshark. Program randpkt slouzi ke generovani souboru zachycenych paketu. Umi vytvaret ruzne typy paketu s uzivatelsky definovanym maximalnim poctem bajtu a uzivatelsky definovanym poctem paketu. Nakonec program dftest pracuje jako testovaci aplikace kompilatoru zobrazovacich filtru. Pouziva se pro filtrovaci rutiny pfi ladeni byte-kodu zobrazovacich filtru. Po dokonceni instalace by ve slozce Zusr/local/bin mely byt nainstalovany nasledujici soubory: wireshark, tshark, editcap, mergecap, dumpcap, text2pcap a idl2wrs. Zasuvne moduly jsou nainstalo- vany ve slozce /user/local/lib/wireshark/plugins/0.99.4. Zdroje informaci, ktere urcite stoji za zminku, najdete ve slozce wireshark-0.99.4/doc. Najdete zde nekolik souboru README о vnitfni architektufe
Instalace Wiresharku ze zdrojoveho kodu 115 Wiresharku. Nektere uzitecne soubory README najdete take ve slozce wireshark-0.99.4. Soubory INSTALL a INSTALL.configure ze slozky Wiresharku jsou take dobrymi zdroji. Poznamka: Soubor manuf je textovy dokument umisteny ve slozce /use/local/share/wireshark, ktery obsahuje velmi dlouhy seznam zn^mych adres MAC ruznych vyrobcu si't’ovych karet. Tento seznam muze byt pfi feseni problemu se siti u/’tecny. Poznamka: Chcete-li skutecne posledni verzi Wiresharku, muzete ji stahnout z automatizovane roznamKa; i_nceie-n SKuiecne posieuni verzi vviresnarKU, muzeie ji siannoui z auionidiizovane 'Cs sekce webu www.wireshark.org 'download/automated. Jedna se о verzi, na ktere momentalne pra- cuji vyvojafi Wiresharku, takze mejte na pameti, ze je to beta verze a muze obsahovat chyby. Zapinani a vypinani vlastnosti prostrednictvim skriptu configure V prubehu instalace, v kroku, kdy je pouzit skript configure, muzete zadat instalacni aplikaci ruzne volby slouzici к pf izpusobeni programu vasim potfebam. V souboru INSTALL z archivu tarball obsa- hujiciho Wireshark jsou definovany nasledujici moznosti: Poznamka: Pomoci pfikazu Jeonfigure -help ziskate о volitelnych parametrech instalace vice informaci. ♦ —sysconfdir=DIR Wireshark standardne instaluje podpurny soubor (manuf) do slozky ${PRE- FIX}/etc, kde ${PREFIX} pfedstavuje hodnotu pfepinace —prelix=DIR. Pokud pfepinac —prefix nezadate, bude ${PREFIX} obsahovat hodnotu ,,/usr/local’. Pomoci volby —sysconfdir muzete /menit umisteni souboru manuf. ♦ —disable-usr-local Standardne skript configure hleda pfidavne soubory s hlavickami a knihovny ve slozce /usr/local/{include,lib}. Pouzitim tohoto prepinace zabranite skriptu conligure v pro- hledavani techto slozek. ♦ —disable-wireshark Pokud skript configure najde knihovny GTK+, aplikace Makefile sestavi Wireshark s jeho gralickym uzivatelskym rozhranim. Sestaveni verze s GUI timto pfepinacem zakazete. ♦ -disable-gtk2 Tento pfepinac zajisti sestaveni Wiresharku zalozeneho na Glib/Gtk+ 1.2[.x]. ♦ —disable-tshark Standardne je sestaven i Tshark - analyzator paketu pracujici z prostfedi pfi ka- zoveho fadku. Pouzitim tohoto pfepinace toto sestaveni zakazete. ♦ -disable-editcap Standardne je sestaven i program pro editaci souboru zachycenych dat. Pouzi- tim tohoto pfepinace toto sestaveni zakazete. ♦ —disable-tnergecap Standardne je sestaven i program pro spojovani souboru se zachycenymi daty. Pouzitim tohoto pfepinace toto sestaveni zakazete. ♦ —disable-text2pcap Standardne je sestaven i program pro konverzi souboru z formatu hex-dump do formatu souboru se zachycenymi daty. Pouzitim tohoto pfepinace toto sestaveni zakazete. ♦ -disable-id!2wrs Standardne je sestaven i program pro konverzi souboru IDL do formatu soubo- ru zdrojoveho kodu disektoru Wiresharku. Pouzitim tohoto pfepinace toto sestaveni zakazete. ♦ —enable-dftest Standardne je sestaven i testovaci program kompilatoru zobrazovacich filtru. Pouzitim tohoto pfepinace toto sestaveni zakazete.
116 Kapitola 3: Jak zi'skat a nainstalovat Wireshark Ф —enable-randpkt Standardise je sestaven i program pro vytvafeni souboru s nahodne generova- nymi pakety. Pouzitim tohoto pfepinace toto sestaveni zakazete. ♦ —without-pcap Pouzijte tento pfepinac v pripade, ze se rozhodnete sestavit analyzator paketu, ktery muze analyzovat data, ale nemuze je zachytavat, a pfitom mate nainstalovanou knihovnu libpcap. Dalsi vhodnou situaci pro pouziti tohoto pfepinace je, kdyz sestavujete Wireshark na systemu, ve kterem libpcap neni (v tomto pripade nemate jinou moznost, nez sestavit takovou verzi, ktera umi analyzovat zachycene pakety, ale neumi je sama zachytavat). ♦ -with-pcap=DIR Pouzijte tento pfepinac, abyste sdclili Wiresharku, kde je knihovna libpcap nainstalovana. ♦ —without-zlib Standardne pokud skript configure najde nainstalovan zlib, bude sestavena knihovna wiretap, takze bude mozne cist komprimovane soubory se zachycenymi daty. Pouzijte tento pfe- pinac, mate-li zlib, ale nechcete ji sestavit do knihovny wiretap pouzivane Wiresharkem, Tshar- kem a dalsimi nastroji pro zachytavani dat. ♦ -with-zlib=DIR Pokud je zlib nainstalovan v nejakem nestandardnim umisteni, pouzijte tento pfepinac, abyste Wiresharku toto umisteni sdelili. ♦ -disable-ipv6 Najde-li skript configure v systemu podporu pro pfeklad nazvu protokolu IPv6, analyzatory paketu tuto podporu budou vyuzivat. Pouzijte tento pfepinac pro zakaz pouzivani pfekladu nazvu protokolu IPv6. ♦ —enable-setuid-install Tento pfepinac pouzijte tehdy, kdyz chcete nainstalovat analyzator pake- tu jako setuid. Instalovat Wireshark nebo Tshark jako setuid root je nebezpecne. Zduraznujeme: JE TO NEBEZPECNfi. Radeji to nedelejte. ♦ -with-ssl=DIR Pokud vase knihovna SNM P potfebuje knihovnu SSL, ktera je vsak nainstalovana v nestandardnim umisteni, muzete toto umisteni specifikovat s pouzitim tohoto pfepinace. ♦ -without-net-snmp Pokud skript configure najde v systemu podporovanou verzi knihovny Net SNMP, budou disektory SNMP rozsifeny pro pouziti rutin knihovny SNMP. Pouzijte tento pfe- pinac, abyste se vyhnuli pouzivani knihovny Net SNMP i tehdy, kdyz je nainstalovana. ♦ —with-net-snmp=PATH Pokud je skript net-snmp-config, ktery je soucasti baliku Net-SNMP, ulozen v nestandardnim umisteni, pouzijte tento pfepinac pro sdelem aktualni cesty ke konfi- guracnimu skriptu. ♦ —without-ucd-snmp Pokud skript coni igure najde v systemu podporovanou verzi knihovny UCD SNMP, budou disektory SNMP rozsifeny pro pouziti rutin knihovny SNMP. Pouzijte tento pfepi- nac, abyste se vyhnuli pouzivani knihovny UCD SNMP i tehdy, kdyz je nainstalovana. ♦ —with-ucd-snmp=DIR Pokud je knihovna UCD SNMP nainstalovana v nejakem nestandardnim umisteni, pouzijte tento pfepinac, abyste skriptu configure toto umisteni sdelili. ♦ — without-plugins Podporuje-li system nahravatelne systemy moduly run-time, jsou analyzatory paketu sestaveny s podporou pro podpurne zasuvne moduly. Pouzijte tento pfepinac pro sesta- veni analyzatoru paketu bez podpory zasuvnych modulu. ♦ -with-plugins=DIR Standardne se zasuvne moduly instaluji do umisteni ${LIBDIR}/wireshark/ plugins/${ VERSION}. Hodnota ${LIBDIR} muze byt nastavena pfepinacem -libdir nebo obsaho- vat standardni cestu ${EPREFIX/lib}. ${EPREFIX} muze byt nastavena pfepinacem -exec-prefix nebo obsahovat standardni hodnotu $<PREFIX}. ${VERSION} udava verzi Wiresharku. Pouzijte tento pfepinac pro zmenu umisteni pouziteho pro instalaci zasuvnych modulu.
Rychla reseni 117 Shrnuti V teto kapitole jsme probrali zaklady instalace Wiresharku, vcetnd balickii RPM a zdrojoveho kodu. Take jsme probrali kompletni instalaci knihoven libpcap a WinPcap, stejne tak i instalaci Wiresharku pro operacni systemy Windows, Mac OS X a systemy zalozene na Unixu. Naucili jsme se, jak nain- stalovat potfebny software a vyfesit pfipadne problemy se zavislostmi. Nyni jste vybaveni znalostmi a programy potfebnymi pro praci s touto knihou. Jak bylo uvedeno drive, je dulezite udrzovat Wireshark neustale aktualni. To znamena take aktua- lizaci knihoven pro zachytavani dat, podpiirny software a Wireshark samotny. Stranky Wiresharku byste meli navstevovat casto, abyste meli pfehled о poslednich novinkach. Take je uzitecne se zare- gistrovat pro odber zprav z ruznych e-mailovych konferenci. Vfele doporucujeme take aktualizaci operacniho systemu, zejmena co se tyce bezpecnostnich oprav a zaplat. Pocitacova bezpecnost je technologie, ktera se neustale vyviji, a je nezbytne sledovat aktualni vyvoj, abyste byli schopni snizit riziko uspesneho napadeni systemu. Vsechny tyto casti spolecne vam poskytnou pevny zaklad pro sit’ovou analyzu, ktera vam pomuze pfi feseni problemu se siti a bezpecnosti v nadchazejicich letech. Rychla reseni Jak ziskat Wireshark? ♦ Wireshark muzete stahnout ve forme binarnich souboru ci zdrojoveho kodu. ♦ Binarni soubory Wiresharku jsou dostupne pro mnoho platforem. ♦ Balicky potfebne pro instalaci Wiresharku jsou dostupne na Internetu zdarma na pfislusnych webovych strankach. Ovladace pro zachytavani paketu ♦ Ovladace pro zachytavani paketu jsou zodpovedne za zachytavani surovych sitovych paketu. ♦ Unixove operacni systemy pouzivaji pro zachytavani dat knihovnu libpcap; operacni systemy zalozene na Windows pak pouzivaji knihovnu WinPcap. ♦ Aby Wireshark mohl zachytavat data, musi byt v systemu nainstalovana knihovna libpcap nebo WinPcap. ♦ Knihovna libpcap muze byt nainstalovana z binarnich souboru nebo ze zdrojoveho kodu. ♦ Pfed instalaci nove verze knihovny WinPcap odinstalujte jeji starou verzi. Instalace Wiresharku na operacnim systemu Windows ♦ Wireshark nainstaluje WinPcap za vas, pokud tak zvolite v prubehu instalace. ♦ Wireshark muzete odinstalovat programem uninstall.exe. ♦ Wireshark pro Windows nainstaluje take tshark, editcap, mergecap a textlpcap.
118 Kapitola 3: Jak zi'skat a nainstalovat Wireshark Instalace Wiresharku na operacnim systemu Linux ♦ Yellow dog Updater, Modified (YUM) nainstaluje Wireshark i vsechny jeho zavislosti automa- ticky. ♦ Pokud pouzijete YUM, musite pro ziskani grafickeho uzivatelske rozhrani Wiresharku nainsta- lovat balik Wireshark-gnome. ♦ Muzete take nainstalovat jednotlive balicky RPM, ale tento zpusob instalace muze byt diky zavis- lostem ponekud zradny. Instalace Wiresharku na operacnim systemu Mac OS X ♦ Na operacnim systemu Mac OS X muzete Wireshark nainstalovat s pomoci DarwinPorts, Fink nebo ze zdrojoveho kodu. ♦ Pro spusteni Wiresharku musite mit v systemu nainstalovany Xcode Tools a prostfedi XI1. ♦ DarwinPorts a Fi nk nainstaluji Wireshark vcetne jeho zavislosti automaticky. Instalace Wiresharku ze гс!го]оуё11о kodu ♦ Software potfebny pro sestaveni zdrojoveho kodu Wiresharku zahrnuje libpcap, GTK+ a Glib. ♦ Instalace ze zdrojoveho kodu je provedena pomoci sekvence pfikazu configure -> make -» make install. ♦ Instalace ze zdrojoveho kodu vam umoznuje lepsi kontrolu nad procesem instalace. ♦ Instalace ze zdrojoveho kodu vam dava pfistup ke zdrojovemu kodu a doplnujici dokumentaci. ♦ Wireshark se standardne instaluje do slozky /usr/local/bin. ♦ Pro pfizpusobeni instalace vasim potfebam muzete instalacnimu skriptu poskytnout mnoho ruznych voleb. Caste dotazy Nasledujici casto kladene otazky byly zodpovezeny autorem teto publikace a jsou zde umisteny proto, abyste mohli zhodnotit sve porozumeni danemu tematu, a take vam pomohou pfi uplatneni teore- tickych znalosti v podminkach realneho prostfedi. Otazka: Mohu kombinovat ruzne metody instalace? Napfiklad nainstalovat knihovnu libpcap pomo- ci balicku RPM a pote sestavit Wireshark ze zdrojoveho kodu, pfipadne naopak? Odpoved: Ano, alespon do te miry, do jakc vas operacni system dane instalacni metody podporu- je. Mozna bude zapotfebi upravit promennou $PATH tak, aby instalacni program nalezl potfebne zavislosti. Otazka: Co kdyz jsem nainstaloval Wireshark a pozdeji aktualizoval na GTK+2? Odpoved: Nic se nedeje, proste jen spusfte skript configure a pote spusfte make a make install. Wireshark automaticky detekuje GTK+2 a pouzije tuto verzi. Otazka: Byla uvolnena nova verze Wiresharku a rad bych provedl aktualizaci. Jak to mohu pro- vest?
Caste dotazy 119 Odpoved: Na operacnim systemu Linux zadejte pfikaz rpm -Uvh nebo yum. Na operacnim syste- mu Windows jednoduse spustte instalacni program nove verze a ten se postara о aktualizaci te sta- vajici. Na operacnim systemu Mac OS X muzete pouzit DarwinPorts, resp. jeho pfikaz port upgrade wireshark. Pokud jste program sestavili ze zdrojoveho kodu, budete muset provest sekvenci pfikazu configure -» make -> make install na nove verzi znovu. Otazka: Byla uvolnena nova verze WinPcap. Jak ji mohu aktualizovat? Odpoved: Nejdfive otevfete slozku, ktera obsahuje stavajici verzi WinPcapu (obvykle C:\Program Files\WinPcap), a spustte program uninstall.exe. Restartujte pocitac a pokracujte instalaci spustitel- neho souboru nove verze. Otazka: Nainstaloval jsme vse potfebne a instalace se zda byt v pofadku, ale kdyz se pokusnn spustit Wireshark, objevi se chybova hlaska, ze nemuze byt nalezen. Odpoved: Zkontrolujte, zda je Wireshark ve spravnem umisteni - napfiklad /usr/local/bin. Otazka: Proc musim instalovat vsechny ty programy, abych mohl sestavit Wireshark? Odpoved: Wireshark je vsestrannou aplikaci bohatou na ruzne funkce. Spoleha se na mnoho ruz- nych detailu v nekterych dfive vytvofenych knihovnach. Je to nezbytne к tomu, aby Wireshark mohl provadet nektere nizkourovnove operace.

KAPITOLA 4 Pouzivame Wireshark Reseni v teto kapitole: ♦ Zaciname s Wiresharkem ♦ Seznamujeme se s Hlavnim oknem ♦ Dalsi casti okna ♦ Seznamujeme se s nabidkami ♦ Pouzivani voleb v pfikazovem radku ♦ Shrnuti ♦ Rychla feseni ♦ Caste dotazy
122 Kapitola 4: Pouzivame Wireshark Uvod Wireshark poskytuje blizsi pohled do deni na siti, coz je uzitecne zejmena pfi implementaci protoko- lu, ladeni sitovych aplikaci, testovani siti a ladeni siti za chodu. V situacich, ktere vyzaduji interakci se siti na technicke urovni, muze byt vetsina problemu vyfesena pomoci Wiresharku. Wireshark je vynikajici ucebni pomuckou. Je velmi poucne moci videt a analyzovat sitbvy provoz. Tato kapitola pojednava о hlavnich soucastech gratickeho uzivatelskeho rozhrani Wiresharku, kte- rymi jsou: ♦ Hlavni okno ♦ Panel nabidek ♦ Panel nastroju ♦ Souhrnne okno ♦ Okno stromu protokolu ♦ Okno pro zobrazeni dat ♦ Panel filtru ♦ Informacni pole ♦ Pole pro zobrazovani informaci V teto kapitole se budeme zabyvat take kontextovymi, mistnimi okny dostupnymi v Souhrnnem okne, Okne stromu protokolu a v Okne pro prohlizeni dat. Zminime se i о ruznych dialogovych oknech, ktera jsou spoustena z Panelu nabidek a Panelu nastroju. Naucite se, jak s Wiresharkem provadet zakladni ukony (napf. zachytavani sit’oveho provozu, uklada- ni a nacitani souboru zachycenych dat, zakladni filtrovani, tisk paketu) pomoci pokrocilych nastroju poskytovanych Wiresharkem. Pro ukazku mene znamych postupu budou popsany podrobne pfikla- dy, ktere vas provedou potfebnymi technikami krok za krokem. Zaciname s Wiresharkem Abyste mohli s Wiresharkem pracovat, musite jej samozfejme nejprve nekde ziskat a nainstalovat. Pokud pouzivate Linux, je pravdepodobne, ze vase distribuce operacniho systemu uz obsahuje Ethe- real, coz je pfedchudce Wiresharku. Kvuli dfivejsimu pfejmenovani projektu neni prilis pravdepo- dobne, ze byste meli pfimo Wireshark, a budete jej zfejme muset stahnout a nainstalovat. Pokud mate operacni system Windows nebo nekterou z verzi Unixu (Solaris, HP-UX, AIX atd.), budete muset Wireshark stahnout a nainstalovat. Binarni soubory si muzete stahnout ze stranky www.wireshark.org. Pokud zde pro vas operacni sys- tem zadne binarni soubory nenajdete nebo je najdete, ale nejsou aktualni, pfipadne jsou zkompilo- vany nevyhovujicim zpusobem, muzete si stahnout zdrojovy kod a sestavit Wireshark sami. Popis sestaveni Wiresharku je podrobne popsan v Kapitole 3 teto knihy. Muzete si take z adresy http://wiki.wireshark.com/SampleCaptures stahnout soubor bpg.pcap.gz, ktery budeme pouzivat v mnoha prikladech v teto kapitole. Kdyz mate Wireshark nainstalovany na poci- taci, ktery chcete pouzit pro zachytavani dat, zadejte v pfikazove radce nasledujici pfikaz: wi reshark
Seznamujeme se s Hlavnim oknem 123 panel nabidek Panel nastroju panel filtru Souhrnne okno Okno se stromem protokolu Okno pro zobrazeni dat Informacni pole Pole pro zobrazovani informaci Obrazek 4.1 Hlavni okno Na operacnim systemu Windows spustte Wireshark klepnutim na tlacitko Start -» Programy -» Wireshark -> Wireshark. Zobrazi se Hlavni okno aplikace Wireshark. Seznamujeme se s Hlavnim oknem Je dulezite definovat beznou sadu nazvu ruznych soucasti Hlavni ho okna. Obrazek 4.1 ukazuje Hlav- nf okno aplikace Wireshark spolu s nazvy jeho hlavnich soucasti. Soucasti Hlavniho okna jsou popsany v tabuice 4.1. Tabulka 4.1 Soucasti Hlavniho okna Soucast okna Popis Nabidka Bezna nabidka aplikace, ktera obsahuje dalsi polozky. Panel nastroju Obsahuje tlafitka bezne pouzivanych funkci Wiresharku. Ikony na Panelu nastroju maji prirazene tipy, ktere se zobrazuji po najeti ukaza- telem mysi nad ikonu. Panel filtru Podle ruznych kriterii aplikuje filtry na Souhrnne okno tak, aby bylo mnozstvi paketu zobrazenych v celkovem objemu zachycenych dat omezene, a tedy lepe citelne. _______ Souhrnne okno Poskytuje jednofadkovy souhrn pro kazdy zachyceny paket. Okno stromu protokolu Poskytuje podrobne dekodovani kazdeho paketu oznaceneho v Sou- hrnnem окпё.
124 Kapitola 4: Pouzi'vame Wireshark Soucast okna Okno pro zobrazeni dat Informal ni pole Popis Poskytuje pohled na surova data paketu oznafeneho v Souhrnnem окпё. Tato cast poskytuje informace о zachycenych datech nebo poli ozna- cenem v Окпё stromu protokolu. Pole pro zobrazovani informaci Tato fast poskytuje informace о poctu zachycenych paketu. Souhrnne okno Souhrnne okno /obrazuje souhrnnou informaci pro kazdy paket (jeden na radek) v zachycenych datech. Pro kazdy paket je zobrazen jeden nebo vice sloupcu. Obvykle sloupce jsou popsany v ta- buice 4.2. Tabulka 4.2 Sloupce Souhrnneho okna Nazev sloupce Popis No. Cislo ramce v souboru zachycenych dat. Time Cas, ktery uplynul od zacatku zachytavani dat po zachyceni konkrftniho paketu. Source Zdrojova adresa protokolu nejvy^i йгсмпё (Ьёгпё adresa protokolu IP); avSak muze zde byt uvedena i adresa MAC druhe vrstvy Ethernetovych protokolu nebo jinych typu daKich protokolu (IPX, Appletalk atd.). (Vice informaci к diskusi о adresach MAC najdete v poznamce.Pfeklad nazvu".) Destination Cilova adresa protokolu nejvyssi йгсл/пё (Ьёгпё adresa protokolu IP); avsak miize zde byt uvedena i adresa MAC druhe vrstvy Ethernetovych protokolu nebo jinych typu dalsich protokolu (IPX, Appletalk, atd.). Protocol Вёгпё zde najdete dekodovany protokol nejvyssi йгсмпё, napfiklad Hypertext Transfer Protocol (HTTP), File Transfer Protocol (FTP) a Simple Mail Transfer Protocol (SMTP). Info Toto pole obsahuje informaci, ktera byla vyhodnocena dekodfrem nejvyssiho pro- tokolu jako uzitecna nebo informativni cast souhrnu daneho paketu. К vyberu sloupcu zobrazovanych v Souhrnnem окпё muzete pouzit dialog „Preferences". V nabidce klepnete na Edit •» Preferences. V tabuice 4.3 muzete videt souhrnnou informaci paketu vybraneho v Souhrnnem окпё na obraz- ku 4.1.
seznamujeme se s Hlavnim oknem 125 Tabulka 4.3 Sloupce Souhrnneho okna Nazev sloupce Priklad hodnoty No. 8 Time 8.004042 seconds since the capture started Source IP number 192.168.0.15 Destination IP number 192.168.0.33 Protocol Border Gateway Protocol (BGP) Info OPEN message Na prvni pohled vidime, ze tento paket obsahuje informaci о zahajeni relace protokolu BGP mezi sys- temy s adresou IP 192.168.0.15 a 192.168.0.33. (Dalsi informace о protokolu BGP najdete v dokumentu Request for Comment (RFC) 1771 na adrese www.ietf.org/rfc/rfcl771 .txt?number= 1771.) Klepnutim na fadek obsahujici souhrn paketu v Souhrnnem окпё vyberte pakety. V Окпё stromu protokolu a v Окпё pro zobrazeni dat budou zobrazeny informace pro vybrany paket. Jakmile jste v Souhrnnem окпё nejaky paket vybrali, muzete pouzit Okno stromu protokolu pro zobrazeni podrobnejsich informaci. Okno stromu protokolu Predstavte si paket jako stromovou strukturu poh a dalsich podstromu. Pro kazdy protokol existuje uzlovy bod, ktery muze byt ro/balen a poskytnout informace о hodnotach poll protokolu. V ne-kterych protoko- lech mohou bvt иг1оуё body shrnujici komplikovanejsi datove struktury protokolu. Tyto uzlove body Ize rozbalit a zobrazit tak data v techto str ukturach. U libovolneho uzlu, ktery obsahuje podstrom, muzete tento podstrom rozbalit a zobrazit tak vice informaci nebo sbalit uzel tak, aby byl zobrazen jen souhrn. Okno stromu protokolu umoznuje prohlizeni stromu vytvoreneho Wiresharkem dekodovanim paketu. bgp pcap Wireshark ЯЙВ D® Ld* Y>ew Go Captue Analyze у dp E*« Na . Piotaxl Into [ACK] t ,1 r 3. U »>S. U 8.208048 8.337997 8.338027 192.168.0.33 192.168.0.33 192.168.0.15 TCP BGP TCP [ACK] [SYN] [SYN, [ACK] 192.168.0.15 192.168.0.15 192.168.0.33 n i to ?? es on wire, 83 es capture TCP TCP TCP TCP TCP TCP TCP seq-0 Ack-1 > ack] seq-0 a seq=l Ack=l \ Seq=0 Len=0 r ACK] Seq-0 A Seq=l Ack-1 * bgp > 2124 [ACK] Seq-1 Ack-30 open Message 2124 > bgp LACK] Seq-30 Ack-3« bgp >2123 [fin, psh, ack] se» 2123 > bgp ‘ 2123 > bgp bgp > 2123 2124 > bgp bgp > 2124 2124 > bqp Source 192.168.0.33 192.168.0.15 192.168.0.15 192.168.0.33 192.168.0.15 192.168.0.33 192.168.0.15 Destination 192.168.0 15 192.168.0.33 192.168.0.33 192.168.0.15 192.168.0.33 192.168.0.15 192.168.0.33 Time O.ODQOGO 0.000031 0.000422 0.006057 7.999977 8.003909 8.003954 — Frame 8 _ _ 83 Ethernet II, src: Dellcomp_23:c5:95 (00:c0:4f:23:c5:95), Dst: dsco_35:0e:lc (OO:OO:Oc:35:0e: Internet Protocol, Src: 192/168.0.15 (192.168.0.15), Dst: 192.168.0.33 (192.168.0.33) Transmission control Protocol, src Port: 2124 (2124), Dst Port: bgp (179), seq: 1, Ack: 1, Lt Border Gateway Protocol .. ... .. . ®00 ui‘ 11 5 1 7 00 ’ 4f 25 C$ 95 оё 00 4 5 00 ...5.,/. O#/...E 010 00 45 48 e9 40 00 40 06 70 49 cO a8 00 Of CO a8 .EH.O.O. pl..... 020 00 21 08 4c 00 b3 d6 33 9d 62 7a 40 eO 46 50 18 .‘.L...3 .b2«.FP 030 7d 78 19 03 00 00 ff ff ff ff ff ff ff ff ff ff }x.............. 040 ff ff ff ff ff ff 00 Id 01 04 fe 09 00 tx cO a8 ........................ 050 00 Of 00 > ’t М»mhark\bgp pcap" 1911 Bytes 000008 |P20D 20M 0 Obr£zek 4.2 Okno stromu protokolu se sbalenymi uzly
126 Kapitola 4: Pouzi'vame Wireshark Nyni se podivame na Okno stromu protokolu, resp. na informaci zobrazenou vyberem paketu v pfed- chozim pfikladu (viz obrazek 4.2). V Okne stromu protokolu obsahuje kazda vrstva zasobm'ku protokolu pro dany paket jednoradko- vy souhrn (viz tabulka 4.4). Tabulka 4.4 Pn'klad vrstev protokolu Vrstva Protokol Popis Packet Meta Data Frame 83 bytes on wire, 83 bytes captured Data Link (Layer 2/L2) Ethernet II Src Addr: 00:c0:4f:23:c5:95 Dst Addr: 00:00:0c:35:0e:lc Network (Layer 3/L3) IP Src Addr: 192.168.0.15 Dst Addr: 192.168.0.33 Transport (Layer 4/L4) Transmission Control Src Port: 2124, Dst Port: bgp(179), Seq: Protocol (TCP) 2593706850, Ack... Application Layer (Layer 7/L7) BGP Vedle kazde z techto vrstev je znamenko plus (+) indikujici pritomnost podstromu, ktery muze byt rozbalen a poskytnout tak vice informaci о konkretnim protokolu. Na obrazku 4.3 je rozbalen strom protokolu BGP a muzete tak videt zpravu OPEN. Ta je take roz- balena a zobrazuje pole v ni obsazena. Obrazek 4.3 Okno stromu protokolu s rozbalenymi uzly
Seznamujeme se s Hlavnim oknem 127 Vyberem pole Type v Окпё stromu protokolu byla zobrazena zprava „BPG message type (bgp.type), lbyte“. To znamena dlouhy nazev tohoto pole (BGP message type), pole nazvu zobrazovaciho fil- tru pouzite pro identihkaci pole pfi filtrovani, zbarveni (bgp.type) a velikost tohoto pole v paketu (1 byte). Okno pro zobrazeni dat Okno pro zobrazeni dat obsahuje serii fadku, z nichz kazdy zacina ctyfmistnym cislem udavajicim pocet bajtu v oktetu. (Oktet je slozen bud’z 8 bitu, 1 bajtu nebo 2 hexadecimalnich dislic.) Prvni oktet na fadku udava posun od zacatku paketu (viz obrazek 4.4). Tento posun je nasledovan 16 hexadeci- malnimi hodnotami о dvou znacich. Posledm polozkou na fadku jsou pak znaky ve formatu Ame- rican Standard Code for Information Interchange (ASCII), ktere pfedstavuji onech 16 bajtu z pake- tu. Vsechny bajty nemohou byt zobrazeny ve formatu ASCII, a tak jsou nektere z nich nahrazeny znakem tedky (,). Posun prvniho oktetu na fadku (v hexadecimalnim tvaru) Obrazek 4.4 Okno pro zobrazeni dat Kdyz je v Окпё stromu protokolu vybrano пё}акё pole, v Окпё pro zobrazeni dat jsou oznaceny odpovidajici bajty. Na obrazku 4.4 jsme oznacili v Окпё stromu protokolu pole BGP Message Type. V Окпё pro zobrazeni dat je nyni zvyraznen bajt na fadku s posunem (Offset) 0040, coz znamena 0x40 v hexadecimalnim tvaru nebo 64 bajtu v paketu. Na fadku je гуугагпёп devaty bajt, ktery ma hexadecimalni hodnotu 01. Vidime vsak tecku (.), protoze hodnota 0x01 nema ve formatu ASCII odpovidajici znak.
128 Kapitola 4: Pouzivame Wireshark Kdyz v Okne pro zobrazovani dat klepnete na hexadecimalm bajt nebo znak ASCII, Wireshark zvy- razm pole v Okne stromu protokolu odpovidajici vybraneinu bajtu a vsem bajtum v Okne pro zob- razeni dat asociovanym s timto polem protokolu. Na obrazku 4.5 jsme klepli na zacatek fadku 0030 (vsimnete si, ze 48. bajt [0030 nebo 0x30 v hexade- cimalnim tvaru] je prvnim bajtem dvoubajtoveho pole TCP Window Size). V dusledku toho byl auto- maticky rozbalen strom protokolu TCP a bylo zvyrazneno pole Window Size. Navic byl take vybran druhy bajt na fadku 0030 (78 hexadecimalne), protoze velikost pole TCP Window Size je 2 baity. Tato vlastnost usnadnuje spolecne pouziti Okna stromu protokolu a Okna pro zobrazeni dat, ktere nam umoznuje pochopit vztah mezi poli protokolu a skutecnymi bity v siti. Obrazek 4.5 Vyber bajtu v Okne pro zobrazeni dat Dalsi casti okna Nyni se budeme zabyvat ruznymi doplnujicimi komponentami Wiresharku, ktere muzete pfi zkou- mani paketu shledat uzitecnymi. Panel filtru Panel filtru (viz obrazek 4.6) umoznuje zadat fetezec filtru, ktery omezuje zobrazeni paketu v Sou- hrnnem окпё. V Souhrnnem okne budou totiz zobrazeny pouze pakety, ktere vyhovuji zadanemu fetezci filtru. Retezec zobrazovaciho filtru deiinuje podminky paketu, ktere paket muze, ale nemusi
Dalsi casti okna 129 splnovat (napf. fetezec zobrazovaciho filtru (ip.addr == 10.15.162.1 && bgp) odpovida vsem pake- tum s adresou IP [at* uz zdrojovou nebo cilovou| 10.15.162.1, ktere jsou pakety protokolu BGP). FJe fcft Captute Analyze Statistics Help «• bgp pcap - Wireshark Ino. I Time • Source I Destination 1 Protocol 8 8.ОСИ 042 192.168.0.15 •X’ r J • 00 • c • U J LM BGP 10 8.337997 192.168.0.33 192.168.0.15 BGP 12 8.338115 192.168.0.15 192.168.0.33 BGP 13 8.342206 192.168.0.33 192.168.0.15 BGP 16 8. 544149 192.168.0.15 192.168.0.33 BGP 17 8. 549476 192.168.0.33 192.168.0.15 BGP 19 8.562733 192.168.0.33 192.168.0.15 BGP open Message KEEPALIVE Message keepalive Message keepalive Message, update Mes update Message keepalive Message Frame 8 ("83 bytes on wire, 83 bytes captured' Ethernet II, Src: Dellcomp_23:c5:95 (00:c0:4f:23:c5:95), 3st: dsco_35:0e:lc (00:00:0c:35:0e: internet Protocol, Src: 192.168.0.15 (192.168.0.15), Dst: 192.168.0.33 (192.168.0.33) Port В Border Gateway Protocol 50б0 00 00 Oc 35 Oe 1c 00 CO 4f 2$ cS $5 68 66 45 60 0010 0020 00 45 48 e9 40 00 40 06 70 49 cO a8 00 Of cO a8 03 4C OU 01 04 fe 09 00 b4 cO a8 .. 5.... 0*....E. EH.©.©. 050 00 Of 00 tanmssion Contral Protocol (tcp) 20 bytes |P 20D 7M 0 Obrazek 4.6 Panel filtru Na obrazku 4.6 vidite pouziti filtru bgp. Filtr pouzijete zadanim pozadovaneho fetezce do textoveho pole Filter: a stisknutim klavesy Enter (nebo klepnutim na tlacitko Apply |. Pamatujte, ze fetezce fil- tru jsou case-sensitive, takze fetezec BGP (velkymi pismeny) nebude fungovat. (Tradicne jsou cele nazvy fetezcu filtru psany malymi pismeny.) Take si vsimnete, ze textove pole Panelu filtru ma tfi ruzne barvy pozadi, ktere indikuji stav aktualniho filtru. Kdyz se barva pozadi textoveho pole Panelu filtru zmeni, bila znamena, ze neni zadan zadny filtr, zelena indikuje spravnou syntaxi filtru a nako- nec cervena nas upozornuje na nekompletni ci syntakticky nespravne zadani riltru. Poznamka: I kdyz textove pole Panelu filtru m3 zelenou barvu (ktera indikuje spr6vne zadani filt- ru), nemusi to питё znamenat, ze byl filtr pouzit. Kdyz je textove pole cervene, Wireshark nedovoli pouziti nespravndho filtru, a pokud se о pouziti pokusite, upozorni vas varovnou zpravou. Pote co je fetezec zobrazovaciho filtru bgp pouzit, budou v Souhrnnem окпё zobrazeny pouze pakety protokolu BGP. Sloupec No. zobrazuje skoky mezi cisly ramcu zobrazenych paketu, protoze v zachy- cenych datech jsou pakety, ktere byly diky zobrazovacimu filtru s fetezcem BGP potlaceny. Dfive pouzite filtry mohou byt snadno vyvolany pro opetovne pouziti (viz obrazek 4.7).
130 Kapitola 4: Pouzivame Wireshark Obrazek 4.7 Rozevirad seznam Panelu filtru Klepnutim na rozeviraci sipku na konci pole Filter muzete pfistupovat к seznamu drive pouzitych liltru. Abyste nektery z nich pouzili, vyberte jej ze seznamu a stisknete klavesu Enter nebo klepnete na tlacitko Apply. Klepnutim na tlacitko Reset odstramte momentalne pouzivany filtr, cimz opetovne zobrazite vsechny pakety. Klepnutim na tlacitko Filter: zobrazite d’alogove okno Display Filter. Poznamka: Editaci souboru RECENT ve slozce C:\Documents and Settings\<uzivatel>\Application Data\Wireshark muzete odstranit polozky z rozbalovadho seznamu Filter. Smazte odpovi'dajici fadky ze souboru RECENT umistene v sekc„Recent Display Filters". Informacni pole Informacni pole zobrazuje nazev souboru se zachycenyini daty nebo informace о poli protokolu vybraneho v Okne stromu protokolu. Pole pro zobrazovani informaci Pole pro zobrazovani informaci zobrazuje pocet paketu zobrazenych nebo filtrovanych v Souhrn- nem okne. P predstavuje celkovy pocet paketu, zatimco D udava celkovy pocet zobrazenych paketu a M predstavuje pocet oznacenych paketu.
Seznamujeme se s nabidkami 131 Seznamujeme se s nabidkami Vsechny funkce dostupne ve Wiresharku jsou pfistupne z nabidky. V teto sekci systematicky pro- zkoumame ruzne funkce a podivame se na priklady pouziti. Nabidka File Nabidka bile poskytuje pnstup к otvirani, ukladani a tisku souboru se zachycenymi daty (viz obra- zek 4.8). Moznosti nabidky File jsou popsany v tabuice 4.5. Obrazek 4.8 Nabidka File Tabulka 4.5 Moznosti nabidky File Polozka nabidky Popis Open... Otevre soubor se zachycenymi daty. Open Recent Zobrazi podnabidku Open Recent pro otevfeni souboru se zachycenymi daty ze seznamu drive otevrenych souboru. ____________ Merge Spoji jeden nebo vice souboru se zachycenymi daty s aktualnim souborem zachycenych dat. ____ Close Zavre aktualni soubor zachycenych dat. Save Ulozi aktualni soubor zachycenych dat.
132 Kapitola 4: Pouzivame Wireshark Polozka nabidky Popis Save As... Ulozi aktualni soubor zachycenych dat pod jinym nazvem nebo formatem. File Set Zobrazi podnabidku File Set pro navigad mezi vice soubory. Export Zobrazi podnabidku Export, ktera umoznuje exportovat cast paketu zvyrazne- nou v Окпё pro zobrazeni dat do formatu hexdump. Print... Vytiskne aktualni soubor zachycenych dat. Quit Ukonci aplikaci Wireshark. Open (Otevrit) Otevfete soubor pfikazem File -» Open (viz obrazek 4.9). Obrazek 4.9 Dialogove okno Open Dialogove okno Open poskytuje bezny mechanismus pro navigaci pfi vyberu souboru. Navic vsak umoznuje pouzit pole Filter, jehoz vyplnenim odfiltrujete pakety, ktere maji byt nacteny ze souboru /achycenych dat. Klepnutim na tlacitko Filter: otevfete dialogove okno Display Filter (toto okno je popsano v sekci „Analyza"). Dialogove okno Open obsahuje take zaskrtavaci policka pro povoleni prekladu nazvu adres MAC, sitovych nazvu a transportnich nazvu. Abyste otevreli soubor, najdete jeho umisteni a vyberte pozado - vany soubor, pfipadne zadejte fetezec filtru a povolte nebo zakazte pfeklad nazvQ, ktery chcete pouzit. Nakonec klepnete na tlacitko Ok.
Seznamujeme se s nabi'dkami 133 Dalsi informace Preklad nazvu ve Wiresharku Wireshark pro lepsi srozumitelnost sitbvych protokolu umoznuje tri typy pfekladu nazvu Pfi otevirani souboru, zahajeni zachytavani nebo v jeho prubehu muzete povolit nebo zaka- zat pfeklad nazvu MAC, sitbvych nazvu a transportnich nazvu. Je uzitecne znat odlisnosti techto tfi typu prekladu nazvu. Kazdy hostitel v siti je identifikovan 6bajtovou adresou MAC, ktera se pouziva v etherne- tovych ramcich pro uvedeni zdrojove nebo cilove adresy na vrstve datovych spoju. Adresy MAC jsou globalne jedinecne. Aby tato jedinecnost mohla byt zarucena, organizace Insti- tute of Electrical and Electronic Engineering (IEEE) pfideluje vyrobcum hardwaru bloky adres MAC. Prvni 3 bajty' kazde adresy MAC udavaji vyrobce zafizeni. Kdyz v dialogovem окне Open povolite zaskrtavaci polidko Enable MAC address resolution (Povolit pfeklad nazvu adres MAC), Wireshark pfelozi prvni 3 bajty adresy MAC na nazev vyrobce a zobrazi tuto informaci pro kazdou adresu MAC (napr. predpona 00:00:0c byla pridelena spolecnosti Cisco). Kdyz je pfeklad nazvu adres MAC povolen, Wireshark zobrazuje napf. adresu MAC 00:00:0c35:0e:lc jako 00:00:0c:35:0e:lc (Cisco_35:0e:lc). Kazdy uzel na siti IP ma svou adresu IP. Kdyz zaskrtnete policko Enable network name reso- lution (Povolit pfeklad sitbvych nazvu), Wireshark provede zpetny dotaz systemu Domain Name System (DNS) pokazde, kdyz se setka s adresou IP, aby zjistil pfifazeny domenovy nazev (napr. www.cpress.cz). Wireshark potom zobrazi tento domenovy nazev spolecne s adresou IP (napr. adresa IP 66.35.250.150 miize byt pomoci zpetneho dotazu pfelozena na domeno- vy nazev slashdot.org). Pokud je pfeklad sitbvych nazvu povolen, Wireshark zobrazi nazev v teto podobe: slashdot.org (66.35.250.150). Protokoly transportni vrstvy jako Transmission Control Protocol (TCP) a User Datagram Protocol (UDP) bezne poskytuji jistou formu nasobem komunikacniho kanalu v podobe specitikace zdrojoveho a ciloveho portu. V praxi to znamena, ze dva pocitace mohou komu- nikovat prostfednictvim nekolika jasne oddelenych konverzaci zaroven, pokud maji unikat- ni par zdrojoveho a ciloveho portu pro kazdou z techto konverzaci. Mnoho ruznych proto- kolu, ktere pouzivaji ГСР nebo UDP na Transportni vrstve, ma tzv. zname porty, na kterych server nasloucha pozadavkum. Kdyz zaskrtnete policko Enable transport name resolution (Povolit pfeklad transportnich nazvu), Wireshark bude zobrazovat nazev sluzby, ktera bezne nasloucha na danem portu. Toto chovani muzete vid£t v mnoha pfikladech v teto kapitole, kde byl port s dislem 179 oznacen protokolem, о kterem je znamo, ze pracuje na tomto portu, v tomto pfipade protokolem bgp. Je dulezite se na tomto miste zminit, ze vetsina portu nema asociovany zadne protokoly. Save As (Ulozit jako) Dialogove okno Save As zobrazite vybranim polozky File -> Save As (nebo vybranim File -> Save As u zachycenych dat, ktera uz byla drive ulozena). (Viz obrazek 4.10.) 1 halogove okno Save As umoznuje provadet bezne ukony pro ukladani souboru zachycenych dat do pozadovaneho umisteni pod pozadovanym nazvem. Vybranim ruznych pfepinacu v sekci Packet Range (Rozsah paketu) a povolenim pfepinace All packets (Vsechny pakety) a soudasnym vybe-
134 Kapitola 4: Pouzi'vame Wireshark rem pfepinace Displayed (Zobrazeno) muzete ukladat ruzne kolekce paketu (napf. pouze pakety, ktere vyhovuji kriteriim aktivniho zobrazovaciho filtru). Abyste ulozili pouze vybrane pakety, ktere vyhovuji kriteriim aktivniho filtru, vyberte pfepinac Marked Packets (Oznacene pakety) spolecne s pfepinacem Displayed (Zobrazeno). Wireshark: Save rile as BE Savejn: | Wieshark I bgp pcap teardrop cap Filename Save as type Save Packet Rang** AB packets Г* Selected packet C* M&iCed packed C First to lak rrarked r Range | L___________________ <• Captured C Displayed 20 1 1 0 0 о 0 о 0 Obrazek 4.10 Dialogove okno Save File As Nakonec ulozte soubor v jednom z podporovanych formatu souboru zachycenych dat (viz obrazek 4.11). Wiieshaik: Save file as HE Save in CJ Wireshark bgp pcap teardrop cap File name Save as Jype: |WiiesharkAcpdurnpZ. - libpcap (’ pcap/ car jj ie$hark/tcpdum Wirashark • nanosecond libpcap (" pcap/ cap) ~ Packet Rang & AHpouk * Selected Marked Г First to* Range Modified tcpdump • bbpcap (’ pcap/ cap) Nokia tcpdump - libpcap (’ pcap;" cap) RedHat 6.1 tcpdump - libpcap (’pcap/. cap) SuSE 6 3 tcpdump • libpcap (’ pcap/ cap) Accellent 5Vicws capture (M.5vw) HPUX nett! trace Г TRC0/.TRC1) Microsoft NetMon 1 x (’cap) Microsoft NetMon 2 x (’cap) NA Sniffer (DOS) (’ cap;" enc/ tre;" fdc/.syc) NA Snrffer (Windows) 1 1 (/ cap) NA Sniffer (Wndows) 2 OOx ("cap) Network Instruments Observer (VS) (“ bfr) Novel LANalyzer (" tr1) Obrazek 4.11 Formaty souboru Save Cancel
Seznamujeme se s nabidkami 135 Print (Tisk) Dialogove okno Print zobrazite vyberem polozky File Print (viz obrazek 4.12). Obrazek 4.12 Dialogove okno Print Dialogove okno Print pomaha odpovedet na relevantni otazky ohledne tisku ve Wiresharku: ♦ Jak budu tisknout? ♦ Ktere pakety budu tisknout? ♦ Ktere infonnace s temito pakety vytisknu? Sekce Printer umoznuje vyber paketu, ktere se chystate vytisknout. Jako vystupni format si muzete vybrat mezi Plaintext (Prosty text) nebo Postscript. Jakmile jste si vybrali vystupni format, muzete povolemm volby Output to File: (Vystup do souboru:) a zadanim nazvu souboru do textoveho pole Output to File: zvolit tisk do souboru. Pokud nezvolite tisk do souboru, muzete zadat v textovem poli Print command: (Tiskovy pfikaz) pfikaz, pomoci ktereho bude tisk proveden. Tato volba neni dostupna v operacnim systemu Windows. Sekce Print Range (Rozsah tisku) umoznuje vyber paketu, ktere chcete vytisknout. Muzete si vybrat, /da chcete tisknout pouze pakety aktualne vybrane v Souhrnnem okne, pouze pakety oznacene v Souhrnnem okne, vsechny pakety zobrazene v Souhrnnem okne pomoci filtru pro zobrazeni nebo vsechny zachycene pakety. Vyber tisku paketu aktualne oznacenych v Souhrnnem okne provedete vyberem prepinace Selected packets only (Jen vybran£ pakety) a tlacitka sloupce Captured (Zachy- cene). Tisk pouze tech paketu, ktere byly oznaceny v Souhrnnem okne, provedete vyberem pfepinace Marked packets only (Jen oznacene pakety) a tlacitkem sloupce Captured. Abyste vytiskli vsechny pakety mezi prvnim a poslednim oznacenym paketem, vyberte pfepinac From first to last marked packet (Od prvniho po posledm paket) a tlacitko sloupce Captured (Zachycene). Chcete-li pouzit aktualni filtr, vyberte tlacitko sloupce Displayed (Zobrazene). Vyberem pfepinace Specify' a packel range (Zadejte rozsah paketu) vam Wireshark umozni specifikovat rozsah paketu zadany tormou seznamu odd£lenych carkami (napf. 1-12, 15, 17, 17-19). Abyste vytiskli vSechny pakety zobrazene pomoci aktualne pouziteho filtru pro zobrazovani v Souhrnnem okne, vyberte All packets displayed (VSechny zobrazene pakety) a tlacitko sloupce Displayed (/ obrazene). Tisk vsech zobra/enych nebo
136 Kapitola 4: Pouzivame Wireshark zachycenych paketu znamena, ze budou vytisteny vsechny pakety, ktere vyhovuji danemu filtru. Kdyz rolujete nahoru a dolu к paketu v Souhrnnem окпё, tento paket bude vyhodnocen jako „zobrazeny" pro volbu tiskoveho rozsahu. Vsechny pakety ze zachycenych dat muzete vytisknout pomoci vyberu pfepinace All packets (Vsechny pakety) a tlacitka sloupce Captured (Zachycene). Sekce Packet format (Format paketu) slouzi к volbd informace, kterou si prejete pro kazdy paket vytisknout. Nepovolite-li zaskrtavaci policko Print packet details (Tisk podrobnosti paketu), bude pro ka/dy paket vytisten jednoradkovy souhrn slozeny z aktualne zobrazenych sloupcu v Souhrn- nem окпё. Pokud zaskrtavaci policko Print packet details neni zaskrtnute, vysledek tisku vybrane- ho paketu (paket 8) bude vypadat takto: No. Time Source 8 8.004042 192.168.0.15 Destination Protocol 192.168.0.33 BGP Info OPEN Message Sekce Packet Details umoznuje \уЬёг detailu pro tisk paketu, pokud povolite zaskrtavaci policko Print packet details (Tisk detailu paketu). Muzete si vybrat tisk stromu protokolu se vsemi pod- stromy sbalenymi, vsemi podstromy rozbalenymi v Окпё stromu protokolu nebo se vsemi podstro- my ve stromu protokolu rozbalenymi. Pokud pouzijete volbu All collapsed (Vse sbaleno), strom protokolu bude vytis^n se vsemi podstromy sbalenymi. Kdyz tisknete pouze vybrany paket, bude vystup vypadat takto: Frame 8 (83 bytes on wire, 83 bytes captured) Ethernet II. Src: 00:c0:4f:23:c5:95, Dst: 00:00:0c:35:0e:lc Internet Protocol, Src Addr: 192.168.0.15 (192.168.0.15), Dst Addr: 192.168.0.33 (192.168.0.33) Transmission Control Protocol, Src Port: 2124 (2124), Dst Port: bgp (179), Seq: 3593706850, Ack: 2051072070, Len: 29 Border Gateway Protocol Pokud pouzijete volbu As displayed, strom protokolu bude vytii^n s podstromy, ktere by byly roz- baleny v Окпё stromu protokolu, pokud by paket byl vybran v Souhrnnem окпё. Pouziti teto volby pro tisk pouze vybraneho paketu by vygenerovalo nasledujici vystup: Frame 8 (83 bytes on wire, 83 bytes captured) Ethernet II, Src: 00:c0:4f:23:c5:95, Dst: 00:00:0c:35:De:lc Internet Protocol, Src Addr: 192.168.0.15 (192.168.0.15), Dst Addr: 192.168.0.33 (192.168.0.33) Transmission Control Protocol, Src Port: 2124 (2124), Dst Port: bgp (179), Seq: 3593706850, Ack: 2051072070, Len: 29 Border Gateway Protocol OPEN Message Marker: 16 bytes Length: 29 bytes Type: OPEN Message (1) Version: 4 My AS: 65033 Hold time: 180 BGP identifier: 192.168.0.15 Optional parameters length: 0 bytes Kdyz vyberete volbu All expanded (Vse rozbaleno), strom protokolu bude ууй&ёп se v§emi pod- stromy rozbalenymi. Tisk vybraneho paketu by pak vygeneroval nasledujici vystup:
Seznamujeme se s nabidkami 137 Frame 8 (83 bytes on wire, 83 bytes captured) Arrival Time: Mar 29. 2000 23:56:56.957322000 Time delta from previous packet: 0.000088000 seconds Time since reference or first frame: 8.004042000 seconds Frame Number: 8 Packet Length: 83 bytes Capture Length: 83 bytes Ethernet II. Src: 00:c0:4f:23:c5:95, Dst: 00:00:0c:35:0e:lc Destination: 00:00:0c:35:0e:lc (Cisco_35:Oe:lc) Source: 00:c0:4f:23:c5:95 (Del!Comp_23:c5:95) Type: IP (0x0800) Internet Protocol, Src Addr: 192.168.0.15 (192.168.0.15), Dst Addr: 192.168.0.33 (192.168.0.33) Version: 4 Header length: 20 bytes Differentiated Services Field: 0x00 (DSCP 0x00: Default; ECN: 0x00) 0000 00.. = Differentiated Services Codepoint: Default (0x00) ..........0. = ECN-Capable Transport (ECT): 0 ..........0 = ECN-CE: 0 Total Length: 69 Identification: 0x48e9 (18665) Flags: 0x04 .1.. = Don’t fragment: Set ..0. = More fragments: Not set Fragment offset: 0 Time to live: 64 Protocol: TCP (0x06) Header checksum: 0x7049 (correct) Source: 192.168.0.15 (192.168.0.15) Destination: 192.168.0.33 (192.168.0.33) Transmission Control Protocol, Src Port: 2124 (2124), Dst Port: bgp (179), Seq: 3593706850, Ack: 2051072070, Len: 29 Source port: 2124 (2124) Destination port: bgp (179) Sequence number: 3593706850 Next sequence number: 3593706879 Acknowledgement number: 2051072070 Header length: 20 bytes Flags: 0x0018 (PSH, ACK) 0...........= Congestion Window Reduced (CWR): Not set .0.......= ECN-Echo: Not set ..0......= Urgent: Not set ...1 .... = Acknowledgment: Set .... 1... = Push: Set .....0.. = Reset: Not set .....0. = Syn: Not set .....0 = Fin: Not set Window size: 32120 Checksum: 0x1903 (correct) Border Gateway Protocol OPEN Message Marker: 16 bytes
138 Kapitola 4: Pouzi'vame Wireshark Length: 29 bytes Type: OPEN Message (1) Version: 4 My AS: 65033 Hold time: 180 BGP identifier: 192.168.0.15 Optional parameters length: 0 bytes Bez ohledu na volbu, kterou jste si vybrali pro rozbaleni podstromu stromu protokolu, pokud povo- lite zaskrtavaci policko Packet bytes (Bajty paketu I, sled stromu protokolu pro kazdy paket bude hexadecimalnun vypisem tohoto paketu. Tisk pouze paketu s povolenym zaSkrtavacim poliikem All dissections collapsed (Vsechny rozbory sbaleny) a s povolenym zaskrtavacim poh'ckem Pac- ket bytes (Byty paketu) vygeneruje nasledujici vystup: Frame 8 (83 bytes on wire, 83 bytes captured) Ethernet II, Src: 00:c0:4f:23:c5:95, Dst: 00:00:0c:35:0e:lc Internet Protocol. Src Addr: 192.168.0.15 (192.168.0.15), Dst Addr: 192.168.0.33 (192.168.0.33) Transmission Control Protocol, Src Port: 2124 (2124), Dst Port: bgp (179), Seq: 3593706850, Ack: 2051072070, Len: 29 Border Gateway Protocol 0000 00 00 0c 35 Oe lc 00 cO 4f 23 c5 95 08 00 45 00 ...5....0#....E. 0010 00 45 48 e9 40 00 40 06 70 49 cO a8 00 Of cO a8 .EH.@.@.pI..... 0020 00 21 08 4c 00 b3 d6 33 9d 62 7a 40 eO 46 50 18 .!.L...3.bz@.FP. 0030 7d 78 19 03 00 00 ff ff ff ff ff ff ff ff ff ff }x............. 0040 ff ff ff ff ff ff 00 Id 01 04 fe 09 00 b4 cO a8 ................... 0050 00 Of 00 ... Pokud je zatrzeno policko Each Packet on a new page, kazdy novy paket bude zacinat na nove strance. Nabidka Edit (Editace) Tabulka 4.6 Moznosti nabidky Edit Volba nabidky Popis Find Packet...(Najdi paket) Vyhledav^ paket s pouzitim zobrazovacfho filtru nebo vyhleda- v3 odpovidajici hexadecimal™ retdzec ci fet£zec znaku. Find Next (Najdi dalsi) Find Previous (Najdi predchozD Mark Packet (Oznac paket) Find Next Mark (Najdi dalSi znacku) Najde dalSi paket, ktery vyhovuje pozadavkum na vyhledavani v dialogovem okne Find Packet. Najde predchozi paket, ktery vyhovuje pozadavkum na vyhleda- vani v dialogovem окпё Find Packet. Zvyrazni paket aktualne vybrany v Souhrnnem okne. Oznaco- v3ni poskytuje mechanismus pro vyb£r paketu nebo skupiny paketu, ktere budou nasledn£ vytiStdny nebo ulozeny. Najde a zvyrazni dalSi oznafeny paket v souboru zachycenych dat. 1
Seznamujeme se s nabi'dkami 139 Volba nabidky Popis Find Previous Mark (Najdi pfedchozi Najde a zvyrazni pfedchozi oznaceny paket. znacku) Mark All Packets (Zvyrazni vsechny Zvyrazni vSechny pakety, ktere vyhovuji aktualn£ aplikovane- pakety) mu filtru. Unmark All Packets Zrusf zvyrazneni vSech paketu, ktere vyhovuji aktualne aplikova- nemu filtru. Set Time Reference (toggle) (Nastavit Prepina priznakTime Reference pro aktualne vybrany paket. casovy odkaz - pfepinac) Find Next Reference (Najdi dalsi odkaz) Najde a zvyrazni dalSi paket s casovym odkazem v souboru zachycenych dat. Find Previous Reference (Najdi pred- Najde a zvyrazni pfedchozi paket s casovym odkazem v soubo- chozi odkaz) ru zachycenych dat. Preferences... (Nastaveni) Meni uzivatelska nastaveni, vcetne nastaveni pro dekodery paketu. Obrazek 4.13 Nabidka Edit
140 Kapitola 4: Pouzivame Wireshark Find Packet (Najdi paket) Dialogove okno Find Packet se zobrazi, kdyz vyberete polozku Edit -» Find Packet... (viz obrazek 4.14). Obrazek 4.14 Dialogove okno Find Packet Dialogove okno Find Packet pomaha odpovedet na relevantni otazky tykajici se vyhledavani pake- tu ve Wiresharku: ♦ Co se snazim najit? ♦ Kde bych mel vyhledavat? Textove okno Filter: umoznuje definovat kriteria pro vyhledavani pomoci zadam fetezce zobrazova- ciho filtru nebo hexadecimalniho ci ASCH fetezce. Pokud potfebujete pomoc pfi sestavovani fetezce filtru, klepnete na tlacitko Filter:, cimz zobrazite dialogove okno Display Filter. Sekce Direction (Smer) umoznuje urcit, kterym smerem chcete vyhledavat: zda dopredu od pake- tu aktualne vybraneho v Souhrnnem okne, nebo dozadu od aktualne vybraneho paketu v Souhrn- nem okne. Sekce Find Syntax (Najdi syntaxi) umoznuje definovat kriteria pro vyhledavani. Muzete zvolit vyhle- davani paketu, ktere vyhovuji fetezci zobrazovaciho filtru, hexadecimalnunu fetezci nebo fetezci znaku. Pokud vyberete volbu Display Filter (Filtr pro zobrazeni), bude fetezec zadany v poli Filter: interpretovan jako fetezec zobrazovaciho filtru a budou vyhledany informace, ktere odpovidaji fetezci tohoto filtru. Pokud vyberete volbu Hex, bude fetezec zadany v textovem poli Filter: interpretovan jako hexadecimalni fetezec a budou vyhledany pakety, ktere tento fetezec obsahuji. Pokud vyberete volbu Siring, bude fetezec zadany v textovem poli Filter: interpretovan jako fetezec znaku a budou vyhledany pakety, ktere tento fetezec obsahuji. Vyhledavani znakovych fetezcu fungujejinak nez vyhledavani hexadecimalnich retezcu. Vyhledavani hexadecimalnich fetezcu zkousi vyhledat paket, ktery obsahuje konkretni posloupnost bajtu kdeko- liv v surovych datech paketu. Vyhledavani znakovych fetezcu se nebude snazit najit paket obsahuji- ci fetezec kdekoliv v paketu. Misto toho muzete pouzit volbu Search In (Vyhledat v), abyste urcili, zda chcete fetezec hledat v datech Packet data (Data paketu), ktera zustala po dekodovani vsech moznych poli, hledat znakovy fetezec v datech Decoded packet (Dekodovany paket) zobrazenych v okne Stromu protokolu nebo hledat znakovy fetezec v jednofadkovem souhrnu Packet summa- ry v Souhrnnem okne. Vyberete-li volbu Packet data, bude Wireshark vyhledavat znakovy fetezec v datech paketu. Daty paketu mame na mysli data v paketu, ktera zustanou po dekodovani poli proto- kolu. Vyberem volby Find Decoded packet zpusobime, ze Wireshark bude vyhledavat fetezec znaku
Seznamujeme se s nabidkami v retezcich poll protokolu, ktere jsou zobrazeny v окпё Stromu protokolu. Nezalezi na tom, zda je nodstrom stromu protokolu, ktery obsahuje fetezec znaku, rozbaleny nebo sbaleny. Kdyz pouzijete volbu Decoded packet, musite take pouzit rozbalovaci seznam Character set pro vyber znakove sady fetezce znaku, ktery se snazite najit. Zaskrtnutim policka Case Insensitive Search budete vyhledavat znakovy fetezec bez ohledu na to, zda je uveden velkymi nebo malymi pismeny. Set Time Reference (toggle) - Nastavit casovy odkaz (prepinac) Volba nabidky Set Time Reference (toggle) - Nastavit Casovy odkaz nastavuje pnznak casoveho odka/u v Souhrnnem okne, takze je mozne s oznacenymi pakety provad£t nektere vypocty pracu- jici s informaci о case. Kdyz je sloupec Time v Souhrnnem okne nastaven tak, aby zobrazoval cas, ktery ubehl od zahajeni zachytavani dat, tak zobrazeny cas udava pocet vtefin od zacatku zachyta- vani nebo posledmho paketu s casovym odkazem. Na obrazku 4.15 jsme nastavili pakety 5 a 10 jako pakety s casovym odkazem. Tato skutecnost je patr- na diky hodnote sloupce Time (*REF*). Pakety 1-4 jsou oznaceny casern, ktery uplynul od zacatku zachytavani dat. Pakety 6-9 jsou oznaceny casern, ktery uplynul od casoveho odkazu v paketu 5. Pakety od paketu 11 vyse jsou oznaceny casern, ktery uplynul od casoveho odkazu paketu 10. bqp pcap - Wiieshark [ile Edit View Go Capture Analyze Statistic; Help И ш « j ф ф £ Expression... Dea* Apply No Tine - Source 3 0.0C0422 192.168.0.15 4 0.0C6057 192.168.0.33 5 *REF* 192.168.0.15 6 0.0C3932 192.168.0.33 Destination 7 0.0C3977 8 0.0C4065 192.168.0.15 192.168.0.15 192.168.0.33 192.168.0.15 192.168.0.33 192.168.0.15 192.168.0.33 192.168.0.33 192.168.0.15 | Protocol Info TCP 2123 > bgp >in, ack] seq-0 A- TCP bgp > 2123 ack] seq=l Ack-1 i TCP 2124 > bgp SYN] Seq=0 Len-0 r TCP bgp > 2124 ;SYN, ACK] Seq-0 A1 TCP 2124 > bgp >CK] Seq=l Ack-1 i BGP open Message TCP bgp > 2124 [ack] seq=l Ack-30 9 0.2C8071 192.168.0.33 10 "hEF“ 192.168.0.33 1'? J . 16 8. 0.15 OPEN Messa□ e 11 0.0C0030 192.168.0.15 192.168.0.33 TCP 2124 > bgp [ACK] seq=30 Ack«3' 12 0.0C0118 192.168.0.15 192.168.0.33 BGP keepalive Message 13 0.0C4209 192.168.0.33 192.168.0.15 BGP keepalive Message 14 0.011839 192.168.0.15 192.168.0.33 TCP 2124 > bgp ACK[ Seq=49 Ack«4’ 15 0.2C6104 192.168.0.33 192.168.0.15 TCP bgp > 2124 ACK[ Seq=49 Ack«4' 1 A А Ц? 107 1 A is 107 169 fi RfZD kCCDAI TuC Массала 1ОПЛ1 ГС Moc .......... " ' .............. ................ . 1 ............-......- '_____________ ~ Frame 10 (83 bytes on wire, 83 bytes captured) — 3 Ethernet II, Src: Cisco_35:0e:lc (OO:OO:Oc:35:0e:lc), Dst: Dellcomp_23:c5:95 (00:c0:4f:23:q 3 Internet Protocol, Src: 192.168.0.33 (192.168.0.33), Dst: 192.168.0.15 (192.168.0.15) - Ш Transmission control Protocol, src Port: bqp (179), Dst Port: 2124 (2124), sea: 1, Ack: 30, 0000 0010 0020 0030 0040 0050 0ГТ0 4t75 c5 $5 00 00 0c 55 Oe 00 45 00 02 00 00 ff 06 39 70 CO a8 00 Ot 00 b3 08 4c 7a 40 e0 46 d6 33 3f e3 56 69 00 00 ff ff ff ff ff ff ff ff ff ff ff ff 00 Id 01 04 fe 09 00 21 00 00 00 9d 21 CO 50 cO a8 18 a8 .?O#..... 5.. . £.... 9p.. ....LZ© . F.3 E |F4e TAWeeshartAbgppcap" 1911 BytesOQOO08 |R20D:20M 0 Obrazek 4.15 Pnklad pouziti Set Time Reference (toggle)
142 Kapitola 4: Pouzi'vame Wireshark Preferences (Nastaveni) Dialogove okno Preferences, ukazane na obrazku 4.16, se zobrazi po klepnuti na polozku Edit -> Preferences... Dialogove okno Preferences umoznuje nastavit volby pro urcite subsystemy aplikace Wireshark, vcet- ne nastaveni voleb pro dekodery a ruzne protokoly. Chcete-li editovat volby pro oblast Wi resharku, jakou je treba polozka Columns (Sloupce) na obrazku 4.16, vyberte si oblast v poli na leve Strane okna a zmente nastaveni zobrazena v prave casti okna. Obrazek 4.16 Dialogove okno Preferences Doporucuje se projit si nastaveni protokolu pro vsechny casto pouzivane protokoly, protoze tato nastaveni mohou ovlivnit zpusob, jakym jsou tyto protokoly zobrazeny. Pote co jste zmenili nastaveni v dialogovem окпё Preferences, muzete z volit pouziti techto zmen i bez zavfeni okna Preferences klepnutim na tlacitko Apply. Abyste potvrdili zvolene zmeny a zavfeli dia- logove okno Preferences, klepnete na tlacitko OK. Klepnutim na tlacitko Save dana nastaveni ulozite pro dalsi relaci programu Wireshark. Poznamka: Nastaveni polozky Columns (Sloupce) vybrane na obrazku 4 18 je ve Wiresharku podrobne rozdelene. V dialogovem окпё Preferences muzete sloupce pridavat, mazat nebo pfe- skupovat, ale provedene zmeny se projevi az pote, co je ulozite, zavrete Wireshark a znovu jej spustite. Nove je tato poznamka take uvedena v dialogovem окпё Preferences.
, znazornena na obrazku 4.17, umoznuje ovladat prvky panelu nastroju Seznamujeme se s nabidkami 143 Nabidka View (Zobrazeni) Nabidka View (Zobrazeni) grafickeho uzivatelskeho rozhrani stejne jako zpusob, kterym budou zobrazeny pakety v Souhrnnem okne a v Okne stromu protokolu. Muzete lake nastavit barevne filtry pro barevne odliseni paketu v Souhrnnem okne. Tabulka 4.8 Volby nabidky View Volba nabidky Main Toolbar Popis Zobrazi nebo odstrani hlavni panel nastroju Filter Toolbar Zobrazi nebo skryje panel filtru Status Bar Packet list Packet details Packet Bytes Zobrazi nebo skryje informacni pole a pole pro zobrazeni informaci Zobrazi nebo skryje Souhrnne okno Zobrazi nebo skryje Okno stromu protokolu Zobrazi nebo skryje Okno pro zobrazeni dat Time Display Format Name Resolution Colorize Packet List Auto Scroll in Live Capture Zoom In Zoom Out Normal Size Resize All Columns Podnabidka pro zmenu zobrazeni casu v Souhrnnem okne Podnabidka pro vyber moznosti pfekladu nazvu, ktery ma byt prove- den v prubehu zachytavani Pouzije nebo odstrani barevne odliseni v Souhrnnem okne definovan£ v sekci Coloring Rules (Pravidla pro barevne odliseni) Nastavi volbu pro automaticky posun a obnovovani Souhrnneho okna v prubehu zachytavani paketu Proporcionalnd zvetsi velikost pi'sma i sloupcu v Souhrnnem окпё Proporcionalne zmensi velikost pisma i sloupcu v Souhrnnem окпё Vrati nastaveni velikosti pisma i sloupcu v Souhrnnem окпё do vycho- ziho nastaveni Automaticky тёп! sir ku sloupcu v Souhrnnem окпё tak, aby se mini- malizoval prazdny prostor Expand Subtrees Rozbali cely vybrany podstrom v Окпё stromu protokolu Expand All Rozbali vsechny podstromy v Окпё stromu protokolu Collapse All Sbali vsechny podstromy v Окпё stromu protokolu Show Packets In New Window Zobrazi Okno stromu protokolu a Okno pro zobrazeni dat v novem окпё pro акюа1пё vybrany paket Reload Орёюупё nahraje soubor se zachycenymi daty
144 Kapitola 4: Pouzivame Wireshark Obrazek 4.17 Nabidka View Informace Time Display (Zobrazeni casu) Pro dany paket si muzete vybrat, aby se ve sloupci Time (Cas) v Souhrnnem окпё zobrazoval Time of day (Cas) zachyceni paketu, Date and time of day (Datum a cas) zachyceni paketu, Seconds since beginning of capture (Pocet vtefin od zahajeni zachytavani) (nebo od posledniho paketu s Casovym odkazem), kdy byl paket zachycen, nebo Seconds since the previous frame (Pocet vterin od pfed- choziho ramce), ktery vyhovoval aktualmmu /obrazovacimu filtru. Fhe Wtreshak Network Analyzer Fto E4t (jo £apbj e Analyze gtabstics Fjclp Citer 1 9 10 * Packet Packet Qetaiu *’ Раске» &*e? Name Rec-oiytm Colonze Packet Let Auto Scrol n Liye Capture Na 13 Frame Interi Transr )010 JO2O 0030 0040 000 00 OO 7d 54 ** Fie'Toobar * Statusbar мтм Zoom Qut 4 Normal Size Recrze Al Column? [>cpa.idAl Colapse £1 В Cobrrg Rufes. Сий Cbk- ▼ Clear Destination Protocol Info A. TCP 153.0 N, PSH. ACK Date and Time of Day 19700101 01 02.03 123456 Time or 01.02.03123456 • Seconds Srce Begmng of Capture 123 1 23456 Seconds Since Previous Packed 1 234*56 se« gp [ack] seq-0 Ack-1 i gp [FIN, ack] seq-0 A- 23 [ACK] Seq-1 Ack-1 \ ACK] seq-0 A< 24 [SYN, 9P [ACK] sage 24 [ACK] sage Automatic: (F<^ Format Prec юп] Second?. 0 Decueccndj 0.1 Centrseconds 012 Mdfceconds 0123 Nanosecond? 0 123456789 Seq-1 Ack-30 gp [ACK] seq-30 Ack-3» E Message E Message пп Tacki :95 (00:c0:4f:23:c5:95), Dst: dsco_35:0e:lc (00:00:Oc:35:C ).15 (192.168.0.15), Ost: 192.168.0.33 (192.168.0.33) *c Port: 2124 2124). Dst Port: bqp (179). seq: 0. ten: 0 Show Packet n New y^indc v RHc И Cbl*R uA de ue lc TT cO -ST £ 3 £ 48 e7 40 00 40 06 70 54 21 08 4С 00 ьз do 33 9d 61 78 6d 88 00 00 02 04 05 Ы Id 00 00 00 00 01 03 03 00 cO 00 04 a8 00 Of cO a8 oo oo oo ao 02 02 08 Oa Oa d4 <н.е .. OA ©. рт .3 .a I 4 }xn Wie'hrtUigpLpup" 19118y«e» 000008 iKaraiM Obrazek 4.18 Zobrazeni Time of Day
Seznamujeme se s nabidkami 145 Auto Scroll in Live Capture (Automaticky posun pfi zachytavani) Pfi probihajicim zachytavani dat muzete zvolit, aby se drive zachycene pakety posunovaly smerem nahoru, pryc z pole zobrazovanych paketu, a pakety, ktere jsou nove zachycene, budou pfipojovany ke konci seznamu paketu zobrazenych v Souhrnnem okne. Abyste tento zpusob zobrazovani pouzili, zapnete polozku Automatic scrolling in live capture. Tato volba je uzitecna zejmena pfi zachytavani paketu, kdy potfebujete sledovat tok dat pro urcitou udalost v realnem case. Apply Color Filters (Pouziti barevnych filtru) Dialogove okno Apply Color Filters, ukazane na obrazku 4.19, muzete zobrazit vyberem polozky View -> Coloring Rules... Obrazek 4.19 Dialogov£ okno Coloring Rules Wireshark obsahuje funkci pro barevne odlisovani paketu v Souhrnnem okne podle toho, zda vyho- vuji danemu fetezci filtru pro zobrazovani, cimz umoznuje pfehlednejsi zobrazeni dat. To muze byt velmi uzitecne zejmena pfi sledovani protokolu pouzivajicich zadosti a odpovedi, kde jsou dulezite zejmena rozdily v pofadi zadosti a odpovedi. Tento typ provozu muzete barevne oznacit tolika kate- goriemi, jak bude tfeba, a na prvni pohled v Souhrnnem okne uvidite, co se deje, aniz byste museli prochazet Okno stromu protokolu pro kazdy paket. Abyste vytvofili barevny filtr, klepnete na tlacitko Newr v dialogovem okne Apply Color Filters. Zob- razi se dialogove okno Edit Color Filter (obrazek 4.20). Wiieshark: Edit Cclor Filter Obrazek 4.20 Dialogov£ okno Edit Color Filter
146 Kapitola 4: Pouzivame Wireshark Pfi prvnim otevreni dialogoveho okna Edit Color Filter bude textove pole obsahovat fetezec name a pole String bude obsahovat fetezec filter. Abyste vytvofili barevny filtr, vyplnte nejprve nazev tohoto filtru v textovem poli Name. Pote vyplnte v textovem poli String fetezec filtru. Klepnutim na tlacit- ko Add Expression zobrazite dialogove okno Filter Expression, ktere vam muze pomoci pfi tvorbe fetezce filtru. Dialogove okno Filter Expression je popsano v sekci nazvane „Analyza". Jakmile mate vytvofen nazev filtru a fetezec filtru к vasi spokojenosti, potfebujete urcit barvu popfedi a pozadi, ktere budou pouzity pro barevne odliseni filtru vyhovujicich danemu fetezci filtru. Klepnete na tla- citko Background Color..., kterym nastavite barvu pozadi, jak muzete videt na obrazku 4.21. Wireshaik Choose background color for "name Hue; p 0 Bed: |255 Saturation: |o Q Green: 1255 Value: |l00 Blue: |255 |C| Color Name [ttFFFFFF Help Obrazek 4.21 Dialogove okno Background Color Kdyz jste spokojeni s vyberem barvy, klepnete na tlacitko OK. Zobrazi se dialogove okno Edit Color Filter (obrazek 4.25). Na obrazku 4.22 jsme vytvofili filtr s nazvem BGP Update s fetezcem filtru bgp.type == 2. Nazev i fetezec filtru budou barevne oznaceny ve shode s nastavenou barvou pozadi. Klepnete na tlacit- ko Foreground Color..., abyste nastavili barvu popfedi, a postupujte stejne, jako jste postupovali u barvy pozadi. Kdyz je zbarveni nazvu, fetezce filtru a textu hotovo, klepnete na tlacitko OK, kte- rym zavfete dialogove okno Edit Color Filter. Obrazek 4.22 Dialogov£ okno Edit Color Filter Obrazek 4.23 ukazuje dialogove okno Apply Color Filters, kde je vyplnen novy zaznam BGP Upda- te a filtr BGP.
Seznamujeme se s nabidkami 147 Wireshark Coloring Rules ________________________ ягавз Obrazek 4.23 Dialogove okno Coloring Rules Klepnutim na tlacitko OK zavfete dialogove okno. Klepnutim na tlacitko Apply pouzijete zmeny a nechate dialogove okno otevfene. Pokud chcete pouzit vase barevne filtry v jine relaci programu Wireshark, klepnete na tlacitko Save. Klepnete-li na tlacitko Revert, vsechna nastaveni barev budou ze Souhrnneho okna odstranena, ze seznamu filtru budou odstraneny barevne tiltry a ulozeny soubor s barvami bude smazan. Pouzitim tlacitek Export a Import muzete exportovat barevne filtry do souboru nebo importovat filtry ze sou- boru. To muze byt uzitecne pfi sdileni barevnych filtru se spolupracovniky nebo mezi ruznymi pocita- ci, na kterych mate nainstalovan program Wireshark. Vsimnete si pofadi barevnych liltru v seznamu filtru Filter na obrazku 4.23. Pro kazdy paket v Souhrnnem окпё se poporade otestuje fetezec filtru, dokud neni nalezena shoda. V tomto okamziku se aplikuje pfifazena barva. Filtry v seznamu Filter jsou pouzivany ve smeru shora dolu, takze barevny filtr BGP Update bude vyzkousen jako prvni. Pouze pokud se barevny filtr BGP Update neshoduje s paketem, zkusi Wireshark pouzit barevny filtr BGP na danv paket. Pfiklad pouziti techto barevnych filtru muzete videt na obrazku 4.24. Na obrazku 4.24 jsou zpravy BGP Update (fadky 16 a 17) zobrazeny jako cerny text na svetle mod- rem pozadi, nikoliv bily text na tmave modrem pozadi, i kdyz by vyhovovaly i barevnemu filtru bily text na tmave modrem pozadi. Je tomu tak, protoze cerny text na svetle modrem pozadi filtru BGP Update je pouzit jako prvni a diky shode uz neni testovan dalsi barevny filtr. Show Packets in New Window (Zobrazit pakety v novem окпё) ('kno stromu protokolu a Okno pro zobrazeni dat muzete zobrazit v novem окпё tim, ze vyberete paket v ЗоиЬгппёт окпё a zvolite polozku View -» Show Packet in New Window (viz obrazek 4.25). Tato iunkce je uzitecna zejmena v pf^padё, kdy chcete vidёt podrobne informace о пёкоЬка pake- tech v jednom okamziku. Vsim^te si, ze panel s titulkem zobrazuje stejnou informaci jako fadek se souhrnem pro dany paket v Souhrnnem окпё.
148 Kapitola 4: Pouzivame Wireshark R0Q File Edit yiew Go Capture Analyze Statistics Help bgp pcap - Wifeshark destination Source Protocol Into 2124 > bgp [ACK] Seq»30 Ack«30 wih« 192.168.0.33 192.168.0.15 G7<?7 11 8.338027 192.168.0.15 Time 7* 43 . bgp open Message Expression... year Apply 12 8.338115 192.168.0.15 192.168.0.33 BGP keepalive Message 13 8.3422O6~ 192.168.0.33 192.168.0.15 BGP keepalive Message 192.168.0.33 192.168.0.15 192.168.0.33 192.168.0.15 192.168.0.33 14 8.349836 192.168.0.15 15 8.54*101 192.168.0.33 168.54*149 192.168.0.15 17 8.549476 192.168.0.33 188.559791 192.168.0.15 BGP BGP 19 8.562733 192.168.0.33 192.168.0.15 BGP 20 8.5 9/8/ 192.168,0,33 2124 > bgp [ack] Seq-49 Ack-49 win- bgp > 2124 [ACK] Seq-49 Ack-49 Win« keepalive Message, update Message, update Message 2124 > bgp [ACK] Seq»265 Ack»113 wi keepalive Message 2124 > bgp [ACK] Seq«2b‘ Ack=132 *1 Frame 8 (83 bytes on wire, 83 bytes captured) Ethernet II, Src: DellComp_23:c5:95 (00:c0:4f:23:c5:95), Dst: Cisco_35:0e:lc (OO:OO:Gc:35:0e:lc) internet Protocol, Src: 192.168.0.15 (192.168.0.15), Dst: 192.168.0.33 (192.168.0.33] Transmission control Protocol, Src Port: 2124 (2124), Dst Port: bgp (179), Seq: 1 Border Gateway Protocol Ack: 1, Len: 2 Гоб 54 ЛаЧ ""ЛЛ"ги6 4" 6Л 0010 0020 0030 0040 0050 00 00 7d 21 78 48 08 19 e9 03 40 00 00 00 b3 00 40 d6 06 70 9d 49 62 00 Id 01 04 zO 7a ff fe a8 40 00 eO Of 46 cO 50 a8 18 EH.©.©, pl....... I.L...3 .bz©.FP. 09 00 b4 CO a8 00 Of 00 File. TAWtreshark'tkjp.pcap" 1911 Bytes 00:00:08 |P 20D 20M:0 Obrazek 4.24 Pouziti barevnych filtru Obrazek 4.25 Po vyberu polozky Show Packet in New Window Nabidka Go (Prejdi na) Nabidka Go je znazornena na obrazku 4.26 a jednotlive polozky jsou vysvetleny v tabuice 4.9.
5eznamujeme se s nabfdkami 149 The Wiieshark Network Analyzer ВВП Capture Analyze Statistic s Help file E<# Go Go to Packet. Time No 7 F ret Packet Last Packet At+L&ft Ctrl*G pxprestion.. year Mppfy stination •jPEN Me Proocd I Info TCP----L212T '>"UUP LACK] bgp > 2124 [ACK] Seq=l Ack-30 open Message 2124 > bgp [ack] seq=30 keepalive Message keepalive Message 2124 > bgp > 2124 [ACK] Seq-49 192.168.0.15 192.168.0.15 192.168.0.33 192.168.0.33 192.168.0.15 192.168.0.33 192.168.0.15 9 8.208048 8.337997 8.338027 8.338115 8.342206 8.349836 8. 544101 10 14 15 192.168.0.33 192.168.0.33 192.168.0.15 192.168.0.15 192.168.0.33 192.168.0.15 192.168.0.33 BGP BGP BGP Seq=49 Ack-3' Ack-4* Ack-4‘ 192 18 8.559791 19 8.562733 20 8.579787 192.168.0.15 192.168.0.33 192.168.0.15 192.168.0.33 192.168.0.15 192.168.0.33 BGP 2124 > bgp [ack] seq=265 Ack-: keepalive Message 2124 > bgp [ACK] 5eq=265 Ack=: t i 1 Frame 8 (83 bytes on wire, 83 bytes captured) ± |S Ethernet II, src: Dellcomp_23:c5:95 (00:c0:4f:23:c5:95), Dst: Cisco_35:Oe:1c (OO:OO:Oc:35:C ja internet Protocol, Src: 192.168.0.15 (192.168.0.15), Dst: 192.168.0.33 (192.168.0.33) - |iH Transmission control Protocol, src Port: 2124 (2124), Dst Port: bgp (179), Sea: 1, Ack: 1, -| <| , ............ ...__________-.1 ► I 5бОб 00 об Oc -3 5 Oe lc 00 cO 4f 23 c5 9S 0Й (Jd 41 do . .. 5. ... O#.... E. 0010 00 4 5 48 e9 40 00 40 06 70 4? cO a8 00 Of cO a8 .EH.©.©, pl...... 0020 00 21 08 4C 00 ЬЗ d6 33 9d 62 7a 40 eO 46 50 18 . I.L...3 . bZ©. FP. 0030 7d 78 19 03 00 00 ff ff ff ff ff ff ff ff ff ff }x................ 0040 ff ff ff ff ff ff 00 Id 01 04 fe 09 00 b4 cO a8 .......................... 0050 00 Of 00 | Fte: TAWbesharAbgppcap" 1911 00:0008 |R 20 D: 20 MO Obrazek 4.26 Nabidka Go Tabulka 4.9 Moznosti nabidky Go Volba nabidky Popis Back Posun к predchozimu paketu zobrazenemu v aktualnim souboru В zachycenych dat. Forward Posun к dalsimu paketu zobrazenemu v aktualnim souboru zachyce- и nych dat. Go To Packet... Posun na paket s urdtym cislem ramce. Go To Corresponding Packet Kdyz je v Okne stromu protokolu oznaceno pole, ktere odkazuje na | jiny ramec, vybere se v Souhrnnem okne paket, na ktery je odkazo- L vano. First Packet Posun na prvni zobrazeny paket. Last Packet Posun na posledni zobrazeny paket. Go To Packet (Prejdi na paket) Dialogove okno Go To Packet je ukazano na obrazku 4.27 a muzete jej vyvolat polozkou Edit -> Go To Packet Dialog.
150 Kapitola 4: Pouzi'vame Wireshark Obrazek 4.27 Dialogove okno Go To Packet Do textoveho pole Packet Number zadejte cislo paketu a klepnete na tlacitko OK. V Souhrnnem окпё bude vybran paket se zadanym cislem. Nabidka Capture (Zachytavani) Nabidka Capture je ukazana na obrazku 4.28 a jednotlive polozky jsou vysvetleny v tabuice 4.10. Obrazek 4.28 Nabidka Capture Tabulka 4.10 Volby nabidky Capture Volba nabidky Popis Interfaces... Otevre dialogove okno Interfaces (Rozhrani). Options... Otevre dialogove okno Capture Option (Moznosti zachytavani). Start Zahaji zachytavani. Stop Ukonci bezici zachytavani paketu. Restart Restartuje zastavene zachytavani paketu. Capture Fliters... Editace filtru pro zachytavani dat.
Seznamujeme se s nabidkami 151 Capture Interfaces (Rozhrani pro zachytavani) Dialogove okno Capture Interfaces, ukazane na obrazku 4.29, muzete zobrazit vyberem polozky Capture -> Interfaces... Obrazek 4.29 Dialogove okno Capture Interfaces Toto dialogove okno poskytuje mnozstvi informaci о aktualnich sifovych rozhranich systemu. V tom- to dialogu muzeme videt se/nam a popis aktualnich rozhrani, adresy IP prirazene temto rozhranim, pocet paketu, ktere dane rozhrani vidi, a rychlost, jakou jsou pakety cteny (pakety za vtefinu). lake zde muzeme videt nekolik akci, ktere muzeme na danem rozhrani provest. 4 Poznamka: Hodnoty poctu paketu a paketu za vterinu zobrazene v dialogovem okne Capture Interfaces nejsou celkovym poctem paketu„vid£nych' rozhranim, nybrz celkovym poctem paketu videnych rozhranim od okamziku, kdy bylo otevieno dialogov£ okno Capture Interfaces. Tlacitko Capture okamzite zahaji zachytavani paketu na danem rozhrani s pouzitim voleb, ktere byly drive definovany v dialogovem okne Capture Options (Moznosti zachytavani). Diky volbe Prepare (Pripravit) jsme byli schopni zobrazit dialogove okno Capture Options, ktere nam umoznilo zmenit volby pro relaci zachytavani dat pfed zahajenim zachytavani. Prosim podivejte se do sekce Moznosti zachytavani v teto kapitole, kde najdete vice informaci о dialogovem okne Capture Options. Potfebujete-li vedet vice informaci о samotnem rozhrani, klepnete na tlacitko Details (Podrobnos- ti) u daneho rozhrani. Dalsi informace Kam se podelo rozhrani грё1пё smycky? Jak jste si mohli vsimnout u obrazku v teto sekci, neni v dialogovych oknech rozhrani loopback (zpetna smycka), protoze tyto snimky zaznamenavajici obrazovku byly porizeny v operacnim systemu Windows. Kviili zpusobu, jakym Windows implementuji rozhrani zpetne smycky, neni mozne pod Windows zachytavat provoz na skutecn£m rozhrani zpetne smycky. Wireshark spoleha na to, ze mu winpcap poskytne rozhrani к sifdvym zarizenim v systemu. Winpcap je schopen objevit pouze skutecna sifova zarizeni nainstalovana v systemu prostfed- nictvim jejich skutecnych sifovych ovladacu. Bohuzel rozhrani zpetne smycky nem povazo- vano za fyzicke zarizeni a operacni system Windows pro ne neinstaluje ovladaCe. Dusled- kem toho je, ze winpcap neni schopen navazat spojeni к neexistuncim ovladacum, aby mohl zachytavat provoz na tomto rozhram.
152 Kapitola 4: Pouzivame Wireshark V operacnim systemu Windows je sice mozne nainstalovat adapter zpetne smycky, ale op£t se nejedna о skutecny adapter zpetne smycky, a nema tedy pfifazenou adresu z rozsahu pod- site 127.0.0.0. Spolecnost Microsoft navrhla specialm adapt£r zpetne smycky, aby poskytla virtualni rozhrani pro pouziti urcitymi aplikacemi, ktere vyzaduji ke sve funkci sit’ovy adap- ter a ktere mohou byt nainstalovany i v pfipade, kdy skutecny sit’ovy adapter neni zapotfebi - napfiklad na samostatnem pfedvadecim pocitaci. V dialogovem okne Interface Details (Podrobnosti rozhrani) muzeme videt 5 zalozek poskytujicich velice podrobne informace о vybranem rozhrani, ktere jsou dotazovany od systemovych ovladacu nizsi urovne. Tyto informace se mohou ukazat jako neocenitelne pfi zjisfovani moznosti vybraneho rozhrani stejne jako dulezitych statistik vcetne poctu paketu a informaci о ovladaci. Obrazek 4.30 Dialogovd okno Capture Interfaces Details Capture Options (Moznosti zachytavani) Dialogove okno Capture Options, zna/ornene na obrazku 4.31, muzete zobrazit vyberem polozky Capture Start... Toto dialogove okno vam pomuze odpovedet na nektere zakladiu otazky о zachytavani dat: ♦ Jaky datovy provoz zachytavam? ♦ Kam jej ukladam? ♦ Jak jej zobrazuji? ♦ Kdy ukoncim zachytavani dat? Sekce ( apture vam umoznuje vyber provozu, ktery chcete zachytavat. Kdyz vybirate provoz к zachy- tavani, zeptejte se nejprve sami sebe:
Seznamujeme se s nabidkami ▲ Z ktereho rozhrani zachytavam data? Ф Kolik paketu zachytavam? > Ktere pakety z tech, jez dorazi na rozhrani, zachytavam? Robalovaci seznain Interface umoznuje vyber rozhrani, na kterem chcete zachytavat data. Muzete si vybrat rozhrani z rozbalovaciho seznamu nebo muzete rozhrani zadat rucne do textoveho pole. Pokud libpcap i rozhrani, ktere si vyberete, podporuji nasobne linkove vrstvy tohoto rozhrani, muzete zvolit hlavicku typu linkove vrstvy pro zachytavani pomoci pfepinace Link-layer header type. Obrazek 4,31 Dialogove okno Capture Options Pole Limit Each paket To (Omezit kazdy paket na) umoznuje urcit, zda chcete zachytavat jen cast celeho paketu. Kdyz je zaskrtavaci policko Limit each paket to povoleno a v textovem poli Limit each paket to je zadano cislo, bude zachyceno z kazdeho paketu jen nekolik prvnich bajtu. Pamatujte vsak, ze pokud se rozhodnete zachytavat pouze casti paketu, Wireshark tyto casti oznaci jako fragmenty. Zaskrtavaci policko Capture packets in promiscuous mode (Zachytavat pakety v promiskuitnim modu) a textove pole Filter: umoznuji definovat, ktere pakety budou na danem rozhrani zachytava- ny. Pokud povolite zaskrtavaci policko Capture packets in promiscuous mode, Wireshark prepne pfed zahajenim zachytavam dat sitbve rozhrani do promiskuitniho modu. Normalne sitbve rozhra- ni pfedava operacnimu systemu pouze ty pakety, ktere byly urceny pro adresu MAC tohoto rozhra- ni, a navic i pakety vsesmeroveho vysilani a vicesmeroveho vysilani urceneho pro skupiny, jejichz je dane rozhrani clenem. Kdyz je rozhrani nastaveno pro praci v promiskuitnim modu, pfedava ope- racnimu systemu vsechny pakety, ktere na sitbve rozhrani dorazi. Takze kdyz zvolite zachytavani dat v nepromiskuitnim modu, budete zachytavat pouze pakety adresovane nebo zaslane rozhranim, na kterem provadite zachytavam. Pokud zvolite zachytavani v promiskuitnim modu, budete zachyta- vat vsechny pakety, ktere dorazi na rozhrani. Zadanim zachytavaciho filtru ve formatu tcpdump do
154 Kapitola 4: Pouzivame Wireshark textoveho pole Filter zpusobite, ze Wireshark bude zachytavat pouze pakety, ktere vyhovuji tomu- to filtru. Kdyz klepnete na tlacitko Filter, zobrazi se dialogove okno Edit Capture Filter, ktere vam umozni vybrat si mezi drive definovanymi filtry pro zachytavani. Vice podrobnosti najdete v sekci „Edit Capture Filter List“ (Editace seznamu filtru pro zachytavani). Dalsi informace Detekce promiskuitmho modu Je mnoho pfipadu, kdy mdzete potfebovat provadet zachytavani paketu pomoci Wiresharku v promiskuitnim modu a pfitom nevzbudit pozornost systemu pro detekci pruniku (IDS) nebo systemu pro prevenci pruniku (IPS). Promiskuitni mod zachytava veskery provoz vide- ny danym rozhranim spolecne s provozem urcenym pro jina zarizeni. Predpokladejme, te utocnik nainstaloval Wireshark na pocitaci pfipojenem к siti a aktivne zachytava provoz na siti v promiskuitnim modu s povolenym pfekladem sitbvych nazvu. Vy sledujete komunikacni linku pro odchozi data tohoto konkretniho sitoveho segmentu take pomoci Wiresharku, takze muzete odhalit utocnika. Pokud uzivatel, ktery se nachazi na stej- nem sitovem segmentu jako utocnik, otevre vvebovy prohlizec a navstivi stranku vvww.cpress. cz, Wireshark utocnika i va§ Wireshark zachyti dotaz sluzby DNS. (V tomto pfipade jste byli schopni odhalit utocnika, protoze na jeho instanci Wiresharku byl povolen pfeklad sitbvych nazvu.) Za normalnich okolnosti byste meli videt pouze dotaz DNS pro www.cpress.cz, ale protoze itocnikova kopie Wiresharku ma povolen pfeklad sitbvych nazvu, pokusi se о pfeklad nazvu www.cpress.cz. Dusledkem toho je, ze bude proveden dalsi dotaz DNS na vvww.cpress. cz, ktery nepochazi z pocitace uzivatele. Z teto informace muzete usuzovat, ze na vasem sitovem segmentu je pocitac, ktery zachyta- va pakety v promiskuitnim modu. Sekce Capture File(s) (Soubor zachycenych dat) vam umoznuje vybrat, kam se budou soubory se zachycenymi daty ukladat. Pokud je tato sekce ponechana prazdna, Wireshark bude ukladat soubo- ry do docasneho souboru, dokud nejsou zachycena data ulozena pomoci polozky File -» Save As. Zadate-li nazev souboru do textoveho pole File, Wireshark ulozi zachycena data do tohoto souboru. Klepnutim na tlacitko File otevfete dialogove okno Save As. Pokud je povoleno zaskrtavaci policko Use ring buffer, muzete ukladat zachycena data do tzv. ring bufferu (vyrovndvaci pameti). Sekce Display options (Moznosti zobrazeni) umoznuje urcit, jak se budou zobrazovat zachycene pakety. Standardne Wireshark neaktualizuje seznam paketu v Souhrnnem окпё v prubehu zachyta- vani, ale az po ukonceni zachytavani. Kdyz je povoleno zaskrtavaci policko Update list of packets in real time (Aktualizovat seznam paketu v realneni case), Wireshark aktualizuie Souhrnne okno, jakmile je paket zachycen a zpracovan. Standardne Wireshark pfi aktualizaci Souhrnneho okna v pru- behu aktualniho zachytavani pfipojuje nove pakety na konec Souhrnneho okna. Diky tomu Sou- hrnne okno neukazuje nove pakety. Abyste Souhrnne okno nastavili tak, aby zobrazovalo nejnovejsi pakety, povolte zaskrtavaci polidko Automatic scrolling in live capture (Automaticky posun pfi zachytavani). Rozhodnete-li se pro automaticky posun az po zahajeni zachytavani, vyberte polozku View -» Options pro vypnuti nebo zapnuti teto funkce. Sekce Capture limits (Omezeni /achytavani) umoznuje nastavit, kdy ma dojit к ukonceni zachy- tavani. Samozfejme muzete zachytavani zastavit vyberem polozky Capture -» Stop, avsak obdas je
Seznamujeme se s nabidkami 155 uzitecne moci nastavit podminky, za kterych bude zachytavani ukonceno automaticky. Existuji tri druhy automatickych omezeni podporovanych Wiresharkem: Ф Zachyceni daneho poctu paketu. Ф Zachyceni danemu poctu kilobajtu datoveho provozu. Ф Zachytavani po dany pocet vterin. Wireshark vam umoznuje v jednom okamziku kombinovat vSechna tri tato omezeni (napf. je mozne omezit pocet paketu, kilobajtu i vterin zaroven; jakmile je jeden / limitu dosazen, zachytavani je ukonceno). Kdyz povolite zaskrtavaci policko Stop capture after... packel(s) captured (Ukoncit zachytavani po zachyceni... paketu) a zadate pocet paketu v textovem poli Stop capture after... packets(s) cap- tured, zachytavani bude zastaveno po dosazeni urceneho poctu paketu. Kdyz povolite zaskrtavaci policko Stop capture after... kilobyte(s) captured (Ukoncit zachytavani po zachyceni... kilobajtu) a zadate do textoveho pole Stop capture after... kilobyte(s) captured pocet kilobajtu, zachytavani bude zastaveno po dosazeni urceneho poctu kilobajtu. Kdyz povolite zaSkrtavaci policko Stop capture after... seconds (Ukoncit zachytavani po ... vteri- nach) a zadate do textoveho pole Stop capture after... seconds pocet vterin, zachytavani bude zasta- veno po uplynuti daneho poctu vterin od zahajeni zachytavani. Sekce Name resolution (Pfeklad nazvu) slouzi к nastaveni moznosti pfekladu nazvu pro relaci zachylavani. Kdyz jste nastavih moznosti zachytavani v dialogovem okne Capture Options, muzete zahajit zachy- tavani klepnutim na tlacitko OK. Zobrazi se dialogove okno Capture Dialog, ktere muzete videt na obrazku 4.32. Dialogove okno Capture zobrazuje pocet paketu ruznych protokolu, ktere byly zachyceny, a pro- centualni podil jednotlivych protokolu na celkovem objemu zachycenych dat. Na obrazku 4.32 je zachyceno celkem 12 paketu, pricemz sedm z nich (58,3 %) tvori pakety protokolu TCP, ctyfi (33,3 %) jsou pakety UDP a jeden paket (8,3 %) je klasifikovan jako Other (Jiny). Zachytavani muze byt kdykoliv zastaveno klepnutim na tlacitko Stop. • Wireshark: Capture from Intel(R) PRO/10...I 1Б1ЕЗ laphjted Packets Total 12 SC1P о TCP 7 UOP 4 ICMP 0 ARP 0 OSPF о GRE 0 NetBIOS 0 IPX 0 VINES 0 Other 1 * of total 0 0* 0.0* 0 0* 0.0* 0 0* 00* 8 3* Running 00:00:07 Stop Obrazek 4.32 Dialogove okno Capture
156 Kapitola 4: Pouzivame Wireshark Zachytavani do ring bufferu Existuji aplikace, u kterych se hodi moznost zachytavat sitbvy provoz do serie mensich souboru. Nekdy muzete potfebovat omezit pocet techto souboru a mazat ty nejstarsi, pficemz budete zapiso- vat do tech novejsich. Tato struktura se nazyva ring buffer (cyklicky buffer), protoze data v podstate zaplnuji tento buffer a po zaplneni se zacnou zapisovat na zacatek. Jsou zde urcite otazky, ktere by mely byt о souborech ring bufferu zodpovezeny: ♦ Kolik bude v ring bufferu souboru? ♦ Jak budou soubory zachycenych dat pojmenovany? ♦ Kdy ma dojit к rotaci, a tedy ukladani dat do dalsiho souboru? Pouzit) zachytavani dat do kruhove vyrovnavaci pameti zapnete v dialogovem okne Capture Opti- ons povolenim zaskrtavaciho pohbka Use ring buffer. Vzhled dialogoveho okna Capture Options se zmeni (viz obrazek 4.33). Zaskrtavaci policko Rotate capture every... second(s) (Rotace zachytavani kazdych... vtef in) se zpfi- stupni a zaSkrtavaci policko Stop capture after... kilobytes captured se pfejmenuje na Rotate captu- re file every... kilobyte(s) (Rotace souboru zachycenych dat po kazdych ... kilobajtech I a bude zne- pfistupneno. Textove pole Number of tiles (Pocet souboru) umoznuje urcit, kolik souboru bude v ring bufferu vytvofeno. Zvolite-li nulu, bude se automaticky pfedpokladat, ze pocet souboru ring bufferu bude neomezeny (takze nebudou mazany starSi soubory, aby uvolnily misto novejsim souborum). Obrazek 4.33 Dialogove okno Capture Options - polozka Use Ring Buffer je povolena Textove pole File (Soubor) poskytuje kofen nazvu pro soubory ring bufferu. Tento koren je rozde- len na pfedponu a pfiponu. Nazev souboru ring bufferu ma tvar predpona_NNNNN_YYYYMMD-
Seznamujeme se s nabidkami 157 Dhhmmss.prtpona, kde NNNNN je petimistny podet doplneny nulami, udavajici pofadove cislo sou- boru kruhove tyrovnavaci pameti; YYYYpfedstavuje rok; MMje dvoumistne cislo doplnene nulami udavajici kalendafni mesic; DD je dvoumistne cislo doplnene nulami udavajici datum; hh je dvou- mistne cislo doplnene nulami udavajici hodinu; mm je dvoumistne cislo doplnene nulami udavauci minuty; a ss je dvoumistne cislo doplnene nulami udavajici vtefiny. (Napf. mame-li soubor s nazvem foo.bar.libpcap a tento soubor je patym souborem ring bufferu a byl vytvofen ve 23:21:01 8. ledna 2004, bude nazev souboru vypadat takto: foo.bar J)0005_20040108232101.libpcap). Je dulezite zminit, ze pofadova cisla v nazvech souboru jsou neustale zvysovana. Pokud kruhova vyrovnavaci pamef obsahuje tri soubory, bude mit ctvrty soubor zachycenych dat pofadove cislo 00004 a soubor s cislem 00001 bude smazan. Poradova cisla nejsou v prubehu prochazeni ring buf- feru opakovane pouzivana. Textove pole Rotate capture file every... kilobyte(s) a volitelne textove pole Rotate capture file every... second(s) umoznuji urcit, kdy budou soubory zachycenych dat rotovat. Zadanim cisla nebo pfijetim vychozi hodnoty v textovem poli Rotate capture 1 de every... kilobyte(s) zadejte omezeni poctu kilobajtu, ktere maji byt zachyceny. Kdyz soubor zachycenych dat dosahne urcene hranice poctu kilobajtu, bude vytvofen novy soubor, ktery bude obsahovat vsechny nove pakety, zatimco nejstar- si soubor v ring bufferu je smazan, jestlize novy soubor zachycenych dat pfesahne hranici urcenou v textovem poli Number of I ties. Povolite-li zaskrtavaci policko Rotate capture file every... second(s) a zadate pocet vtefin do textoveho pole Rotate capture tile every... second (s), je-li soubor zachyce- nych dat otevfen po urceny pocet vtefin, bude vytvofen novy soubor zachycenych dat pro vsechny nove zachycene pakety. Nejstarsi soubor zachycenych dat v ring bufferu muze byt smazan, kdyz novy soubor zachycenych dat pfesahne hranici specifikovanou v textovem poli Number of files. Poznamka: Zaskrtavaci policka Use ring buffer a Update list of packets in real time jsou vza- jemne nekompatibilni, takz.e Wireshark nepovol- pouziti volby Use ring buffer, pokud je jiz povoleni volba Update list of packets in real time. Ale pokud je nejprve povolena volba Use ring buffer, bude mozne povolit i volbu Update list of packets in real time. Kdyz к t£to situa- ci dojde, zaskrtavaci policko Use ring buffer bude automaticky (a bez varovcini) zakaz^no, coz zpusobi, ze se zaskrtavaci policko Rotate capture file every... kilobyte(s) prepne na Stop cap- ture after... kiilobyte(s). Nastroje a pasti Prace s rozsahlymi soubory zachycenych dat Cas od casu se kazdy setka s problemem, ktery zahrnuje analyzu extremne velkeho mnozstvi dat. Miize se jednat о nepravidelny problem, ktery se objevuje jednou za nekolik dni a vy potfebujete videt vymenu zprav, ktere problem zpusobily, nebo se muze jednat о problem na skutecne vytizene siti. Al uz je diivod jakykoliv, problematika zachytavani a analyzy velkeho mnozstvi dat je pomerne bezna. S tim, jak velikost souboru zachycenych dat roste, Wireshark vyuziva vice pameti, takze filtrovani a hledani paketu zabira vice casu. \ techto situacich. je nejlepsiin fesenim pouzit Tshark (verze Wiresharku uzpusobena pro | praci v prostfedi pfikazoveho fadku) pro efektivni zachytavani dat a jejich prvotni zpracova- ni. Abyste zachytavali data z rozhrani <rozhratii>, pou/ijte tento pfikaz: tshark -i CrozhranO -w <nazev_souboru> I
158 Kapitola 4: Pouzivame Wireshark Mate-li к dispozici pouze omezene mnozstvi mista na disku anebo chcete omezit velikost sou- boru zachycenych dat, muzete pouzit ring buffer tak, aby Tshark zachytaval data na rozhrani <rozhrani> do <pocet_souboru> souboru zachycenych dat s maximalni velikosti <velikost> a korenovym nazvem < nazev, souboru> pomoci nasledujiciho prikazu: tshark -i <rozhrani> -w <nazev_souboru> -b <pocet ,souboru> -a filesize:<velikost> Pote co zachytite potfebna data, muzete pouzit Tshark pro zmenseni souboru zachycenych dat na velikost, se kterou se lepe pracuje. Abyste pouzili fetezec filtru pro zobrazeni <retezec_ filtru> к filtrovani souboru zachycenych dat <nazev_souboru> a ulozih vysledek do noveho souboru zachycenych dat s nazvem <novy_sotibor>, zadejte tento pi ikaz: tshark -r <nazev_souboru> -w <novy_soubor> -R Cretezec. fi1tru> Chcete-li ze souboru zachycenych dat extrahovat vsechny pakety, ktere byly zachyceny v casovem intervalu mezi 8. lednem 2004 22.00 a 8. lednem 2004 23.00, spustte nasleduji- ci pfikaz: tshark -r <nazev_souboru> -w <novy_nazev> -R '(frame.time >= "Jan 8, 2004 22:00:00.00" ) && (frame.time <= "Jan 8, 2004 23:00:00.00")' Kdyz jste takto zmensili soubor na velikost, se kterou uz Wireshark umi lepe pracovat, muzete soubor otevfit ve Wiresharku a provest podrobnejsi analyzu. Edit Capture Filter List (Editace seznamu filtru pro zachytavani) Dialogove okno Edit Capture Filter List zobrazite vyberem polozky Capture -> Capture Filters... (viz obrazek 4.34). Obrazek 4.34 Dialogove okno Edit Capture Filter List
Seznamujeme se s nabidkami 159 Toto dialogove okno umoznuje vytvofit nove zachytavaci filtry ve formatu tcpdump a ulozit je pro pozdejsi pouziti. Abyste vytvofiB novy filtr, zadejte nazev filtru do textoveho pole Filter name, zadej- te fetezec filtru ve formatu tcpdump do textoveho pole Filter string a pote klepnete na tlacitko New (viz obrazek 4.35). Wneshark Capture Filter Ed» Fiftef Qelete Ethernet address 00:08.15 00:08.15 Ethernet type 0x0806 (ARP) No 8 oadcast and no Multicast NoA=)P IP oriy IP address 192168.0.1 IPXcnly TCP only UDP only TCP эг UDP port 80 (HTTP) HTTP TCP pert |8J| No A3P and no DNS Non-HTTP and non-SMTP to/from www.wireshark.org Close Help have Obrazek 4.35 Dialogove okno Capture Filter Muzete zvolit existujici zachytavaci filtr ze seznamu Capture Filters pro vytvofeni noveho filtru, zmenu existujiciho filtru nebo smazani filtru. Abyste zmenili existujici filtr, vyberte jej ze seznamu Capture Filters a poklepejte na jeho nazev v textovem poli Filter name anebo zmente jeho fete- zec filtru ve formatu tcpdump v textovem poli Filter string, nacez klepnete na tlacitko Save. Novy zachytavaci filtr vytvofite zadanim nazvu noveho filtru a fetezce filtru do pfislusnych poli a klepnu- tim na tlacitko New. Zachytavaci filtr muzete smazat tim, ze jej vyberete ze seznamu Capture Filters a klepnete na tla- citko Delete. Chcete-li mit vas seznam zachytavacich filtru к dispozici i v dalsich relacich programu Wireshark, klepnutim na tlacitko Save ulozite filtry na disk. Nabidka Analyze (Analyza) Nabidka Analyze je znazornena na obrazku 4.36 a vysvetlena v tabuice 4.11. Tabulka 4.11 Volby nabidky Analyze Volba nabidky Display filters... Apply as Filter Prepare a Filter Popis Editace filtru pro zobrazeni. Podnabidka pro phpravu a automaticke pouziti filtru pro zobrazeni zalozene- ho na libovolnem poli vybran£m v Okne stromu protokolu Podnabidka pro pripravu zobrazovaciho filtru zalozeneho na libovolnem poli vybranem v Okne stromu protokolu
160 Kapitola 4: Pouzivame Wireshark Volba nabidky Popis Firewall ACL Rules Vytvofi filtr pro ndkolik standardnich typu firewallu zalozeny na paketu aktu- alne vybranem v Souhrnnem окпё. Enabled Protocols... Povoluje a zakazuje dekodovani jednotlivych protokolu. User Specified Decodes Informuje о tom, ktere uzivatelsky specifikovane dekodery jsou momentalne pouziva ny. Follow TCP Stream Zobrazi najednou cely proud dat protokolu TCP. Follow SSL Stream Zobrazi najednou cely proud dat protokolu SSL. Expert Info Zobrazi souhrnnou informaci pro soubor zachycenych dat. Expert Info Composite Zobrazi statistiky v Окпё stromu protokolu pro protokol v souboru zachyce- nych dat. Obrazek 4.36 Nabidka Analyze Edit Display Filter List (Editace seznamu filtru pro zobrazeni) Dialogove okno Edit Display Filter List zobrazite vyberem polozky Analyze -> Display Fitter... (viz obrazek 4.37).
Seznamujeme se s nabi'dkami 161 Obrazek 4.37 Dialogove okno Display Filter Toto dialogove okno je navrzeno tak, aby vam usnadnilo tvorbu fetezce filtru. Abyste vytvofili novy fetezec filtru, к!ерпё1е na tlacitko Add Expression (Pridat vyraz). Zobrazi se dialogove okno Filter Expression (viz obrazek 4.38). Vyberte protokol, pro ktery chcete vytvofit vyraz filtru, a rozbalte jej, aby byla vidёt pole, jez mohou byt filtrovana. Vyberte pozadovanё pole. Kdyz vyberete jiny operator nez is present (Obsahuje), dialogovё okno se гтёш a ukaze volby pro dane pole (viz obrazek 4.39). Wireshark: Filter Expression Field name BACapp RACnet Basic Format XID BEEP BER F'FD Control BGP bgp ’ype • ' . t E’ _< F'' : jqe ’. bgp.aggegator_as Aggregator AS bgp. aggegator_origin - Aggregator origin bgp as_Dath - AS Path bgp cluster-identifier - Cluster identifier bgp con»munity_as - Community AS bgp. community-value • Community value bgp.Iocal_pref Local preference Relation '/alUC is present Obrazek 4.38 Dialogove okno Filter Expression
162 Kapitola 4: Pouzivame Wireshark Obrazek 4.39 Dialogove okno Filter Expression - rovnost V tomto pripade jsme zvolili vztah rovnosti (==). Vyberte hodnotu, s kterou ma nastat shoda, a klep- nete na tlacitko Accept (Pfijmout), kterym vlozite vyraz nove vytvofeneho filtru do textoveho pole Filter string: (viz obrazek 4.40). Chcete-li ulozit nove vytvoreny fetezec Iiltru, zadejte jeho nazev do textoveho pole Filter name a klepnete na tlacitko New. Retezec f iltru bude pfidan do dialogoveho okna Display Filter List (viz obrazek 4.41). Obrazek 4.40 Dialogov£ okno Edit Display Filter List - retdzec filtru
Seznamujeme se s nabi'dkami 163 Wireshark Display Filter ye** Qelete I Ethernet broadcast No ARP IP only IP address 192.168 01 IP address isn’t 192 168.0.1, don’t use!«for thisi IPXcnfc TCP ony UDPorly UDP perl isn’t 53 (not DNS), don’t useI»for this! TCP or JDP port is 80 (HTTP) BGP Update No ARP and no DNS Non-HTTP and non-SMTP to/from 192 168.0.1 Properties Filer name: | BGP Update Filter string. | bgp type П 2 http Expression.. I Help QK Close Obrazek 4.41 Dialogovd okno Display Filter - nazev filtru Vyberte ze seznamu existujici zobrazovaci filtr a zvolte, zda jej chcete zmenit, smazat nebo kopiro- vat. Existujici filtr zmenite tak, ze jej vyberete ze seznamu, zmenite jeho nazev v textovem poli Fil- ter name (nebo zmenite fetezec filtru v textovem poli Filter string) a klepnete na tlacitko Change. Existujici zobrazovaci filtr zkopirujete tak, ze jej vyberete ze seznamu a klepnete na tlacitko Copy. Ulozte seznam klepnutim na tlacitko Save. Pokud jste se dostali do dialogoveho okna Edit Display I liter List z Panelu filtru, klepnete na OK, abyste pouzili dany filtr a zavreli dialogove okno. Tlacitkem Apply pouzijete filtr a dialogove okno zustane otevfene (viz obrazek 4.42). Obrazek 4.42 Dialogovd okno Display Filter - tladtka OK a Apply
164 Kapitola 4: Pouzivame Wireshark Apply as Filter (Pouzit jako filtr) a Prepare a Filter (Pripravit filtr) Podnabidky Apply as Filter a Prepare a Filter obsahuji stejne volby a chovaji se totozne az na jednu vyjimku: polozky podnabidky Prepare a Filter pripravi fetezec zobrazovaciho filtru a umisti jej do textoveho pole Filter. Polozky podnabidky Apply as Filter pripravi fetezec zobrazovaciho filtru, umis- ti jej do textoveho pole Filter a pouziji jej pfi zachytavani. Pro velkou podobnost nyni probereme pouze podnabidku Apply as Filter. Podnabidka Apply as Filter se zpfistupni pote, co je v Okne stromu protokolu vybrano pole s pfifa- zenym nazvem filtru, ktery muze byt pouzit v fetezci zobrazovaciho filtru (viz obrazek 4.43). V tabuice 4.12 byl fetezec filtru umisten do textoveho pole Filter: pro kazdou z voleb podnabidky Apply as Filter (viz obrazek 4.43). Vsimnete si, ze filtr ip.addr == 192.168.0.15 zmeni puvodni cho- vani polozek And Selected, Or Selected, And Not Selected a Or Nor Selected (viz tabulka 4.12). bgppcap - Wueshark МММ. 533o 66 66 de з5'"(5е"1<: '6'6 ей TFT?""3‘ 53"6'§”56"45'66' 70 49 co a8 00 Of CO a8 9d 62 za 40 eo 46 50 18 0010 UO2O 00 45 48 e9 40 00 40 06 00 21 08 4C 00 b3 d6 33 0030 7d 78 19 03 00 00 0040 сНЫМДЖй Ж j Ж дрРЖТ 0050 .£ . .5.... 0# EH.©.©, pl 3 . bz©. t-P. |P 20D:20M:0 Obrazek 4.43 Podnabidka Apply as Filter Tabulka 4.12 Priklady voleb podnabidky Apply as Filter Volba nabidky Retezec filtru pro zobrazeni Selected bgp.type — 1 Not Selected •(bgp.type — 1) And Selected (ip.addr— 192.168.0.15) &&( bgp.type— 1 ) Or Selected And Not Selected Or Not Selected (ip.addr == 192.168.0.15) || (bgp.type == 1) (ip.addr == 192.168.0.15) &&!(bgp.type == 1 ) (ip.addr == 192.168.0.15) ||!(bgp.type == 1 )
Seznamujeme se s nabi'dkami 165 Enabled Protocols (Povolene protokoly) Dialogove okno Enabled Protocols zobrazite vyberem polozky Analyze -» Enabled Protocols... (viz obrazek 4.44). Toto dialogove okno umoznuje povolit nebo zakazat dekodovani jednoho nebo vice protokolu. Muzete tak ucinit klepnutim na sloupec Status, cimz pfepnete status na Enabled (Povoleno) nebo Disabled (Zakdzdno). Obrazek 4.44 Dialogove okno Enabled Protocols Navic muzete povolit vsechny protokoly klepnutim na tlacitko Enable All (Povolit vse), zakazat vsechny protokoly klepnutim na tlacitko Disable All (Zakazat vse) nebo povolit vsechny zakazane protokoly, pfipadne zakazat vsechny povolene protokoly klepnutim na tlacitko Invert. Tato nastaveni mohou byt pouzita pro vsechny relace programu Wireshark klepnutim na tlacitko Save. Decode As (Dekodovat jako) Abyste pf inutili Wireshark dekodovat paket jako paket konkretniho protokolu, vyberte paket v Sou- hrnnem окпё a vyberte Analyze -> Decode As... Otevfe se dialogove okno Decode As (viz obra- zek 4.45). Kdyz Wireshark dekoduje paket, pouziva tzv. magickd cisla v kazdem protokolu, aby se rozhodl, ktery disektor pouzije к dekodovani nasledujicich cast! paketu. Magicka cisla jsou hodnoty, ktere specinkuji protokol vyssi urovne (napf. Ethertype 0x0800 udava, ze ethernetovy paket obsahuje paket protokolu IP; protokol IP 6 udava, ze paket protokolu IP obsahuje data protokolu TCP; TCP port 179 udava, ze paket TCP nese data protokolu BGP). Existuji pfipady, kdy budete chtit potlacit automatickou volbu Wiresharku pro dekodovani nasledujicich cast! paketu zalozenou na magickych cislech. Nejobvyk-
166 Kapitola 4: Pouzivame Wireshark lejsim pf ipadem jsou porty protokolu TCP; Wireshark se casto rozhodne, ktery disektor vyvola pro paket protokolu TCP, a to na zaklade zdrojoveho nebo ciloveho portu. Muze se stat, ze provozujete protokol na nekterem nestandardnim portu (napr. protokol HTTP na portu 7000). Vlastnost Deco- de As umoznuje sdelit Wiresharku, ze se jedna о nestandardni pfipad. (• Decode Link I Network j Trarvport I delauli I г Do not decode Ethertype 0x0800 as Show Current Clear 802.3 Slow protocols AARP ANS AOE ARP/RARP Boardwalk BOFL CGMP CISC0WL-L2 CSM.ENCAPS QK Obrazek 4.45 Dialogove okno Decode As - zalozka Link Wireshark umoznuje vynutit dekodery v zavislosti na magickych cislech na Linkove vrstve, Sit’ove vrstve a Transportni vrstve. U Transportni vrstvy mate moznost zvolit dekodovani podle zdroie, cile nebo obojiho (viz obrazek 4.46). Г* Decode T ransport (default) SP ACAP AgentX AIM AJP13 AX4000 EEEP EGP CAST CIGI Network TCP Show Current Clear Obrazek 4.46 Dialogove okno Decode As - zalozka Transport К vynuceni konkretniho dekoderu potrebujete znat odpoved na tyto otazky: ♦ Od ktere vrstvy chci vynutit sve vlastni dekodovani? ♦ Ktere magicke cislo chci vyklicovat, abych urcil, zda dekodovat paket s pouzitim vlastniho deko- deru? ♦ Jako ktery protokol chci dekodovat zbyvajici data v paketu?
Seznamujeme se s nabidkami 167 Abyste vybrali vrstvu, od ktere chcete vynutit pouziti vlastmho dekoderu, vyberte pfishiSnou zaloz- ku (Link, Network nebo Transport) a zvolte, ktera magicka cisla se maji urcit pro Transportni vrstvu (podle zdrojoveho portu, ciloveho portu nebo obou portu). Potom vyberte ze seznamu protokolu ten, podle ktereho chcete dekodovat zbyvajici data v dekodovanem paketu. Klepnutim na tlacitko Show Current (Zobraz aktualni) otevfete dialogove okno Decode As: Show (Dekodovat jako: Zobrazit), abyste videli, ktere dekodery jsou momentalne vynuceny. Decode As: Show (Dekodovat jako: Zobrazit) Dialogove okno Decode As: Show muzete take zobrazit tak, ze vyberete polozku Analyze -» User Specified Decodes (Uzivatelsky del inovane dekodery) z Panelu nabidek (viz obrazek 4.47). Obrazek 4.47 Dialogove okno Decode As: Show Toto dialogove okno slouzi ke zobrazeni dekoderu /adanych prostfednictvim dialogoveho okna Decode As (jeden na fadek). Sloupec Table (Tabulka) ukazuje magicka cisla alternativniho dekoderu (v tomto pfipade port TCP). Sloupec Port zobrazuje magicke cislo alternativniho dekoderu (v tomto pfipade 179). Sloupec Initial (Po£ate£ni) zobrazuje disektor, ktery by byl za normalnich okolnosti pouzit к dekodovani dat paketu s timto magickym cislem a typem magickeho cisla (v tomto pfipade BGP). A nakonec, sloupec Current (Aktualni) zobrazuje disektor, ktery se aktualne pouziva pro deko- dovani dat paketu s timto magickym cislem a typem magickeho cisla (v tomto pfipade HTTP). Follow TCP Stream (Sledovat datovy proud protokolu TCP) a Follow SSL Stream (Sledovat datovy proud protokolu SSL) Okna Follow TCP Stream a Follow SSL Stream obsahuji stejne volby a chovaji se totozne az na jednu vyjimku; okno Follow TCP Stream sleduje jakykoliv datovy proud protokolu TCP, zatimco Follow SSL Stream sleduje pouze vybrany datovy proud protokolu Secure Sockets Layer (SSL). Protoze jsou tato okna temef identicka, probereme nyni pouze podnabidku Follow TCP Stream. Dialogove okno Follow TCP Stream zobrazite vyberem paketu protokolu TCP v Souhrnnem окпё a vyb£rem polozky Analyze -> Follow TCP Stream z Panelu nabidek (viz obrazek 4.48).
168 Kapitola 4: Pouzi'vame Wireshark Obrazek 4.48 Okno Follow TCP Stream V tomto prlkladu je zobrazen paket protokolu TCP, ktery byl soucasti konverzace protokolu HTTP s webovym serverem www.cpress.cz. Ve vychozim nastaveni je jedna strana konverzace oznacena cervenou barvou (horni cast) a druha strana konverzace je oznacena modre (spodni cast). Pro lepsi citelnost je ta strana konverzace, ktera je normalne oznacena modre, zobrazena jako bi'ly text na tmave modrem pozadi. Posunem obsahu okna smerem dolu muzete videt vsechna data predana v ramci teto konverzace protokolu TCP. Klepnutim na tlacitko Entire conversation urcite, zda chcete zob- razit celou konverzaci, nebo pouze jeden jeji smer (viz obrazek 4.49). Follow TCP Stream Stream Content GET HTTP/i.l Host: ww.syngress.com User-Agent: Mozilla/5.0 (xll; U; Linux 1686; en-US; rv:1.5) Gecko/20031225 iFirebird/O. 7 Accept: text/xml,application/xml,appl1 cat1on/xhtml+xml,text/html;q=0.9,text/ plain;q=u.8,v1deo/x-mng,1mage/png,1mage/Jpeg,1mage/g1f;q«o.2,й/й;q=0.1 Accept-Language: en-us,en;q«0.5 Accept-Encoding: gzip,deflate 1 Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0. 7 Keep-Alive: «00 ;Connection: teep-alive HTTP/1.1200 OK Server: Microsoft-llS/5.0 Date: Mon, 19 Jan 2004 10:27:48 GMT Syngress Publishing: syngress Pulishing x-Powered-By: asp.net connection: close set-cookie: CFID=212546; expireswed, Il-Jan-2034 09:58:04 GMT;path=/ set-cookie: CFTOKEN-2 586894 5; expires wed, ll-Jan-2034 09:58:04 GMT;path=/ Content-Type: text/html; charset=UTF-8 Save As Print Ertue conversation (22 Hex Dump r C Arrays Raw 6826 232.154 36856 > 209.164 15.58 http |432 bytes) 203164.15 58 http > 66 26.232154 36856 (23192 bytes) Filter Out This Stream Close Obrazek 4.49 Dialogov£ okno Follow TCP Stream: vyb£r sm£ru konverzace
Seznamujeme se s nabidkami 169 Klepnuti na tlacitko Save As vyvola dialogove okno Save As (Ulozit jako), kde muzete ulozit obsah datoveho proudu do textoveho souboru. Klepnutim na tlacitko Print vytisknete zachycena data v jej ich textove podobe. (Vsimnete si, ze s tlacitkem Print neni asociovano zadne dialogove okno.) Tlacitko Filter out this stream Vyl iltrovat tento datovy proud) pfipoji nezbytny fetezec filtru к tomu, ktery je momentalne v Panelu filtru, a zavfe okno Contents of the TCP Stream. To se muze hodit pfi procha- zeni velkeho souboru zachycenych dat. Kdyz se divate jednotlive na ty datove proudy TCP, ktere vas mohou pfipadne zajimat, a vyloucite je ze Souhrnneho okna, zustanou jen neprozkoumana data. Mate take moznost urcit, jak bude datovy proud TCP prezentovan. Na obrazku 4.49 je vybrana volba ASCII. Vyberem volby EBCDIC zpusobite, ze datovy proud bude zobrazen ve formatu Extended Binary Coded Decimal Interchange Code (EBCDIC). Vyberete-li volbu Hex Dump, uvidite hexa- decimalni vypis datoveho proudu protokolu TCP. A nakonec, pokud pouzijete pfepinac C Arrays, bude datovy proud protokolu TCP zobrazen jako serie poll jazyka C. Expert Info (Expertni informace) a Expert Info Composite (Slozene expertni informace) Volby nabidky Expert Info a Expert Info Composite poskytuji identicke informace v podobnem rozvrzeni. Obe volby poskytuji rozbor aktualnich zachycenych dat a zobrazuji souhrnnou informaci о aktualni konverzaci, chyby a varovani, ktere mohou byt odvozeny od vzorii datoveho provozu. Tyto volby jsou vybornvm zpusobem pro zahajeni feseni problemu souvisejicich s datovym provozem, nebof poskytuji jednoduche informace о chybach, aniz by byla nutna rucni analyza paketu. Nabidka Statistics (Statistiky) Nabidka Statistics poskytuje ruzne specializovane nastroje pro analyzu sitbveho provozu (viz obra- zek 4.50). Tyto statistiky jsou zobrazeny pro urcite vlastnosti protokolu. Mnohe z techto nastroju jsou pfili§ specificke a jejich podrobny popis je mimo rozsah teto knihy; avsak my se zde podivame alespon na ty obecnejsi z nich. vcetne nastroju pro tvorbu grafu. Jednotlive polozky nabidky jsou popsany v tabuice 4.13. Obrazek 4.50 Nabidka Statistics
170 Kapitola 4: Pouzi'vame Wireshark Tabulka 4.13 Volby nabidky Statistics Volba nabfdkv Popis Summary Zakladni statistiky pro aktualni zachytavani data. Protocol Hierarchy Zobrazi hierarchicky rozbor protokolu v aktualnich zachycenych datech. Conversations Poskytuje zakladni informace о vsech konverzacich v aktualnich zachyce- nych datech. Endpoints Poskytuje zakladni informace о poftu vSech koncovych bodii v aktualnich zachytavanych datech. IO Graphs Zobrazi zikladni grafy casove posloupnosti. Conversation List Podnabidka pro zobrazeni poctu konverzaci a zakladnich statistik pro 13 ruz- nych protokolQ druhe a tfeti vrstvy a transportnich metod. Endpoint List Podnabidka pro zobrazeni poctu koncovych bodu a zakladnich statistik pro 12 ruznych protokolu druhe a tfeti vrstvy a transportnich metod. Service Response Time Podnabidka pro zobrazeni doby odezvy sluzby pro 11 ruznych protokolu. ANSI Podnabidka pro zobrazeni poctu rozborii tri ruznych protokolu American National Standard Institute (ANSI). FaxT38 Analysis... Zobrazi zakladni informaci о Faxu T.38.Tato vlastnost je aktualn£ implemen- tovana v nabidce Voice Over Internet Protocol (VoIP) Calls. Global Systom for Mobile Communications (GSM) Podnabidka pro zobrazeni poctu rozboru protokolu GSM ANSI. H.225... Zobrazi pofet zprav protokolu H.225. MTP3 Podnabidka pro zobrazeni poctu zakladnich podnabidek protokolu MTP3. RTP Podnabidka pro zobrazeni datovych proudii relaci Real-Time Protocol (RTP) a analyzu vybranych datovych proudii RTP. SCTP Podnabidka pro analyzu a poskytnuti statistik о asociacich protokolu Stream Control Transmission Protocol (SCTP). SIP Poskytuje zakladni analyzu cast! kodu protokolu Session Initiation Protocol (SIP). VoIP Calls Zobrazi informace о relacich hovorii prostfednictvim protokolu Voice over Internet Protocol (VoIP). Wireless Application Pro- tocol-Wireless Session Protocol (WAP-WSP...) Poskytuje zakladni analyzu WAP-WSP. BOOTP-DHCP... Zobrazi pocet zprav protokolu Dynamic Host Configuration Protocol (DHCP) a Bootstrap Protocol (BOOTP), rozd£lenych podle typu zpravy. Destinations... Poskytuje hierarchicky pohled na vsechny konverzace v aktualnich zachyce- nych datech. Flow Graph... Poskytuje detailni graficke znazorneni informaci о sledu protokolu.
Seznamujeme se s nabidkami 171 Vol ba nabidky Popis HTTP Podnabidka pro zobrazeni informaci zadosti protokolu HTTP. IP Address... Poskytuje hierarchicky pohled na vsechny konverzace protokolu IP v aktual- nich zachycenych datech. ISUP Messages... Multicast Streams Zobrazi pocet zprav typu ISUP pro aktualni zachycena data. Zobrazi podrobny rozbor vicesmerovych datovych proudii a umozni pripra- vu filtru v Souhrnnem окпё. ONC-RPC Programs Poskytuje souhrnne informace о konverzacich protokolu Open Network Computing (ONC)-Remote Procedure Call (RPC). Packet Length Port Type... Vypocita statistiku delky paketu podle rozsahu aktualnich zachycenych dat. Poskytuje hierarchicky pohled na vyuziti vsech portu pro konverzace v aktu- alnich zachycenych datech. TCP Streams Graph Podnabidka pro vypocet a zobrazeni robustmch grafu. Summary (Souhrn) Dialogove okno Summary muzete zobrazit vyberem polozky Statistics -> Summary z Panelu nabi- dek (viz obrazek 4.51). Obrazek 4.51 Dialogove okno Summary
172 Kapitola 4: Pouzivame Wireshark Dialogove okno Summary poskytuje informace о souboru zachycenych dat, zakladni statistiky zachy- cenych dat a zakladni iniormace о zachytavani. Protocol Hierarchy (Hierarchie protokolu) Dialogove okno Hierarchy muzete zobrazit vyberem polozky Statistics -> Protocol Hierarchy z Pa- nelu nabidek (viz obrazek 4.52). Wueshaik Piotocol Hierarchy Statistics Obrazek 4.52 Dialogove okno Protocol Hierarchy Statistics Toto dialogove okno poskytuje stromove znazorneni protokolu a statistik, ktere jsou s nimi asocio- vany. Tabulka 4.14 poskytuje vysvetleni vyznamu vsech sloupcu. Tabulka 4.14 Sloupce Protokol Hierarchy Statistics Sloupec Popis - - - - -------------- -- -------- - - - - ---- - - - Protocol Protokol, о jehoz statist!kach je podana zprava. Protokol mcize obsahovat polozky ve stromove strukture, kter£ predstavuji obsazene protokoly (napr. protokol IP obsahuje TCP a UDP). % Packets Procentualni podiI vsech paketu protokolu v zachycenych datech. Packets Pocet paketu protokolu v zachycenych datech. Bytes Pocet bajtii protokolu v zachycenych datech. End Packets Pocet paketu, pro ktere je tento protokol poslednim protokolem v dekod£ru (napr. paket SYN protokolu TCP, ktery neobsahuje zadn3 data, bude poslednim paketem pro- tokolu TCP a bude zapoditan do celkoveho poctu koncovych paketu protokolu TCP). End Bytes Pocet bajtu, pro kter£ je tento protokol poslednim protokolem v dekoderu. Podnabidka TCP Stream Graph (Graf datovёho proudu protokolu TCP) Podnabidku TCP Stream Analysis muzete zobrazit vyberem paketu protokolu TCP v Souhrnnem okne a naslednem vyberu polozky Statistics -» TCP Stream Graph z Panelu nabidek (viz obrazek 4.53). Volby podnabidky TCP Stream Graph jsou popsany v tabuice 4.15.
Seznamujeme se s nabi'dkami 173 Tabulka 4.15 Volby podnabidkyTCP Stream Graph Volba nabidky Round Trip Time Graph Popis Zobrazi graf tzv. round trip time (cas zpatecni cesty) versus pofa- dove cislo. Throughput Graph Zobrazi graf propustnosti versus Cas. Time-Sequence Graph (Stevens) Time-Sequence Graph (tcptrace) Zobrazi graf fasoveho sledu ve stylu pouzitem v knize W. Richarda StevenseTCP/IP Illustrated. Zobrazi graf Casoveho sledu ve stylu pouzivanem programem tcp- trace, ktery najdete na strance www.tcptrace.org. tcp stream aralysis libpcap Wireshark Г TT 13 jbrazek 4.53 Podnabidka TCP Stream Graph RTT Graph (Graf RTT) Graf RTT zobrazuje vzajemny vztah RTT versus pofadove cislo (viz obrazek 4.54).
174 Kapitola 4: Pouzivame Wireshark Obrdzek 4.54 Graf RTT Vrchol grafu RTT muzete videt kolem pofadoveho cisla 1000000, ktere je zhruba stejnym porado- vym d'slern, u nehoz uvidite mezeru v grafu casoveho sledu. Throughput Graph (Graf propustnosti) Graf propustnosti zobrazuje vzajemnou zavislost propustnosti datoveho proudu protokolu TCP versus cas (viz obrazek 4.55). Obrazek 4.55 Graf propustnosti
Seznamujeme se s nabfdkami 175 Ma obrazku 4.55 Ize pozorovat drasticky pokles propustnosti v prubehu sekvence opetovneho pfe- nosu znazorneneho na gralu casoveho sledu. Graf casoveho sledu (Stevens) Graf casoveho sledu (Stevens) vytvar i jednoduchy graf vzajemne zavislosti pofadovych ci'sel protokolu TCP versus cas pro datove proudy protokolu TCP obsahujici paket, ktery byl vybran v Souhrnnem okne. Prvni informaci, kterou muzeme z tohoto grafu odvodit, je propustnost provozu protokolu TCP. V idealni situaci, kdy mame konstantni propustnost, by graf byl stoupajici pnmkou se sklonem rovnajicim se propustnosti. Bohuzel je skutecnost idealni zfidkakdy a pohledem na graf casoveho sledu muzete zjistit, kde se nachazi zdroj vasich problemu s propustnosti. Na obrazku 4.56 je graf znazoriiujici problem s propustnosti. Tento graf muzete napodobit vyberem prvniho paketu soubo- ru zachycenych dat tcp_stream_analysis.libpcap a polozky Statistics TCP Stream Graph -» Time- Sequence Graph (Stevens). Soubor zachycenych dat pouzity v tomto grata je typickym pfikladem opetovneho pfenosu protokolu TCP. Jedna se о ten typ problemu, pro jehoz feseni muzete pouzit nastroj TCP Stream Analysis. Cely soubor se sitbvymi daty najdete na doprovodnem CD a byl take pfidan do kolekce souboru zachycenych dat na webovych strankach Wiresharku. Po pfiblizne 0,3 vtefinach je graf vicemene vodorovny (konstantni propustnost) po dobu zhruba 3 vtefin, po ktere nasleduje znatelne pferuseni znazornene na grafu mezerou. Tato mezera poukazuje na opetovny pfenos protokolu TCP. Graf casoveho sledu podle Stevense je jednoduchy, ale poznate z nej, kde se teziste problemu nachazi. Obrazek 4.56 Grafdasoveho sledu (Stevens)
176 Kapitola 4: Pouzivame Wireshark Graf casoveho sledu (tcptrace) Graf Casoveho sledu (tcptrace) je take primarnim grafem zavislosti poradovych disel TCP versus cas. Narozdil od grafu casoveho sledu Stevensova stylu zprostfedkovava mnohem vice informaci о da- tovem proudu protokolu TCP. Podle obrazku 4.57 vidime, ze graf casoveho sledu ve stylu tcptrace vypada velmi podobne jako Stevensuv graf casoveho sledu. Obrazek 4.57 Grafcasoveho sledu (tcptrace) Vysvetleni cast! zobrazenych v grafu casoveho sledu stylu tcptrace je jednoduche, zejmena s pouzi- tim nekterych nastroju pro zpracovani grafu dostupnych ve vsech grafech analyzy datoveho proudu protokolu TCP. Urcitou cast grafu zvetsite tak, ze stisknete klavesu Ctrl a klepnete Pravym tlacit- kem mysi na graf (viz obrazek 4.58). Obrazek 4.58 Graf Casoveho sledu (tcptrace) - zvetSeni
Seznamujeme se s nabidkami 177 Pole ve stfedni casti grafu na obrazku 4.58 ukazuje zvetsenou oblast pferuseni, kde dochazelo ke ztra- te paketu. Abyste danou oblast videli je§te podrobneji, pouzijte vlastnost zoom (priblizeni). Klepnu- tim na graf prostfednim tlaf itkem mysi (koleckem) zvetsite tu cast grafu, na kterou jste klepnuli. Stisknutim klavesy Shift a prostredniho tlacitka mysi pohled opet oddalite. At’ uz jste pohled pfi- blizili nebo oddalili, stisknuti praveho tlacitka mysi a tazeni mysi po grafu vam umozni pohyb po jeho ruznych oblastech. Pfiblizeny pohled na oblast grafu s patrnym pferuseni m z obrazku 4.58 je znazornen na obrazku 4.59. Obrazek 4.59 Graf casoveho sledu (tcptrace) - pfiblfzeni Obrazek 4.59 ukazuje pfiblfzeni oblasti grafu tesne pfed oblasti s pferusenim. Zacatek pferuseni muzete videt v prave casti grafu. Graf casoveho sledu ve stylu tcptrace se sklada z nekolika casti. Dolni cara pfedstavuie pofadove cislo posledniho zachyceneho paketu Acknowledgement (TCP). Horni cara predstavuje okno protokolu TCP a sklada se z posledniho zachyceneho paketu TCP ACK a dfive zachycene velikosti okna protokolu TCP. Znacky na dolni cafe pfedstavuji duplicitni zpravy ACK a znacky „Г pfedstavuji pfenesene segmenty. Obrazek 4.59 znazornuje graf totozny s tim na obrazku 4.60, ale s odlisnymi poznamkatni, ktere zdti- razhuji chyby datoveho proudu protokolu TCP. Data zachycena pro tento graf byla pfevzata z velke- ho objemu dat protokolu TCP. Vidime zde tedy pouze segmenty, ktere jsme dostali ke konci. Co je Z grafu je patrne, ze dfive pfijemce vynechal dva segmenty. Pfijemce pokracoval vyslanim potvrze- ni ACK pro posledni obdrzeny segment a dale pfijimal nasledujici segmenty, dokud tyto nezaplnily okno protokolu TCP. Nekolik dalsich segmentu se po ceste ztratilo. Nakonec jsme obdrzeli druhy chybejici segment, tfeti chybejici segment a take ctvrty chybejici segment. Avsak protoze se prvm chybejici segment jeste neobjevil, pfijemce pokracoval odesilanim duplicitnich zprav ACK.
178 Kapitola 4: Pouzivame Wireshark I team, analysis libpcap 128 101 80 131 80 > 6 Sequence numberfB] T vne/Sequence Graph 110ПЭОО — 1050000 — > Chyb£jid segmenty 3 a 4 dorazily 1000000 — ,•* ChybSjid ,«* segmenty 3a4 /Сии, i1’ ACK Chybejici segment 2 (7 dorazil Chybejid segmenty 1 a2 I I I I I I I I I I I I I 'ГТ]"Г I I I | I I I I | I r I I | I I I I [ I *80 2 85 2 90 2 95 3 00 3 05 3 10 3 15 T"l | I ГI I | I 320 325 Troefs] Obrazek 4.60 Graf Casoveho sledu (tcptrace) - diagnostika Obrazek 4.61 ukazuje, jak byl tento problem vyresen. Obrazek 4.61 Graf fasoveho sledu (tcptrace) - zvSEen^ oblast grafu znazornujici opdtovny pfenos
Seznamujeme se s nabi'dkami 179 Ma obrazku 4.61 muzete videt, jak dorazil chybejfci segment (predpokladejme, ze opetovnym ode- slanim). V tomto bode je odeslana zprava ACK jako potvrzeni posledmho obdrzeneho segmentu, okno protokolu TCP se zvetsi a prijemce opet zacne pfijimat segmenty. Throughput Graph (Graf propustnosti) Graf propustnosti zobrazuje propustnost datoveho proudu protokolu TCP vs. cas (viz obrazek 4.62). TCPGiaph 5 Icpslieamanalysis libpcap 128 101.80 131 80 > 6 HQD (B/«) 400000 — Throughput Graph 350000 300000— 250000 — 200000 150000— 100000— —i—i—i—imi—i—imi—i—i i i i i 05 10 15 20 25 30 35 -0 45 50 55 GO 65 70 Tmefc) Obrazek 4.62 Graf propustnosti Jak muzete videt na obrazku 4.62, propustnost se v prubehu sekvence opetovneho prenosu videne na grafech casoveho sledu znacne snizila. Graph control (Ovldddni grafu) V teto sekci budeme hovofit о libovolnem окпё obsahujicim analyzu datoveho proudu protoko- lu TCP jako о окпё grafu. Vyraz okno grafu odkazuje na graf casoveho sledu Stevensova stylu, graf propustnosti nebo graf RTT. Vzdy kdyz je vytvofeno okno grafu, zobrazi se dialogove okno Graph Control (viz obrazek 4.63). Vsimnete si, ze cislo v dialogovem окпё (1) se shoduje s cislem v окпё gralu na obrazku 4.59 (1). V pпpadё, ze je otevfeno vice oken grafu, muzete pouzit cislo indexu pro pfifazeni dialogoveho okna Graph Control к jeho oknu grafu. Zalozka Zoom umoznuje nastavit parametry souvisejici s funkcionalitou zoomu funkce grafu (viz obrazek 4.63). Textova pole Horizontal a Vertical ukazuji velikost zoomu ак1иа!пё рои>д1ёЬо v ок- пё grafu.
180 Kapitola 4: Pouzivame Wireshark Zoom I Magnify I PriQin | Goss | fiiach type | Graph 5 Control Wireshark Help Obrazek 4.63 Dialogov£ okno Graph Control: zalozka Zoom Textova pole Horizontal step a Vertical step umoznuji nastavit horizontalni a vertikalni stupen pfiblfzeni pouziteho na graf po stisknuti klavesy Shift a prostfedniho tlacitka mysi. Kdyz povo- lite zaskrtavaci policko Keep them the same (Udrzuj totozne hodnoty), kdykoliv potom zmenite horizontalni nebo vertikalni krok, bude ten druhy гтёпёп na stejnou hodnotu. Zaskrtavaci policko Preserve their ratio (Zachovat pomer) zpiisobi, ze ротёг mezi horizontalnim a vertikalnim kro- kem bude zachovan. Pokud je horizontalni krok 1.2 a vertikalni krok 2.4 a vy zmdnite horizontalni krok na 1.3, bude vertikalni krok automaticky гтёпёп na hodnotu 2.6. Sekce Zoom lock (Zamknout pfiblfzeni) umoznuje zamknout horizontalni nebo vertikalni krok, takze pfiblizeni se na пё nepouzije. Kdyz je povolena volba horizontal, nezalezi na tom, jaka je nastavena hodnota horizontalniho kroku a pfiblizovani nebude тёпк horizontalni тёпЧко. Kdyz je povolena volba vertical, nezalezi na tom, jaka je nastavena hodnota vertikalniho kroku a pfiblizo- vani nebude menit vertikalni тёпЧко. Zalozka Magnify (ZvetSit) umoznuje nastavit parametry pro funkci zv£t§ovani (viz obrazek 4.64). Obrazek 4.64 Dialogovd okno Graph Control - zalozka Magnify
Seznamujeme se s nabi'dkami 181 Textova pole Width (Sirka) a Height (Vyska) umoznuji nastavit sifku a vysku pole pro zobrazeni zvetsene oblasti, ktera se objevi po stisknuti tlacitka Ctrl a praveho tlacitka mysi v окпё grafu Tex- tova pole X: a Y: slouzi pro nastaveni x-oveho a y-oveho posunu od umisteni kurzoru mysi v окпё pro zobrazeni zvctsene oblasti. Tato vlastnost muze byt uzitecna pro posun zvTtsovaciho pole tarn, kde nebude omezovat graf. Textova pole Horizontal: a Vertical: umoznuji nastavit stupen pfiblize- ni pouzity pro гуёгёет grafu ve zvёtsovac^m poli. Zaskrtavaci policko Keep them the same (Udrzuj totozne hodnoty) zpusobi, ze se budou horizontalni i vertikalni krok тёпк zavisle na $оЬё. Zaskr- tavaci policko Preserve their ratio (Zachovat pomer) zpusobi, ze ротёг stupnu zA^tseni v horizon- talnim i vertikalnim $тёги zustane zachovan. Zalozka Origin (Pocatek) umoznuje zmenit podatek grafu (viz obrazek 4.65). Sekce 1 iine origin (Casovy pocatek) umoznuje nastavit bod nula vaseho grafu. Pokud zvolite moz- nost Beginning of this TCP connection (zacatek tohoto spojeni protokolu TCP), nastavite poca- tek zachytavani jako pocatek casu. Sekce Sequence number origin (Pocatek pofadovych cisel) umoznuje vybrat, zda budou zobra- zovana skutecna pofadova cisla paketu protokolu TCP nebo relativni pofadova cisla paketu proto- kolu TCP. Graph 5 - Control Wneshark №□ Obrazek 4.65 Dialogov£ okno Graph Control - zalozka Origin Casto je pohod^jsi pouzit relativni pofadova cisla protokolu TCP, nebof poskytuji povedomi о tom, kolik bylo pfeneseno dat. Vyberete-li moznost initial sequence number (po£ate£ni pofadove cislo), budou pouzita relativni pofadova cisla paketu protokolu TCP. Vyberete-li moznost 0 (=absolute), pouziji se v grafu skutecna pofadova cisla. Zalozka Cross (Kfiz) umoznuje nastavit, zda bude kurzor mysi nasledovan grafickym zamefovacim kfizem (viz obrazek 4.66). Kdyz vyberete prepinac Off, kurzor mysi nebude v окпё grafu doprovazen zanwfovacem. Vyberete- -li pfepinac On, zanwfovaci kfiz zapnete. Jakmile je jednou okno grafu zobrazeno, muzete pro pfepinani typu grafu pouzit zalozku Graph type (Typ grafu) (viz obrazek 4.67).
182 Kapitola 4: Pouzivame Wireshark Graph 5 • Control Wireshaik^S Obrazek 4.66 Dialogove okno Graph Control - zalozka Cross Obrazek 4.67 Dialogove okno Graph Control - zalozka Graph Type Kdyz vyberete moznost Time/Sequence (tcptrace-style) (Cas/Poradi - styl tcptrace), zobrazi se okno Time-sequence (tcptrace-style). Kdyz vyberete moznost Time/Sequence (Stevens style) (Cas/Poradi - Stevensuv styl), zobrazi se okno Time-sequence (Stevens’-style). Kdyz vyberete volbu Throughput, zobrazi se okno grafu propustnosti. Vyberem volby Round-trip Time zobrazite okno grafu RTT. Standardne pokud jste pouzili funkci priblizeni v okne grafu libovolneho typu, zustane toto nasta- veni platne i pri zmene typu grafu. Povolite-li zaskrtavaci policko Init on change, resetuje se toto nastaveni pfi kazde zmene typu grafu. Nabidka Help (Napoveda) Nabidka Help je znazornena na obrazku 4.68 a volby nabidky Help jsou popsany v tabuice 4.16.
Seznamujeme se s nabidkami 183 Tabulka 4.16 Volby nabidky Help Volba nabidky Popis Contents Zobrazi obsah online napovedy programu Wireshark. Supported Protocols Zobrazi seznam podporovanych protokolu a poli filtru pro zobrazeni, ktere tyto protokoly poskytuji. Manual Pages Podnabidka pro pfistup do klasickych manualovych stranek v unixovem styiu pro Wireshark, filtry Wiresharku a nastroje pfikazove fadky. Wireshark Online Podnabidka pro pristup к online zdrojum Wiresharku. About Wireshark Zobrazi informaci о verzi Wiresharku a informace о sestaveni. Рйе Ed« View go gaptme Analyze Statistics tcp_sheam_analysis libpcap Wneshaik Help Time Source No • About Wireshark 1080 1081 1082 1083 128.101.80.131 66.26.232.154 128.101.80.131 66.26.232.154 2.911498 2.911509 2.915564 2.915573 Filter: Э Contents Supported Protocols ManuaiPaqes Wireshark Online xpression.. Clear Apply Protocol Info HTTP continuation or поп-нттр tr aTFTc [TCP Dup ACK 1039*21] 33543 > http continuation or поп-нттр traffic [TCP Dup ACK 1039*22] 33543 > http HTTP 128.101.80.131 66.26.232.154 128.101.80.131 1085 2.919158 1086 2.923839 1087 2.923849 1088 2.927425 1089 2.927434 1090 2.9315G1 1091 2.931608 1092 2.935171 66.26.232.154 128.101.80.131 66.26.232.154 128.101.80.131 66.26.232.154 128.101.80.131 66.26.232.154 128.101.80.131 128.101.80.131 66.26.232.154 128.101.80.131 66.26.232.154 128.101.80.131 66.26.232.154 128.101.80.131 66.26.232.154 TCP [TCP Dup ACK http Continuation TCP [TCP Dup ACK http continuation TCP [TCP Dup ACK http continuation TCP [TCP Dup ACK http continuation 1039*23] 33543 > http or поп-нттр traffic 1039*24] 33543 > http or поп-нттр traffic 1039*25] 33543 > http or поп-нттр traffic 1039*26] 33543 > http or поп-нттр traffic 1 66.26.232J 54 12FL1 0ЪR0. 131 TCP [TCP Dun ДГК 103 9*271 3 3 543 > htrn ZJ 11 - . .....................................-.----- .. ___ _______________________I__________±1 7 Frame 108-^ (1514 bytes on wire, 1514 bytes capturedj) iS Ethernet II, src: Cisco_a9:f4:a8 (00:07:0d:a9:f4:a8), Dst: Farallon_5f:40:f3 (00:00:c5:5f:40:f3) IS Internet Protocol, Src: 128.101.80.131 (128.101.80.131), Dst: 66.26.232.154 (66.26.2*2.154) Ш Transmission Control Protocol, Src Port: http (80), Dst Port: 33543 (33543), seq: 1041112, Ack: C S Hypertext Transfer Protocol 0010 05 de le de 40 00 2e 06 2c 21 30 65 50 83 42 la ....©... ,’.eP.B. 0020 e8 9a 00 50 83 07 11 еЗ 2a 07 3d b8 20 2c 80 10 ...P.... *........ 0030 19 20 47 2c 00 00 01 01 08 0a 33 5c a4 4f 00 34 . G,..........\.O.4 0040 25 fb 65 2d 18 a3 22 31 94 35 28 85 40 51 b2 fa %.e-.."l . 5(.©Q. . 0050 eb 96 ac 5a 2d f5 5f 7f 57 d7 ca ea ac d5 61 cb ; w. ....a. Fte: “C:\WiresharkVcp_;tream_aM?s« libpcap" 2497 KB 00:00:07 | P: 2573 D: 2573 M: 0 Obrazek 4.68 Nabidka Help Contents (Obsah) Dialogove okno Contents zobrazite vyberem polozky Help Contents z Panelu nabidek (viz obi a- zek 4.69). Tento dialog poskytuje prehled informaci о Wiresharku, vcetne sekei Getting Started (Zaciname), Capturing (Zachytavani), Capture Filters (Zachytavaci filtry), Display Filter (Zobrazovaci filtry) a odpovedi na Caste dotazy (FAQ).
184 Kapitola 4: Pouzivame Wireshark Supported Protocols (Podporovarre protokoly) Dialogove okno Supported Protocols zobrazite vyberem polozky Help -> Supported Protocols z Pane- lu nabidek (viz obrazek 4.70). Tento dialog poskytuje seznam podporovanych protokolu a take seznam poli zobrazovacich filtru poskytovanych aktualni verzi Wiresharku. Obrazek 4.69 Dialogove okno Help Contents Obrazek 4.70 Dialogove okno Supported Protocols
Seznamujeme se s nabfdkami 185 podnabidka Manual Pages (Stranky manualu) podnabidka Manual Pages zobrazite vyberem polozky Help » Manual Pages z Panelu nabidek (viz obrazek 4.71). Volby podnabidky Manual Pages jsou popsany v tabuice 4.17. bgp pcap - Wirethark Fite Analyze Stetrbcs *• _____________ - --- - ----------—. - ------- . . — Help S Contents Fl Supported Protocols FK- No • Manual Page: Witeshatl Online Wkeshaik Wkeshari Fiket Time 0.jOOUjO 0.000031 0.0004 2 2 0.006057 7.999977 8.003909 8.003954 Source 192.168.0.33 192.168.0.15 192.168.0.15 192.168.0.33 192.168.0.15 192.168.0.33 192.168.0.15 G fibout Wireshad , 192.168.0.33 192.168.0.33 192.168.0.15 192.168.0.33 192.168.0.15 192.168.0.33 T Shark Dunpap htergecap Editcap Text2pccp 2123 bgp bgp 2123 bgp bgp > 2124 2124 > bgp FIN, ACK] FIN, ack; SYN' SYN, ACK] PSH, ACb] Seq=0 Ac Seq-0 Ack-1 win-32 ack] seq-0 Ack-i w Seq-1 Ack-1 win-16 seq-0 Len-0 MSS-14 ACK] Seq=0 Ack=l w 5eq=l Ack=l win-32 ;.*___________________________________________________________________________________ 2 3 Frame 8 (83 byres on wire, 83 bytes captured) Ethernet ZI, Src: DellComp_23:c5:95 (00:c0:4f:23:c5:95), Dst: Cisco_35:Oe:1c (00:00:0c:35:0e:1c) internet Protocol, src: 192.168.0.15 (192.168.0.15), Dst: 192.168.0.33 (192.168.0.33) Transmission Control Protocol, Src Port: 2124 (2124), Dst Port: bgp (179), Seq: 1, Ack: 1, Len: 2 Border Gateway Protocol 4 I MN. uuoo 0010 0020 0030 0040 0050 uu 00 00 7d ff 00 Of 00 OU 21 78 ff UC 3 5 Oe 48 08 19 ff e9 03 ff 40 00 00 ff 00 b3 00 ff 00 40 d6 ff 00 CO 06 33 ff Id '4Г 23 СТ ОЗ Об 00'4'i OO 70 9d ff 01 49 62 ff 04 co ff a8 40 ff 09 00 eO ff 00 Of 46 ff b4 cO 50 ff cO a8 18 ff a8 ..5.... O*....b. EH.©.©, pl....... 1.L...3 .bz©.FP. Fite "CAWreshafk’vbqp рсзр" 1911 Bytes ’ЮОО:СЙ |P 20D 20M:0 Obrazek 4.71 Podnabidka Manual Pages Tabulka 4.17 Volby podnabidky Manual Pages Wireshark Otevre manualove stranky (manpage) Wiresharku. Wireshark filter Otevre manualove stranky pro tvorbu filtru Wiresharku. TShark Otevre manualove stranky pro Tshark - verzi Wiresharku pro praci v prostfe- di pfikazove fadky. Dumpcap Otevfe manualove stranky pro Dumpcap - nastroj pro zachytavani paketu v prostfedi pfikazove fadky. Mergecap Otevfe manualove stranky pro Mergecap - nastroj pro spojovani dvou nebo vice souboru zachycenych dat v prostredi pfikazove fadky. Editcap Otevfe manualove stranky pro Mergecap - nastroj pro editaci a pfeklad souboru libpcap v prostfedi pfikazove fadky. _______ Text2pcap Otevfe manualove stranky pro text2pcap - nastroj pro generovani soubo- ru zachycenych dat z hexadecimalnich vypisu paketu v prostfedi pfikazo- ve fadky.
186 Kapitola 4: Pouzivame Wireshark Vsechny podnabidky v Manual Pages zobrazuji manualove stranky unixoveho stylu formatovane v Hypertext Markup Language (HTML) ve vychozim webovem prohlizeci systemu. VSechny nastro- je pfikazove fadky podporuji format souboru libpcap (jak je feceno manualovymi strankami), coz je take vychozi format Wiresharku. Podnabidka Wireshark Online Podnabidku Wireshark Online zobrazite vyberem polozky Help -> Wireshark Online z Panplu nabi dek (viz obrazek 4.72). Volby podnabidky Wireshark Online jsou popsany v tabuice 4.18. [de yiew Qo Capture Analyze Statistics FSter «в» tcp_stream_analy$is libpcap - Wiieshark Source Time No. - Vireshark Online 128.101.80.131 66.26.232.154 128.101.80.131 66.26.232.154 1080 1081 1082 1083 2.911498 2.911509 2.915564 2.915573 S Contents Supported Protocols Manual Pages F1 Ct HomePage О About Wneshark >•6.26.232.ИГ 128.101.80.131 66.26.232.154 128.101.80.131 66. 26 User’s Guide FAQ’s Dowdoadt Example Files p ACK 1039*21] 33 543 > http ation or non-HTTP traffic p ACK 1039*22] 33543 > http atri c 1085 1086 1087 1088 1089 1090 1091 1092 1(193 2.919158 2.923839 2.923849 2.927425 2.927434 2.931561 2.931608 2.935171 2.935206 66.26.232.154 128.101.80.131 66.26.232.154 128.101.80.131 66.26.232.154 66.26.232.154 128.101.80.131 66.26.232.154 128.101.80.131 66.26.232.154 128.101.80.131 66.26.232.154 128.101.80.131 66.26.232.154 128.101.80.131 66.26.232.154 128.101. R0JL31 HTTP HTTP HTTP HTTP й Frame 108* 1514 bytes on wire, 1514 bytes 'captured) continuation continuation Continuation or поп-нттр traffic 1039*24] 33543 > http or поп-нттр traffic 1039*25] 33543 > http or non-HTTP traffic 1039*26] 33543 > http Continuation or non-HTTP traffic ТТГР Dun ДГК 1039*271 33543 > httn zJ 7^13 S Ethernet II, Src: Cisco_a9:f4:a8 (G0:07:0d:a9:f4:a8), Dst: Farallon_5f:40:f3 (OO:OO:c5:5f:40:f3) S internet Protocol, Src: 128.101.80.131 (128.101.80.131), DST: 66.26.232.154 (66.26.232.154) a Transmission control Protocol, Src Port: http (80), Dst Pori: 33543 (33543), Seq: 1041112, Ack: C S Hypertext Transfer Protocol •______________________________________________________________________________________________________I ±J 0000 00 0d c5 5f 40 f3 00 07 dd ad ?4 аё 6Й od 45 80 E. Д 0010 05 de le de 40 00 2e 06 2c 21 30 65 50 83 42 la ,!.eP.B. 0020 e8 9a 00 50 83 07 11 e3 2a 07 Od b8 20 2c 80 10 ...P.... *................................... -1 0030 19 20 47 2c 00 00 01 01 08 Oa 03 5c a4 4f 00 34 . G...........\.0.4 0040 25 fb 65 2d 18 a3 22 31 94 35 28 85 40 51 Ь2 fa %.e-..”l .5(.©Q.. 0050 eb 96 ac 5a 2d f5 5f 7f 57 d7 za ea ac d5 61 cb .. .2-. . w...................................a._ | Re. TAW»eshark\tcp_stteam_anab>w.8bpcap" 2497 KB 0000.07 | R 2573 0: 2573 M: 0 Obrazek 4.72 Podnabidka Wireshark Online Tabulka 4.18 Volby nabidky Wireshark Online Volba nabidky Popis Home Page Otevfe domovskou stranku Wiresharku, www.wireshark.org. Wiki Otevfe Wiki Wiresharku, http://wiki.wireshark.org. User's Guide Otevfe online uzivatelskou pfirucku Wiresharku. FAQ's Otevfe sekei Castych dotazii na webovych strankach Wiresharku. Downloads Otevfe sekei Downloads na webovych strankach Wiresharku. Example Files Otevfe sekei Sample captures (Vzorky zachycenych dat) stranek Wiki Wiresharku. Najdete zde soubor bgp.pcap.gz pouzity v teto kapitole.
Seznamujeme se s nabidkami 187 podnabidka Wireshark Online Options (Moznosti Wiresharku online) poskytuje okamzity pfistup к vice informacim, nez jsme schopni v teto knize pokryt, avsak vsechny polozky a informace dostup- ne online jsou jejim cennym doplnkem. About Wireshark (0 Wiresharku) Dialogove okno About Wireshark zobrazite vyberem polozky Help -» About Wireshark z Panelu nabidek (viz obrazek 4.73). About Wneshaik j Authors | Folders | Plugrs Network Protocol Analyzer Version 0 99.3 (SVN Rev 19011) Copyright 1998 2006 Gerald Combs <ger^d@meshark org and contributor. Thr is free software; see the Source for сорум g conditions. There is NO warranty, not even or MERCHANTABILITY or FITNESS FOR А РАЙТ I HI LAR PURPOSE Compiled with GTK* 2.6 9, with GLib 2 6.6, with WmPcap (version unknown), with foz 1.2.3, w»th libpcre 6 4, with Net-SNMP 5 3.1, with ADNS, with Lua 5.1. Running with WinPoap version 31 (packet.dl version 3 1,0,27), based on libpcap version 0.9(.x] on Windows XP Service Pack 2 bcakd 26(Ю. Wireshark is Open Source Software released under the GNU General РЛйс License. Check the man pace and http //www.meshark.org tor more Hormatior OK Obrazek 4.73 Dialogove okno About Wireshark Toto dialogove okno obsahuje informace о verzi Wiresharku, kterou mate nainstalovanou, a vol- by pouzite pfi sestaveni programu. Tyto informace jsou dulezite zejmena tehdy, kdyz vyvojafum Wiresharku chcete oznamit chybu v programu. Mistni nabidky Wireshark ma ruzne mistni nabidky zavisle na kontextu, ktere vam mohou pomoci pfi provadeni ruznych ukonu. Zadna z techto nabidek neposkytuje jine funkce nez ty, ktere muzete najit v Panelu nabidek, ale za jistych okolnosti je pouziti mistnich nabidek snadnejsi a rychlejsi. Mistni nabidky Souhrnneho okna Mistni nabidku Souhrnneho okna zobrazite klepnutim pravym tlacitkem mysi na Souhrnnc okno (viz obrazek 4.74). Tabulka 4.19 ukazuje, kde najit v teto kapitole vice informaci о mistnich nabidkach Souhrnneho okna.
188 Kapitola 4: Pouzivame Wireshark Obrazek 4.74 Mistm' nabidka Souhrnneho okna Tabulka 4.19 Odkazy na popisy mistnich nabidek Souhrnneho okna Volba nabidky Odkaz Mark Packet (toggle) Viz „Ed it: Mark Packer" Set Time Reference (toggle) Viz„Edit: Time Reference” Apply as Filter Viz„Analyze: Apply as Filter" Prepare a Filter Viz„Analyze: Prepare a Filter' Conversation Filter Otevfe podnabidku Conversation Filter pro filtrovanf zalozene na Ethernetu, protokolech IP,TCP, UDP nebo serveru PC-CBA SCTP Submenu Otevfe podnabidku SCTP pro sledovani proudu protokolu Public Switched Telephone Network (PSTN) over IP Follow TCP Stream Viz, Ana lyze: Follow TCP Stream" Follow SSL Stream Viz,Analyze: Follow SSL Stream" Decode As... Viz.Analyze: Decode As" Print... Viz,File: Print" Show Packet in New Window Viz„View: Show Packet in New Window"
Seznamujeme se s nabidkami 189 Mistni nabidky Okna stromu protokolu Mistni nabidky Okna stromu protokolu zobrazite klepnutim pravym tlacitkem mysi na Okno stro- mu protokolu (viz obrazek 4.75). тоздде type (bgp type), 1 byte Obrazek 4.75 Mistni nabidka Okna stromu protokolu Tabulka 4.20 obsahuje popis nekterych polozek a udava, kde о nich v teto kapitole najit vice infor- maci. Tabulka 4.20 Popisy a odkazy na podrobnejsi informace pro polozky mistni nabidky Okna stromu protokolCi Volba nabidky Odkaz/Popis Copy Zkopiruje obsah vybraneho ?adku do schranky Expand Subtrees Viz.View: Expand Subtrees" Expand All Viz.View: Expand All" Collapse All Viz.View: Collapse All" Apply as Filter Viz.Analyze: Apply as Filter" _____ Prepare a Filter Viz.Analyze: Prepare a Filter" Follow TCP Stream Viz .Analyze: Follow TCP Stream" Follow SSL Stream Viz.Analyze: Follow SSL Stream"
190 Kapitola 4: Pouzivame Wireshark Vol ba nabidky Wiki Protocol Page Odkaz/Popis Otevfe stranku Wiki programu Wireshark na adrese http://wiki. wireshark.org pomoci vychoziho weboveho prohlizece systemu. Bude otevrena stranka s informacemi о protokolu vybranem ve stromu pro- tokolu. Filter Field Reference Protocol Preferences Decode As... Resolve Name Otevfe webovou stranku s dokumentaci о Wiresharku, resp. о vytvafeni filtru pro vybrany protokol. Viz„Edit: Preferences" Viz„Analyze: Decode As' Vynuti pfeklad n^zvu pro tento paket. Vice informaci о pfekladu nazvu ve Wiresharku najdete v poznamce Preklad nazvu ve Wiresharku. Pozor - tato volba je dostupna pouze tehdy, je-li ve Wiresharku veskery pfe- klad nazvu zakazan. Go to Corresponding Packet Viz„Edit: Go To Corresponding Packet" Mistni nabidky Okna pro zobrazeni dat Mistni nabidky Okna pro zobrazeni dat zobrazite klepnutim pravym tlacitkem mysi na Okno pro zobrazeni dat (viz obrazek 4.76). bgp.pcap Wifeshark File Edit View Go Captue Analyze Statistics help Frier j Expression„ £tear I Apply No . Tune 6 8. (563909 7 8.003954 Source iw.bS. 6.33 192.168.0.15 Destination 192.168.6.15 192.168.0.33 Protocol Info 8. 00- 04 2 168.0.15 bgp >2124 [SYN, ACK] S=q=0 Ack-1 2124 > bgp [ack] Seq-1 Ack-1 win-! 9 8.208048 192.168.0.33 10 8.337997 192.168.0.33 192.168.0.15 192.168.0.15 TCP bgp > 2124 [ACK] Seq-1 ^ck-30 win= bgp open Message 1 .............— — ....................— - --------1 Frame 8 (83 bytes on wire, 83 bytes captured) 3 Ethernet II, Src: Dellcomp_23:c5:9E (00:c0:4f:23:c5:95), Dst: Cisco_35:0e:lc (00:00:0c:35:0e:lc 3 internet Protocol, src: 192.168.0.15 (192.168.0.15), Dst: 192.168.0.33 (192.168.0.33] 3 Transmission control Protocol, src Port: 2124 (2124), Dst Port: bgp (179), seq: 1, Ack: 1, ten; Source port: 2124 (2124) on port: I (relative sequence number) (relative sequence number)] Sequence number: 1 [Next sequence number: 30 Acknowledgement number: 1 Header 'ength: 20 bytes S Flags: 0x0018 (psh, ack) window size: 32120 — TO1U 0020 0030 0040 0050 TO 15 1'J UIT'TU 00 21 08 4 _ ИВВЖ ?? 7d 78 19 03 00 Copy . r Export Selected Packet Bytes... Copy QH A? 71 ЛГ1 e0 46 50 18 00 Of 00 b4 CO a8 00 destination Port (tcpdstport) 2 bytes |P 20D.20M 0 Obrazek 4.76 Mistni nabidka Okna pro zobrazeni dat
Pouzivani voleb v prikazovem fadku 191 Tabulka 4.22 udava, kde najit v teto kapitole informace о mistni nabidce Okna pro zobrazeni dat. Tabulka 4.22 Odkazy na informace о polozkach mistni nabidky v Окпё pro zobrazeni dat Volba nabidky Odkaz Podnabidka Copy Zobrazi podnabidku Copy, ktera se pouziva pro kopirovani celeho obsa- hu dekodovaneho paketu, at’ uz jako celeho bloku dat nebo jen znaku zobrazitelnych v kodovani ASCII. Export Selected Packet Bytes Umoznuje export aktualne vybranych bajtu ve formatu surovych dat. Pouzivani voleb v prikazovem radku Wireshark podporuje velke mnozstvi voleb pfikazoveho fadku. Tato sekce poskytuje pfehled о tech nejbezneji pouzivanych. Volby pro zachytavani a praci se soubory Mezi neibezneji pouzivane volby Wiresharku patfi ty, ktere se pouzivaji pro zachytavani dat a pro praci se soubory. Tabulka 4.23 obsahuje seznam nejpouzivanejsich voleb pfikazoveho fadku. Tabulka 4.23 Volby pfikazoveho f£dku pro zachytavani a pr£ci se soubory Volba pfikazoveho radku Popis -i <rozhrani> -k -a <test>:<hodnota> Nastavi nazev rozhrani pro zachytavani na <rozhrani> Okamzite zahaji zachytavani; vyzaduje volbu -/. Nastavi podminku pro automaticke ukonceni zachytavani. <test> muze byt bud'delka trvani (duration), nebo velikost souboru (filesize). Pokud je <test> nastaven na delku trvani, pak parametr <hodnota> musi byt poctem sekund udavajicich dobu, po kterou ma zachytavani bezet, nez bude ukonceno. Pokud je <test> nastaven na velikost souboru, <hodno- ta> musi udavat pocet kilobajtu, ktere se maji zachytit, nez bude zachyta- vani ukonceno. - c <pocet> Udava pocet paketu, po jejichz zachyceni bude zachytavani ukonceno. Az se zachyti pocet paketu definovany parametrem <pocet>, zachytava- ni skonci. - r <nazev souboru> Nacte soubor zachycenych dat urceny parametrem <nazev souboru>. - w <nazev_souboru> Zapise soubor zachycenych dat do souboru urceneho parametrem <nazev souboru>. - b <pocet> Zapne pouziti souboru kruhove vyrovnavaci pameti. Pocet techto souboru je dan parametrem <pocet>. Musi byt zadana maximalni velikost souboru zachycenych dat pomoci volby -a filesize:<hodnota>.
192 Kapitola 4: Pouzivame Wireshark Abyste zahajili zachytavani dat na rozhrani s nazvem ethO a zapsali vysledky do ring bufferu о tfech souborech s maximalni velikosti 100 kilobajtu s korenovym nazvem souboru foo.bar.libpcap, zadei- te nasledujici pfikaz: Wireshark -i ethO -k -w foo.bar.libpcap -b 3 -a filesize:100 Moznosti filtru Wireshark take umoznuje zadat informace filtru z pfikazoveho fadku. Tabulka 4.24 obsahuje seznam tech nejbezneji pouzivanych voleb prikazoveho fadku pro praci s filtry. Tabulka 4.24 Volby prikazoveho r^dku pro praci s filtry Volba prikazoveho radku Popis - f <filtr_pro_zachytavani> Nastavi fetezec filtru pro zachytavani ve formatu programu tcpdump na hodnotu <retezec_filtru>. - R <filtr_pro„zobrazeni> Tuto volbu je mozne pouzit jen tehdy, kdyz je pomoci volby -r nacten soubor zachycenych dat. Pouzije se filtr pro zobrazeni zadany v paramet- ru <filtr_pro_zobrazeni> a pakety, ktere tomuto filtru nevyhovuji, budou zahozeny. Abyste ze souboru bgp.pcap.gz extrahovali vsechny pakety vyhovujici filtru bgp.type == 2, zadeite nasledujici pfikaz do pfikazoveho fadku: Wireshark -r bgp.pcap.gz -R "bgp.type == 2" Dalsi volby Dalsi bezne pouzivane volby jsou popsany v tabuice 4.25. Tabulka 4.25 Dalsi volby pfikazoveho radku Volba pfikazoveho radku Popis - N <priznaky> Zapne preklad nazvu. Podle toho, ktera pismena nasleduji za„-/V", budou Wiresharkem pfelozeny ruzne nazvy. n zapne preklad sifovych nazvu, t zapne preklad transportnich nazvu, m zapne preklad adres MAC a Czapne asynchronni dotazy systemu DNS pro preklad sifovych nazvu. - v VypiSe informace о verzi Wiresharku. - h VypiSe napovedu Wiresharku.
Rychla resen i 193 Shrnuti V teto kapitole jste se naucili ovladat zakladni soucasti grafickeho uzivatelskeho rozhrani programu Wireshark. Naucili jste se take vetSinu funkci Wiresharku a vite, jak к nim pfistupovat. Nyni byste meli byt schopni provadet zachytavani sitbvych dat, otevirat soubory zachycenych dat a tisknout zachycena data. Krome toho jste vybaveni znalostmi pro pouziti zobrazovacich filtru к vyfil- trovani paketu zobrazenych v Souhrnnem окпё, barevne odlisovani paketu v Souhrnnem окпё pro lepsi citelnost a hledani paketu urcitych vlastnosti v zachycenych datech. Ukazali jsme si, jak se pohybovat stromem protokolu v Окпё stromu protokolu, abychom mohli prozkoumat obsah paketu, a jak pouzit pole stromu protokolu к рпргауё novych ге1ёгсй filtru pro zobrazeni. Nakonec jsme si ukazali, jak vynutit dekodovani paketu nebo skupiny paketu s pouzitim konkret- nich disektoru. Take jste se naucili zapinat a vypinat dekodovani urcitych protokolu а тёк byste гогитё! zakladum pouziti пёк1егусЬ obvyklych nastroju Wiresharku pro lepsi viditelnost datovych proudu protokolu TCP. Rychla feseni Zaciname s Wiresharkem ♦ Binarni instalacni baliky Wiresharku pro operacni systemy Windows, Linux а гйгпё programy pro operacni system Unix muzete stahnout na adrese www.wireshark.org. ♦ Pokud binarni balicky z пё}акёЬо duvodu nesplnuji vase pozadavky, muzete si z adresy www. wireshark.org stahnout zdrojove kody a sestavit aplikaci Wireshark podle svych pfedstav. ♦ Program Wireshark spustite /adanim pfikazu wireshark v prikazovem fadku. Seznamujeme se s Hlavnim oknem ♦ ЗоиЬтпё okno poskytuje jednofadkovy souhrn informact pro kazdy paket. ♦ Okno stromu protokolu poskytuje podrobny rozbor paketu vybraneho v БоиЬгппёт окпё. ♦ Okno pro zobrazeni dat poskytuje hexadecimalni vypis obsahu paketu. Dalsi cast' okna ♦ Panel filtru poskytuje rychly zpusob liltrovam paketu zobrazenych v ЗоиЬгппёт окпё. ♦ Klepnutim na tlacitko Filter: na Panelu filtru se zobrazi dialogove okno Display 1 ilter, ktere vam pomuze pfi июгЬё ге1ёгсе zobrazovaciho filtru. ♦ Pole Information ukazuje nazev pole zobrazovaciho filtru pole ууЬгапёЬо v Окпё stromu pro- tokolu.
194 Kapitola 4: Pouzivame Wireshark Seznamujeme se s nabidkami VetSina nastaveni muze byt nakonfigurovana v dialogovem okne Preferences. Klepnutim pravym tlacitkern mysi na Souhrnne okno, Okno stromu protokolu nebo Okno pro zobrazeni dat vyvolate kontextove senzitivni mistni nabidky. Pakety v Souhrnnem okne mohou byt pro lepsi citelnost barevne odliseny pomoci dialogoveho okna Apply Color Filters. Pouzivani voleb v pnkazovem radku Wireshark muze pouzit filtry pro zobrazeni na pakety nactene ze souboru pomoci pnznaku -H pricemz pakety nevyhovujici podminkam filtru budou zahozeny. Wireshark pouziva volbu -r pro urceni souboru ke cteni a -w pro urceni souboru к zapisu. Wireshark muze zacit zachytavat data ihned po svem spusteni a to pomoci voleb -i a -k. Caste dotazy Nasledujici casto kladene otazky byly zodpovezeny autorem teto publikace a jsou zde umisteny proto, abyste mohli zhodnotit sve porozumeni danemu temalu, a take vam pomohou pfi uplatnem teore- tickych znalosti v podminkach realneho prostfedi. Otazka: Proc je Wireshark pfi zobrazovani dat v prubehu zachytavani tak pomaly? Temef se zda, jako by zatuhl. Odpoved: Vase verze programu Wireshark mohla byt sestavena bez knihovny Asynchronous DNS (ADNS). Pokud tomu tak skutecne je, Wireshark se pfi kazdem dotazu systemu DNS na zdrojovou nebo cilovou adresu IP zastavi. Nez vyprsi platnost dotazu DNS nebo dotaz seize, muze nejaky cas trvat a v prubehu tohoto casu Wireshark zdanlive zatuhne, zatimco ceka na vysledek dotazu. Abyste tento problem vyfesili, sezente si verzi Wiresharku, ktera knihovnu ADNS obsahuje. Abyste se tomuto problemu vyhnuli, kdyz danou knihovnu nemate z nejakeho duvodu к dispozici, odznacte zaSkrtava- ci policko Enable Network Name Resolution (Povolit pfeklad sitovych nazvu) v dialogovem okne Capture Options pri zahajeni zachytavani nebo v dialogovem okne File pfi otvirani souboru. Otazka: Proc, kdyz vyberu nektere pole v Okne stromu protokolu, nevidim nazev tohoto pole v poli Information? Jak mohu filtrovat pakety podle pole, jehoz nazev neznam? Odpoved: Wireshark byl vyvijen po mnoho let tymem programatoru na dobrovolnicke bazi. Mnoho riiznych lidt napsalo pro Wireshark disektory, ktere slouzi к dekodovani protokolii, a tyto disektory byly napsany v ruznych obdobich. Ne ke vsem disektorum autofi prifadili filtrovatelna pole s kazdym polem zobrazitelnym ve stromu protokolu. Tato pole tedy nebudete schopni filtrovat. Pokud je pro vas takoveto iiltrovani skutecne dulezite, zkuste sami zmenit zdrojovy kod disektoru pro dany pro- tokol tak, aby obsahoval vse potrebne, a zaslete tento disektor vyvojovemu tymu Wiresharku, aby vas disektor byl zahrnut v pfisti verzi. Otazka: Proc nekdy vidim adresu IP nebo cislo portu FCP/UDP nebo adresu MAC dvakrat, jednou v zavorkach a podruhe bez nich?
Caste dotazy 195 Odpoved': Kdyz je preklad nazvu vypnut pro urcity druh adres nebo kdyz pro danou adresu neni nale- zen zadny nazev, Wireshark vlozi skutecnou adresu na misto, kde mel byl pfelozeny nazev. Diky tomu na miste, kde byste videli nazev s adresou v zavorkach (nebo naopak), vidite dvakrat jednu adresu. Otazka: Potfebuji pouzit slozitejsi filtry pro zachylavani, nez umoznuje format filtru tcpdump. Mohu pouzit filtry pro zobrazovani ve Wiresharku pro omezeni zachytavanych dat? Odpoved: Strucne feceno - ne. Wireshark vam nedovoli pouzit zobrazovaci filtry к filtrovani zachy- tavanych dat. Nicmene jiste feseni zde existuje. Zatimco Wireshark vam neumozni pouzit zobra- zovaci filtry pri zachytavani, Tshark tuto moznost ma. Abyste zachytavali data z rozhrani s nazvem <rozhrani> do souboru <soubor> s filtrovanim pomoci fetezce zobrazovaciho filtru <retezecfiltru>, zadejte nasledujici pfikaz: tshark -i <rozhrani> -w <soubor> -R <retezec f'ltru> Tshark zachyti z rozhrani <rozhrani> a ulozi do souboru <soubor> pouze ty pakety, ktere splnuji podminky filtru <retezecfiltru>. V moha pfipadech vsak fetezec tiltru pro zobrazeni neposkytne tak rychly vykon jako filtry formatu tcpdump. Otazka: Zachytava Wireshark v promiskuitnim modu skutecnd vsechna data, ktera dorazi na dane rozhrani? Odpoved: Prijde na to. Wireshark dostava vsechna data, ktera zachyti libpcap. Nekdy, zejmena kvuli vysokemu zatizeni systemu, na kterem provadite zachylavani, nebo proste proto, ze zkousite zachytit data z rozhrani s pfilis velkou kapacitou, mohou byt pakety z mnoha duvodu ztraceny. Mimo jine mohou byl take zahozeny jadrem operacniho systemu. Otazka: Proc vidim i pakety, ktere nejsou adresovany memu rozhrani ani z nej neisou odesilany, i kdyz jsem vypnul zachytavani v promiskuitnim modu? Odpoved’: Na pocitaci, na kterem provadite zachytavani, mohou byt spusteny i dalsi aplikace, jako napf. Snort, ktere vase rozhrani do promiskuitniho modu nastavi. At’ uz rozhrani nastavi do promis- kuitmho modu Wireshark nebo nejaka jina aplikace, uvidite data, ktera na toto rozhrani pfichazeji, a ne pouze ta, ktera jsou vasemu rozhrani urcena nebo z nej odchazeji.
KAPITOLA 5 Filtry Resent v teto kapitole: ♦ Tvorba zachytavacich filtru ♦ Tvorba zobrazovacich filtru ♦ Shrnuti ♦ Rychla reseni ♦ Caste dotazy

198 Kapitola 5: Filtry Uvod Pfi zachytavani dat ze sitoveho rozhrani se Wireshark standardne chova tak, ze zachytava vsechny pakety poskytnute ovladacem operacniho systemu pro dane zarizeni. Na nepfilis vytizene domaci siti to neni problem; avsak na vysoce vytizene siti v podnikovem prostfedi by pocet paketu urcenych ke zpracovani byl pfilis veliky. Wireshark poskytuje filtry pro zachytavani, umoznujici zachytavat pouze ty pakety, ktere vas sku- tecne zajimaii. Diky filtrum pro zachytavani posila operacni system Wiresharku ke zpracovani jen vybrane pakety. Jakmile jsou pakety nahrany do Wiresharku, stale jich muze byt pfilis mnoho. Pro tyto situace Wireshark poskytuje filtry pro zobrazeni, ktere umoznuji urcit pakety, jez maji byt zobrazeny v gra- fickem uzivatelskem rozhrani Wiresharku. Protoze vSechny tyto pakety jsou stale v pameti, muzete je po zruseni filtru pro zobrazeni videt opet vsechny. Rozdil mezi filtry pro zachytavani a filtry pro zobrazeni je v tom, jak jsou tyto filtry ve Wiresharku implementovany. Aplikace Wireshark spoleha pfi zachytavani paketu na programovou knihovnu. Na operacnim systemu Unix je touto knihovnou pcap (take znama jako libpcap), ktera je vyvijena stej- nou skupinou lidi, jez vytvofila program tcpdump - sniffer pro unixove systemy pouzivany z pnka- zoveho fadku. V operacnim systemu Windows je touto knihovou WinPcap, ktera je vlastne ovlada- cem zafizeni a dynamicky linkovanou knihovnou (DLL), ktera poskytuje rozhrani pcap programum systemu Windows. Pro pfehlednost budeme о pcap i WinPcap hovofit jako о pcap, nebot’ pro nase ucely jsou funkcne shodne. Knihovna pcap poskytuje Wiresharku unkce pro filtrovani zachytavanych dat a rychly filtrovaci engine (cesky bychom fekli „motor", ale termin „engine" je pro vyvojafskou komunitu zazitejsi. Da se fici, ze engine je programove jadro, na kterem jsou vystaveny funkce programu - pozn. pfekl.). Data paketu musi byt nejprve analyzovana, aby bylo mozno fici, zda vyhovuji podminkam filtru. Pokud analyza trva pfilis dlouho, operacni system nemusi mit dostatek casu na zpracovani dalsich pfichozich paketu, coz vyusti v zahazovani paketu. Jazyk filtru pcap neni dostatecne vykonny ani vystizny pro mnohe pozadavky pfi zachytavani a ana- lyze dat. Aby tento nedostatek byl kompenzovan, byly s Wiresharkem uvedeny i filtry pro zobrazeni, ktere umoznuji pouzit protokoly a nazvy poli pro filtrovani paketu, jez maji byt zobrazeny. Filtry pro zobrazeni spolehaji na kompletni rozbor paketu Wiresharkem, a jsou tedy mnohem pomalejsi nez filtry pro zachytavani. Kazdy typ filtru ma sve misto; filtry pro zachytavani jsou vhodne pro rychle zahazovani paketu na zivem sitovem rozhrani a filtry pro zobrazovani jsou zase vhodne pro jemne ladeni paketu, ktere maji byt nahrany a zobrazeny Wiresharkem. Tvorba zachytavacich filtru Filtry pro zachytavani ve Wiresharku (casto tez oznacovane jako filtry tcpdump) pouzivaji filtrovaci mechanismy knihovny pcap. Syntaxe hltru je zdokumentovana v manualovych strankach progra- mu tcpdump. Libovolny program pouzivajici knihovnu pcap (napf. tcpdump nebo Wireshark) muze pouzivat tuto syntaxi filtru.
' Tvorba zachytavacich filtru 199 Zatimco tcpdump umi dekodovat protokoly, neumi prime adresovat mnoho z nich. Klicova slova defmovana v jazyce tiltru tcpdump jsou orientovana na Vrstvu datovych spoju (Druha vrstva) a fil- trovani protokolu TCP/IP. Poznamka: Manualove stranky man page jsou soufast programu v operacnim systemu UNIX. Manualove stranky mohou byt zobrazeny pomoci pfikazu man (napf. muzete zadat man tcpdump a budete si moci precist тапиа!оуё stranky к programu tcpdump). Manualove stranky Wiresharku si prectete pomoci prikazu man wireshark. Mnoho manualovych stranek je take dostupnych na webu jako stranky ve formatu Hypertext Markup Language (HTML). Podivejte se na manualovd stranky programu tcpdump na adrese www.tcpdump.org tcpdump_man.html. Vysvetleni syntaxe tcpdump Jazyk filtru formatu tcpdump poskytuje klicova slova, ktera se pouzivaji pro vyhledavani shody s hod- notami iako adresy hostitelu, hardwarove adresy a porty. Take umoznuje podivat se na specificke protokoly nebo na libovolne bajty v datech paketu. Nazvy a adresy hostitelu Filtry tcpdump isou Ьёгпё pouzivane pro zachylavani sifoveho provozu, ktery pochazi z nebo je urcen pro konkretni adresu protokolu IP. Adresy protokolu Internet Protocol verze 4 (IPv4), Inter- net Protocolu verze 6 (IPv6) nebo nazev hostitele mohou byt identifikovany pomoci pfikazu host-, napf. chcete-li zachytavat vsechny pakety protokolu IPv4, ktere maji zdrojovou nebo cilovou adresu 192.168.1.1, muzete pouzit nasledujici pfikaz: host 192.168.1.1 Muzete take pouzit adresu protokolu IPv6 pro zachytavani paketu protokolu IPv6: host 2::8100:2:30a:c392:fc5a Take muzete zadat nazev hostitele, ktery bude prelozen na adresu protokolu IPv4 nebo protokolu IPv6: host www.cpress.cz Vyse uvedene pi ikazy vrati jakekoliv pakety protokolu IP (napf. pakety protokolu 1 ransmission Con- trol Protocol [TCP] a User Datagram Protocol [UDP]), ktere maji zdrojovou nebo cilovou adresu IP vyhovujici zadane adrese IP nebo nazvu hostitele. Navic pokud je hostitelsky nazev pfelozen na vice nez jednu adresu IP, jsou pfi hledani shody pouzity vsechny tyto adresy IP. Pouzitim piikazu src (source - zdroj) upfesnite filtr pro гуЬёг paketu, ktere pochazeji z konkretni adresy IP: src host 192.168.1.1 Podobnym zpusobem muzete omezit filtr i pro cilovou adresu IP, a to pfikazem dst: dst host 192.168.255.255 Take muzete pouzit i zkraceny zapis bez pou/iti slova host: src 192.168.1.1 dst 192.168.255.255
200 Kapitola 5: Filtry Pfikaz host umoznuje kontrolovat adresu IP a pfikaz net umoznuje kontrolovat adresu site IP. Kli- cove slovo net pouzivejte ve spojeni s adresou ve formatu Classless Inter-domain Routing (CIDR). Zapis ve formatu CIDR je tvofen adresou protokolu IPv4 a dslem oddelenym lomitkem (/). Cislo napsane za lomitkem udava pocet bitu (z celkoveho poctu 32), ktere v adrese protokolu IPv4 pfed- stavuji adresu site. Pro zachytavani paketu pochazejicich z libovolneho hostitele v siti 192.168.100.0, ktera pouziva 24 bitu pro identil ikaci sit’ove casti adresy (sitova maska 255.255.255.0), muzete pouzit tento tiltr pro zachytavani: src net 192.168.100.0/24 Hardwarove adresy Abyste zachytavali pakety podle jejich hardwarove adresy, pouzijte pfepinac ether (Ethernet). Napfi- klad chcete-li zachytavat vsechny pakety zaslane formou vsesmeroveho vysilani (tedy pakety zaslane na hardwarovou adresu ffffffffffiffh pouzijte pfikaz: ether host ff:ff:ff:ff:ff:ff Pro pouziti dalsich typu hardwarovych adres existuji take klicova slova pro rozhrani Fiber Distri- buted Data Interface (fddi) a Token Ring (tr). Avsak protoze ether, fddi i tr obsahuji v hlavickach protokolu 6bajtove hardwarove adresy, jazyk fil- tru tcpdump povazuje tyto adresy za synonyma. MOze byt pouzito libovolne z techto tri klicovych slov, bez ohledu na topologii, do ktere je pfipojeno vase sit’ove rozhrani; v praxi se vsak nejbezneji pouziva klicove slovo ether. Modifikator ether se umisl’uie pfed modifikatory dst a src. Zachytavat pakety urcene pro konkretni hardwarovou adresu mOzete pomoci pi ikazu: ether dst host ff:ff:ff:ff:ff:ff MOzete pouzit i zkraceny zapis v teto podobd: ether dst ff:ff:ff:ff:ff:ff Modifikator src se pouziva pro filtrovani paketO v zavislosti na jejich zdrojove hardwarove adrese: ether src host 00:f9:06:aa:01:03 ether src 00:f9:06:aa:01:03 Porty Klicove slovo port muze byt pouzito pro zachytavani paketu urcenych pro konkretni aplikace. Napfi- klad pro zachyceni paketu protokolu Hypertext Transfer Protocol (HTTP - bezne pouzivane cislo portu je cislo 80), pouzijte nasledujici pfikaz: port 80 Tento liltr bude sledovat pakety jak pro port 80 UDP, tak pakety pro port 80 TCP. Pro upfesneni pouzijte oznafeni tcp: tcp port 80 Pokud je protokol HTTP definovan pro urcite dislo portu v souboru I etc/services (v operacnim sys- temu UNIX), pouzijte nasledujici pfikaz: tcp port http
Tvorba zachytavacich filtru 201 Klicove slovo udp muzete pouzit pro zachytavani paketu protokolu UDP na urcitem portu. Napfi- klad zachytavate-li zadosti UDP zasilane serveru DNS, budete chtit zfejme zachytavat pakety UDP urcene pro port 53: udp dst port 53 Chcete-li videt odpovedi na tyto zadosti, hledejte pakety UDP s portem 53 uvedenym jako zdrojo- vy port: udp src port 53 Logicke operace Jazyk liltru tcpdump umoznuje pomoci logickych operatoru kombinovat nekolik vyrazu, cimz dojde к vytvofeni slozitejsich liltru. Logicky operator not neguje hodnotu podininky, zatimco and a or umoznuji spojit nekolik podmmek dohromady. Tato tri logicka klicova slova maji take alternativni vyjadfeni, ktera jsou pouzivana v programovacim jazyce C: ♦ not je vyjadfeno jako ! (negace) ♦ and je vyjadfeno jako && (logicke „a zaroven*) ♦ or je vyjadfeno jako || (logicke ,,nebo“) Kdyz potfebujete sdruzit vice vyrokii pomoci logickych operaci, muzete take pouzit zavorky. Ту nejsou vzdy nezbytne, ale mohou byt uzitecne pro lepsi srozumitelnost filtru. Napfiklad pro zachyceni vsech dat kroine tech, ktera obsahuji komunikaci protokolu DNS, pouzij- te nasledujici pfikaz: not port 53 Za normalnich okolnosti bude pfikaz port 53 zachytavat vsechny pakety T( P a UDP se zdrojovym nebo cilovym portem 53. Logicke klicove slovo not neguje vyznam filtru, takze budou zachytavana vsechna data, krome paketu TCP a UDP. jejichz zdrojovy nebo cilovy port ma cislo 53. Logicky operator and (a zaroven) se pouziva v pfipade, ze potfebujete zajistit splneni nekolika pod- minek v testu. Napfiklad chcete-li sledovat pakety protokolu Telnet zasilane nebo obdrzene z adresy www.cpress.cz, pouzijte tento pfikaz: host www.cpress.cz and port telnet Chcete-li zachytavat pakety protokolu Telnet nebo protokolu SSH, pouzijte: port telnet or port ssh Pro kombinaci podminky port telnet or port ssh a podminky adresy www.cpress.cz pouzijte opera- tor and a zavorky: host www.cpress.cz and ( port telnet or port ssh) Logicke operatory and a or maji stejnou prioritu, coz znamena, ze jsou pfi vyhodnocovani vyrazu brany v potaz v tom pofadi, v jakem jsou zapsany ve filtru pro zachytavani. Pokud nejsou pouzity zavorky, filtr pro zachytavani bude testovat vsechny paket}' protokolu Telnet zaslane nebo obdrzene od pocitace s nazvem www.cpress.cz nebo pakety protokolu SSH zaslane nebo obdrzene odkudkoliv: host www.cpress.cz and port telnet or port ssh
202 Kapitola 5: Filtry Protokoly Syntaxe filtru tcpdump poskytuje nektere nazvy protokolu jako klicova slova, cimz umoznuje testo- vat pakety na existenci techto protokolu. Tato klicova slova protokolu jsou vypsana v nasledujicim seznamu: Ф aarp Applelalk Address Resolution Protocol ♦ ah Authentication Header ♦ arp Address Resolution Protocol ♦ atalk AppleTalk ♦ clnp Connectionless Network Protocol ♦ decnet Digital Equipment Corporation Network protocol suite ♦ esis (nebo es-is) End System-to-Intermediate System ♦ esp Encapsulating Security Payload ♦ icmp Internet Control Message Protocol ♦ ictnp6 Internet Control Message Protocol, for IPv6 ♦ WnP Internet Group Management Protocol ♦ igrp Interior Gateway Routing Protocol ♦ ip Internet Protocol ♦ ip6 Internet Protocol version 6 ♦ ipx Internetwork Packet Exchange ♦ isis (nebo is-is) Intermediate System-to-Intermediate System ♦ iso International Organization for Standardization ♦ lat Local Area Transport ♦ tnopdl Maintenance Operation Protocol ♦ торге Maintenance Operation Protocol ♦ netbeui NetBIOS Extended User Interface ♦ pirn Protocol Independent Multicast ♦ rarp Reverse Address Resolution Protocol ♦ sea Systems Communication Architecture ♦ setp Stream Control Transmission Protocol ♦ stp Spanning Tree Protocol ♦ tcp Transmission Control Protocol ♦ udp User Datagram Protocol ♦ vrrp Virtual Router Redundancy Protocol Chcete-li zachytavat kuprikladu vsechny pakety protokolu ICMP, pouzijte: i emp Abyste zachytavali vsechny pakety, ktere nejsou pakety protokolu Internetwork Packet Exchange (IPX), pouzijte operator negace a klicove slovo protokolu: not ipx Nektere protokoly indikuji i typ dat, ktera dany paket obsahuje (napf. hlavicka paketu protokolu IP obsahuje pole protocol, jehoz ciselna hodnota udava typ datoveho nakladu, ktery je paketem pfepra-
Tvorba zachytavacich filtru 203 vovan). Mozne hodnoty pro toto pole protokolu jsou 1 (ICMP), 5 (TCP) a 17 (UDP). Na operacnich systemech UNIX je seznam cisel protokolu IP definovan v souboru /etc/protocols. Syntaxe filtru tcpdump umoznuje testovat i pole proto (protocol). Muzete take pouzit klicove slovo proto s klicovymi slovy protokolu jako ether, fddi, tr, ppp, ip, ip6 a iso. Napfiklad chcete-li testovat paket na pfitomnost protokolu TCP pomoci klicoveho slova tcp, muzete take testovat hodnotu 5 v poli protokolu IP, protoze 5 indikuje protokol TCP: ip proto 5 Pole protokolu Zatimco tcpdump muze dekodovat mnoho protokolu, syntaxe filtru tcpdump neumoznuje jednodu- se testovat hodnoty vsech poli, ktera tcpdump zna. Klicovych slov pro ruzne protokoly je mnoho, ale jen velmi malo poli v techto protokolech ma nazvy pro syntaxi filtru tcpdump. Filtry tcpdump umoznuji porovnavat hodnoty mimo pakety, takze pokud je posun pole v ramci pro- tokolu znam, hodnota tohoto pole muze byt ovefena. Tento zpusob neni tak dobry jako pouzivani nazvu poli, ale funguje. Abyste z paketu ziskali pouze jeden bajt, pouzijte hranate zavorky pro zapis posunu tohoto bajtu od zacatku konkretniho protokolu. Posuny zacinaji nulou (napr. tcp[O] vraci prvni bajt hlavicky proto- kolu TCP a tcp[l] vraci druhy bajt). Obrazek 5.1 ukazuje bitovou strukturu hlavicky protokolu TCP, tak jak je definovana v dokumentu Request For Comment (RFC) 793 (pine zneni dokumentu najdete Pomoci zapisu tcp[0:2] muzete take ziskat 2bajtovou hodnotu typu integer nebo pomoci zapisu tcp[0:4] 4bajtovou hodnotu typu integer. Vicebajtove hodnoty typu integer jsou vzdy extrahovany v sifovem poradi (take znamem jako pofadi big-endian). Pro vypocet hodnoty vicebajtoveho vyrazu typu inte- ger s pouzitim poradi big-endian pouzijte nasledujici vzorec: ♦ 2bajtova hodnota = byteO ~ 0x100 + bytel ♦ 4bajtova hodnota = byteO * 0x1000000 + bytel * 0x10000 + byte2 * 0x100 + byte3 Cisla ve vzorci zacinajici fetezcem Ox jsou hexadecimalni.
204 Kapitola 5: Filtry Bohuzel ziskat konkretni bajty z dat umoznuji jen nektere protokoly. Je zajimave, ze nektere protokok jejichz nazvy nemohou byt pouzity jako klicova slova, umoznuji ziskavat bajtove hodnoty s pouzitim hranatych zavorek. Pomoci hranatych zavorek muzete ziskat bajtove hodnoty z techto protokolu: ♦ arp Address Resolution Protocol Ф atalk Appletalk ♦ decnet Digital Equipment Corporation Network protocol suite ♦ ether Ethernet ♦ fddi Fiber Distributed Data Interface ♦ ictnp Internet Control Message Protocol ♦ igtnP Internet Group Management Protocol ♦ igrp Interior Gateway Routing Protocol ♦ ip Internet Protocol ♦ lat Local Area Transport ♦ link Link layer ♦ inopdl Maintenance Operation Protocol ♦ торге Maintenance Operation Protocol ♦ pirn Protocol Independent Multicast ♦ PPP Point-to-Point Protocol ♦ rarp Reverse Address Resolution Protocol ♦ sea Systems Communication Architecture ♦ setp Stream Control Transmission Protocol ♦ tep Transmission Control Protocol ♦ tr Token -Ring ♦ udp User Datagram Protocol ♦ vrrp Virtual Router Redundancy Protocol Hodnota ziskana z dat paketu je typu integer, takze muze byt porovnavana s libovolnou jinou cisel- nou hodnotou, jak je ukazano v tabuice 5.1: Tabulka 5.1 Ciselne vztahy Ciselny vztah Vyznam > V£t5i nez > = V£t£i nebo rovno < MenSi nez < = MenSi nebo rovno = nebo == Rovnost I- Nerovnost Navic jsou к dispozici i operatory * a / spolu s tzv. bitovymi operatory & a |. Bitovy operator & je ekvivalentem logickeho AND a umoznuje provest tuto operaci na jednotlivych bitech hodnot
Tvorba zachytavadch filtru 205 typu integer, zatimco bitovy operator | se pouziva pro provedeni logicke operace OR taktez na bito- ve urovni. Napfiklad klicove slovo ictnp umoznuje tiltrovam paketu protokolu ICMP; existuii vsak ruzne typy paketu ICMP v zavislosti na jejich funkci. Co kdyz potfebujete videt pouze pakety typu ICMP ping? Struktura paketu ICMP ping nebo take zadost о odezvu (echo request) I odpoved’ na odezvu (echo reply) je znazornena na obrazku 5.2 a vychazi z dokumentu RFC 792 (pine zneni najdete na adrese w'W'tv. ibiblio. ory/pub/docs/rfc/rfc792. txt). 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 26 27 28 29 30 31 32 Type (typ) Code (k6d) Checksum (kontrolni soudet) Identifier (identifik£tor) Sequence Number (poradovd iislo) Data Obrazek 5.2 Struktura hlavicky paketu ICMP Echo request / Echo reply Pole protokolu ICMP s nazvem type, ktere je Ibajtovym polem umistenym uplne na zacatku hlavicky paketu protokolu ICMP, oznacuje typ paketu ICMP. Pokud je v poli type uvedena hodnota 8, zname- na to, ze paket je typu ICMP echo (ping) request. Pokud ma pole hodnotu 0, paket je typu ICMP echo (ping) reply. Filtr pro zachytavani testuje pakety, ktere jsou bud’ zadostmi ICMP ping, nebo odpo- vedrni ICMP ping pfectenim prvniho bajtu: icmp[0] == 8 or icmp[0] == 0 Libpcap ma detinovana konstantni klicova slova (pojmenovana podle poli protokolu I* }MP), ktera mohou urcovat posun a mozne hodnoty poli. Vyhodou pouziti techto klicovych slov hodnot je sku- tecnost, ze si tyto ciselne hodnoty nemusite pamatovat. Napriklad klicove slovo icmptypeje ekvivalen- tem posunu pole ICMP s nazvem field (coz je 0), icmp-echo je ekvivalentem hodnoty 8, coz znamena, ze paket je typu ICMP echo request a ictnp-echoreply je ekvivalentm hodnote 0, ktera oznacuje paket typu ICMP echo reply. Testovani paketu ICMP echo request a echo reply muze byt zapsano takto: icmpEicmptype] == icmp-echo or icmp[icmptype] == icmp-echoreply Klicova slova definujici jednotlive konstantni hodnoty posunu poli jsou vypsana v tabuice 5.2. Tabulka 5.2 Kh£ov£ slova konstantnich hodnot Klicove slovo Hodnota Pouziva se v protokolu icmptype ICMP icmpcode ICMP tcpflags TCP Tabulka 5.3 obsahuje vypis klicovych slov, ktera poskytuji nazvy pro hodnoty ICMP type. 0
206 Kapitola 5: Filtry Tabulka 5.3 Klicova slova konstantnich hodnot pole type protokolu ICMP Khcove slovo Hodnota icmp-echoreply 0 icmp-unreach 3 icmp-sourcequench 4 icmp-redirect 5 icmp-echo 8 icmp-routeradvert 9 icmp-routersolicit 10 icmp-timxceed 11 icmp-paramprob 12 icmp-tstamp 13 icmp-tstampreply 14 icmp-ireq 15 icmp-ireqreply 16 icmp-maskreq 17 icmp-maskreply 18 Bitove operatory Priznak protokolu TCP je bitove pole obsahujici hodnotu typu integer, pficemz ale jednotlive bity teto hodnoty jsou pouzity jako samostatne hodnoty. Napnklad pole protokolu TCP s nazvem flags je 8bitove pole typu integer, ale bity v teto hodnote pfedstavuji nezavisla pole, jejichz polozky mohou nabyvat hodnot pravda (true - 1) nebo nepravda (false - 0). V jazyce filtru tcpdump mohou m it pole pro pfiznaky protokolu TCP klicova slova s konstantnimi hodnotami, jak je ukazano v tabuice 5.4. Tabulka 5.4 Konstantni hodnoty klicovych slov pfiznaku protokolu TCP 0x01 0x02 Khcove slovo Hodnota tcp-fin tcp-syn tcp-rst 0x04 tcp-push 0x08 tcp-ack 0x10 tcp-urg 0x20 Jazyk 1 iltru tcpdump prifazuje klicovym sloviim konstantni hodnoty pro pole protokolu TCP s nazvem flags, proto/e hodnoty techto poli jsou casto predmetem zajmu, a to hlavnd pfi fesem problemu pro-
Tvorba zachytavadch filtrd 207 tokolu TCP souvisejicich s firewally nebo mechanismem Network Address Translation (NAT). Je dulezite umet spravne pouzivat operatory bitovych poli, nebof pfi pouziti vice bitu v poli bits mohou nastat urcite komplikace. Pole protokolu TCP s nazvem flags muze mit nastaveno vice bitu. Tabulka 5.5 zobrazuje pole bits paketu protokolu ГСР s nastavenym bitem SYN (tcp-syn). Tabulka 5.5 Bitove pole ph'znaku paketu TCP SYN URG ACK PUSH RST SYN FIN 0 0 0 0 1 0 V tomto pripade je nastaven pouze bit tcp-syn, takze muze byt testovana hodnota 0x02, ktera je hod- notou konstanty tcp-syn: tcpttcpflag] == 0x02 nebo: tcpttcpflag] == tcp-syn Avsak v pripade druheho paketu procesu TCP handshake (paket Synchronize (SYN) I paket Acknow- ledge (ACK ।) jsou nastaveny oba bity tcp-syn a tcp-ack, jak vidite v tabuice 5.6. Tabulka 5.6 Bitove pole ph'znaku paketu TCP SYN/ACK URG ACK PUSH RST SYN FIN 0 10 0 10 Kdyz jsou nastaveny oba pfiznaky SYN a ACK, je hodnota pole protokolu TCP s nazvem flags rovna vyrazu 0x02 + 0x10 nebo 0x12. Takze filtr tcp[tcpflag] == tcp-syn nezphsobi ocekavane zobrazeni paketu, ktere maji nastaveny priznak SYN nebo libovolny jiny; misto toho tento tiltr zpiisobi zobra- zeni pouze tech paketu, ktere maji nastaven jen priznak SYN. Abyste napsali spravny filtr pro testo- vani bitu SYN, pouzijte bitovy operator &, kterym potla&te vyhodnocovani vsech bitu krome bitu SYN pomoci masky. tcpttcpflag] & tcp-syn == 0x02 nebo: tcpttcpflag] & tcp-syn == tcp-syn Bitova aritmetika pouzivajici pfi porovnavam poli pfiznaky protokolu TCP operator & (bitovy AND) je zobrazena v tabuice 5.7. Tabulka 5.7 Paket TCP SYN/ACK s bitovym operatorem & proti tcp-syn AND URG ACK PUSH RST SYN FIN Hodnota Vyznam 0 1 0 0 1 0 0x12 SYN/ACK 0 0 0 0 1 0 0x02 tcp-syn 0 0 0 0 1 0 0x02 tcp-syn V tomto pripade bitova operace & skonfi s vysledkem 0x02, coz znamena tcp-syn-, tudiz jsme zjisti- li> ze bit SYN je bezpochyby nastaven. S pouzitim bitoveho operatoru & muzete fici, zda byl nejaky
208 Kapitola 5: Filtry konkretni bit v bitovem poli nastaven. Tabulka 5.8 ukazuje bitovou aritmetiku v pnpadd, kdy je paket protokolu TCP paketem ACK a jeho pole flags ma nastaven pouze bit ACK. Tabulka 5.8 Paket TCP ACK s bitovym oper^torem & proti tcp-syn URG ACK PUSH RST SYN FIN Hodnota Vyznam 0 1 0 0 0 0 0x10 ACK AND 0 0 0 0 1 0 0x02 tcp-syn 0 0 0 0 0 0 0x00 0 Vysledkem je hodnota 0x00, ktera se neshoduje s typem tcp-syn, takze tento paket by neproSel filt- rem tcpftcpflag] & tcp-syn == tcp-syn. Velikost paketu Jazyk filtru tcpdump umoznuje testovat i metadata („data о datech" - pozn. pfekl.) paketu misto toho, aby testoval samotna data paketu. Velikost paketu je dostupna prostrednictvim promenne s nazvem len a muze byt testovana pomoci standardnich aritmetickych operatoru. Pro testovam paketu s veli- kosti mensi nez 100 bajtu pouzijte: len < 100 Operatory less (mensi) a greater (vetsi) jsou vestavena klicova slova, ktera je mozno pouzit pro porovnavani promenne len proti ciselne hodnote. Nastroje a past! Testovan filtru pro zachytavani Chteli byste otestovat svoje filtry pro zachytavani, aniz byste museli skutecne spoustet Wireshark? Filtry pro zachytavani jsou totozne s temi, ktere pouziva tcpdump, a tak je muzete pouzit v prikazovem fadku spolecne s nastrojem tcpdump, abyste videli, zda jsou napsany spravne: $ tcpdump less 100 Pokud vas filtr pro zachytavani pouziva interpunkci, ktera je bezne specificka pro shell ope- racniho systemu Unix, musite uzavnt fetezec filtru pro zachytavani do jednoduchych uvo- zovek: $ tcpdump ’len > 1500* Tcpdump ma pfepinad -d, ktery zobrazuje kod Berkley Packet Filter (BPF), pouzivany pro praci s I iltry pro zachytavani. BPF je mechanismem poskytovanym pro praci se zachytavaci- mi filtry mnoha operacnimi systemy. Vice si о BPF muzete pfecist v dokumentu, jehoz autory jsou Steven McCanne a Van Jacobson, s nazvem „The BSD Packer Filter: A New Architectu- re for User-Level Packet Capture". Je samozfejmd psan anglicky a najdete jei na adrese www. tcpd ump. org/papers/bpf- usenix93.pdf. Nasleduje ukazka kodu BPF: $ tcpdump -d 'len > Oxff' (000) Id /fpktlen
Tvorba zachytavacich filtru 209 Priklady Nasledujici seznam obsahuje priklady filtru pro zachytavani. ♦ Vsechny pakety HTTP tcp port 80 ♦ Vsechny pakety кготё paketu HTTP not tcp port 80, !tcp port 80, tcp port not 80 nebo tcp port 180 ♦ Otevfeni stranky’ www.cpress.cz pomoci protokolu HTTP tcpport 80 and dst www.cpress.cz. ♦ Otevfeni jine stranky nez www.cpress.cz pomoci protokolu HTTP tcp port 80 and not dst www. cpress.cz ♦ Pakety protokolu IPX ipx ♦ Pakety protokolu IPX игёепё siti IPX s adresou 00:01:F0:EE. Toto neni mozne, protoze pomoci kli£oveho slova ipx nelze zi'skat bajtovou hodnotu. ♦ Pakety protokolu TCP tcp nebo ip proto 5 ♦ Paketyr TCP SYN tcp[tcpflag] & tcp-syn == tcp-syn ♦ Pakety protokolu IP s celkovou delkou > 255 ip[2:2] > Oxff ♦ Pakety protokolu IP nebo IPX ip or ipx Pouzivani filtru pro zachytavani Tshark umi pracovat s filtry pro zachytavani i v prikazovem fadku, a to pomoci pfepinace -f, jak je ukazano v nasledujicim pfikladu. # tshark -i ethl -f icmp Capturing on ethl 0.000000 10.0.0.5 -> 10.0.0.1 ICMP Echo (ping) request 0.000062 10.0.0.1 -> 10.0.0.5 ICMP Echo (ping) reply 1.010753 10.0.0.5 -> 10.0.0.1 ICMP Echo (ping) request 1.010814 10.0.0.1 -> 10.0.0.5 ICMP Echo (ping) reply Pamatujte, ze argument -f je samostatnym argumentem. Pokud vas filtr pro zachytavani obsahu- je mezery, musite uzavfit fetezec filtru do uvozovek, diky cemuz bude pfedan pfepinacem -f jako jeden argument: # tshark -i ethl -f 'icmptO] == 0 or icmp[0] == 8' Obycejnd tshark, stejne jako tcpdump, pfijima jakekoliv argumenty „zbyvajicf* v prikazovem fadku a pou/iva je jako zachytavaci filtry: # tshark -i ethl icmp[0] == 8 Vyuzijete-li teto moznosti, nelze pouzit volbu -f. # tshark -f icmp -i ethl icmp[0] == 8 tshark: Capture filters were specified both with "-f" and with additional command-line arguments
210 Kapitola 5: Filtry Pfi pouziti zachytavacich filtru v prikazovem fadku si dejte pozor na znaky, ktere jsou vysadou shel- lu operacniho systemu Unix. Nasledujici filtr by mel vybirat pakety echo request a echo reply, avsak zde vidime pouze pakety echo reply. fl tshark -i ethl icmp[0] -= 0 Capturing on ethl 0.000000 10.0.0.1 -> 10.0.0.5 1.009672 10.0.0.1 -> 10.0.0.5 2.016646 10.0.0.1 -> 10.0.0.5 || 1cmpEO] == 8 ICMP Echo (ping) reply ICMP Echo (ping) reply ICMP Echo (ping) reply Problemem je skute^nost, ze dvojice znaku ] | je zpracovana shellem operacniho systemu Unix a zbytek pfikazoveho fadku Tsharku vubec neni pfedan. Abyste se tomuto chovani vyhnuli, uzavfete zachy- tavaci filtr do uvozovek: # tshark -i ethl ’icmpEO] == 0 | | icmpEO] == 8’ Capturing on ethl 0.000000 10.0.0.5 -> 10.0.0.1 ICMP Echo (ping) request 0.000057 10.0.0.1 -> 10.0.0.5 ICMP Echo (ping) reply 1.010248 10.0.0.5 -> 10.0.0.1 ICMP Echo (ping) request 1.010299 10.0.0.1 -> 10.0.0.5 ICMP Echo (ping) reply Stejne jako Tshark, take Wireshark pfiiima zachytavaci filtry pomoci volby Pouzijete-li volbu -k, Wireshark bezprostfedne zahaji zachytavani paketu. Muzete pouzit volbu -k pro zahajeni zachyta- vani a volbu -i pro poskytnuti zachytavaciho filtru. Krome -k a -/ Wireshark i Tshark sdileji mnoho dalsich spolecnych voleb pfikazoveho fadku pro zachytavani. Avsak Wireshark nepovazuje zbyvajici argumenty pfikazoveho fadku za zachytavaci filtry. Diky tomu, ze je Wireshark aplikaci s grafickym rozhranim, pfijima zachytavaci filtry pouze z grafic- keho uzivatelskeho rozhrani. Pfed zahajenim zachytavani paketu dialogove okno „Capture Options" poskytuje textove pole Capture Filter, kam muzete zadat text zachytavaciho filtru (viz obrazek 5.3). Wir^sh^rk: Capture Options Interface: IP address: 192.168.253.102, fe80::211:25ff:fe86:lclc Link-layer header type: Ethernet ж Wireless Settings 2 Capture packets in promiscuous mode — Limit each packet to ethO bytes Capture Alter: [tcp port 80 u------- Capture Ale(s) Display Options Update list of packets in real time Stop Capture * - Hide capture info dialog Name Resolution 0 Enable MAC name resolution Enable network name resolution I r—l [21 Enable transport name resolution tJtjelp I start Obrazek 5.3 Dialogovd okno Capture Options
Tvorba zobrazovadch filtru 211 Tvorba zobrazovadch filtru Mechanism us zobrazovadch filtru Wiresharku je navrzen jinak nez filtry formatu tcpdump. Tcpdump je analyzator paketu se schopnosti dekodovani mnoha protokolu, ale spoleha se na filtrovaci engine knihovny libpcap. Libpcap je samostatnou knihovnou, ktera nevi nic о parsovani mnoha protokolu. Ve Wiresharku je mechanismus rozboru protokolu spqjen s mechanismem zobrazovadch filtru Temef pro kazdou polozku, kterou muzete videt ve strome protokolu ve stfednim panelu grafickeho rozhrani aplikace, ma Wireshark nazev pole, ktery muzete pouzit ve zobrazovacim filtru. Doprovod- ne CD teto knihy obsahuje seznam nekterych bezne pouzivanych nazvu poli zobrazovacich filtru definovanych ve Wiresharku a take stranky HTML, ktere ukazuji vsechny nazvy poli zobrazovadch filtru Wiresharku ve verzi 0.99.4. Tyto stranky HTML najdete ve slozce /filters pfilozeneho CD. Take muzete v Panelu nabidek otevfit polozku Help Supported Protocols Display Filter Fields, kde uvidite podobny seznam. Asi nejjednodussim zpusobem, jak zjistit nazev pole zobrazovaciho filtru, ktere vas zajima, je zvyraznit toto pole v grafickem rozhrani Wiresharku. Kdyz je toto pole zvyraz- neno, Wireshark vam poskytne nazev pole filtru na leve strane stavove listy ve spodni casti grafic- keho uzivatelskeho rozhrani. Obrazek 5.4 ukazuje, ze nazvem pole protokolu IP Total Length (Cel- kova delka) je ip.len. Nazev pole ip.len je zobrazen v zavorkach na stavove liste ve spodni casti okna Wiresharku. Pripominame, ze stavova li§ta muze byt skryta ci zobrazena pomoci polozky View Statusbar; takze chcete-li videt nazev pole, ujistete se, ze stavova lista je zobrazena. Obrazek 5.4 Nazev zobrazovaciho filtru pro IP Total Length
212 Kapitola 5: Filtry Nazvy protokolu maji take nazvy pro pouziti ve zobrazovacich filtrech. Na obrazku 5.5 vidime, ze protokol IP je reprezentovan nazvem pole ip. Tvorba vyrazu К otestovani existence protokolu nebo pole je zobrazovacim filtrem jednoduse nazev pole zobrazo- vaciho filtru pro tento protokol nebo pole. Pro zobrazeni v§ech paketu protokolu IP pouzijte: Tento vyraz zobrazi vsechny pakety, ktere obsahuji protokol IP. lake muzete zobrazit vsechny pake- ty, ktere obsahuji konkretni pole: ip.len Obrazek 5.5 Nazev zobrazovaciho filtru pro protokol IP Protoze pakety protokolu IP maji vzdy pole total length (ip.len), je testovani na pfitomnost tohoto pole funkcne shodne s testovanim na protokol ip. Na druhou stranu nektere protokoly (napf. TCP) mohou mit v hlavickach ruzna pole. Protokol ГСР ma volitelna pole jako MMS, ktere je reprezen- tovano nazvem pole tcp.options.rnss_val. Pro nalezeni vsech paketu, ktere obsahuji pole tcp.options. niss_yal, pojmenujte pole ve zobrazovacim liltru nasledujicim zpusobem:
fvorba zobrazovadch filtru 213 tcp.options.mss_val plodnoty poll zobrazovadch iiltru Wiresharku patri ke sped’ickym typum, coz znamena, ze v zavis- losti na tomto typu muze pole obsahovat urcite hodnoty. 'Гуру, ktere je mozno pouzivat v zobrazo- vacich filtrech, jsou vypsany v tabuice 5.9. Tabulka 5.9 Туру poll zobrazovadch filtru Typ pole zobrazovaciho filtru Mozne hodnoty Priklady hodnot Integer bez znamenka Nez^porne hodnoty integer; mohou mit 80 К velikost 8,16,24,32 nebo 64 bitu. Integer se znamenkem Integer; hodnoty mohou mit velikost 8, -1 16,24,32 nebo 64 bitu. Boolean True (Pravda) di False (Nepravda). true Cislo ramce Podobne jako 32bitovy integer bez zna- 55 menka, ale chova se odlisne. Cisla s pohyblivou desetin nou car- kou Realna disla. 2.3 (jsla s pohyblivou desetinnou car- kou s dvojitou pfesnosti (jsla s pohyblivou desetinnou carkou, 82.390923033 ktera mohou obsahovat vice cislic. Retezec Posloupnostznakii. „ahoj" Retezec bajtu Posloupnost hexadecimalnich cislic. 12:23:2c Hardwarova adresa 6bajtovy fetezec zpusobily pro pouziti pfi 14:0a:ff:3c:42:9a pfekladu nazvu. Adresa protokolu IPv4 Adresa protokolu IPv4 zpusobila pro 192.168.1.200 pouziti pfi pfekladu nazvu. Adresa protokolu IPv6 Adresa protokolu IPv6 zpusobila pro 2::8100:2:30a:c392:fc5a pouziti pfi pfekladu nazvu. Sif IPX 4bajtove cislo site IPX zpusobile pro 0xc08022aa pouziti pfi pfekladu nazvu. Absolutni das Razitko obsahujici informaci о datu a da- 'Oct 31,2006 15:00:00" se. Relativni das Podet vtefin mezi dvdma absolutnimi 180 easy. Bez typu Pole, ktere neobsahuje zadnou hodno- tu a pouziva se jen jako oznaceni nebo je rezervovane. Protokol Klicova slova protokolu. http Operatory, ktere mohou byt pouzity pro porovnavani hodnot, jsou zobrazeny v tabuice 5.10.
214 Kapitola 5: Filtry Tabulka 5.10 Oper^tory pouzivan£ pro porovnavani hodnot Operator Vyznam > nebo gt VetSi nez > = nebo ge Vetsi nez nebo rovno < nebo It Mens! nez < = nebo le MenSi nez nebo rovno == nebo eq Rovn£ se /= nebo ne Nerovna se contains (obsahuje) Aetezec nebo retezec bajtu je nalezen v jinem retezci matches (shoduje se) Regularni vyraz se shoduje s retezcem & nebo bitwise and Bitove AND" pro testovani specifickych bitu Pomoci logickych operatoru and a or mohou byt kombinovany i vicenasobne vztahy. Logicky vyznam vyrazu muzete negovat pomoci operatoru not. Pro spravne seskupem logickych operaci je vhodne pouzivat zavorky. Poznamka: Operator matches funguje pouze tehdy, pokud vase kopie Wiresharku byla sesta- vena s podporou knihovny Perl Compatible Regular Expressions (PCRE). Abyste zkontrolovah, zda byl vas Wireshark sestaven s podporou knihovny libpcre, vyberte z nabidky polozku Help -» About Wireshark. Pokud knihovnu libpcre ve Wiresharku mate, operator matches ve vasi verzi bude fungovat. Integerove hodnoty Integerova pole obsahuji ciselne hodnoty, ktere jsou typu integer (nebo cela cisla) bez zlomkovych cast!. Integerove hodnoty mohou byt vyjadreny ve forme decimalmho, oktaloveho nebo hexadecimal- niho zapisu. Oktalovy zapis vyzaduje na zacatku 0, zatimco hexadecimalni zapis vyzaduje na zacat- ku Ox. Tabulka 5.11 zobrazuje priklady zapisu integerovych hodnot v decimalni, oktalove a hexade- cimalni soustave. Tabulka 5.11 Ruzn£ vyj^dreni stejne hodnoty typu integer eth.len > 1500 Decimalni eth.len > 02734 Oktalovy eth.len > 0x5dc Hexadecimalni Integerove hodnoty se deli na hodnoty se znamenkem a bez znamenka a take na 8-, 16-, 24-, 32- a 64-bitove. Tyto dve kategorie popisuji ulozem integerovych hodnot v paineti poch'tade a take urcuji rozsah hodnot, jichz muze integer nabyvat (viz tabulka 5.12).
Tvorba zobrazovadch filtru 215 Tabulka 5.12 Rozsahy hodnot podle kategorie integeru Bitova siika Rozsah se znam£nkem Rozsah bez гпатёпка 8 bitu -27az27-1 0 az 28-1 [ -128 az 127 -128 az 127 16 bitu -2,5az215-1 0az2,6-1 -32768 az 32767 0 az 65535 24 bitu -23laz23l-l 0 az 232-1 f -8388608 az 8388607 0 az 4294967295 32 bitu -23laz23,-1 Oaz 23l-1 [ -2147483648 az 2147483647 0 az 4294967295 64 bitu -263 az-263-1 Oaz 2м-1 -9223372036854775008 az | 9223372036854775007 Oaz 18446744073709551615 Nektera integerova pole take maji oznadeni reprezentujici specifickou hodnotu pole. Napfiklad pole Systems Network Architecture (SNA) Transmission Group Segmenting (nebo sna.th.tgsf) muze obsa- hovat odlisne hodnoty, viz tabulka 5.13. Tabulka 5.13 Pole SNA Transmission Group Segmenting Pole I Hodnota typu integer Oznaceni 0 Nesegmentovano 1 Posledni segment 2 Prvni segment 3 Prostredni segment V tomto pfipade hodnota typu integer nebo oznaceni mohou byt pouzity pro testovani hodnoty sna. th.tgsf. Tyto zobrazovaci filtry jsou funkcne shodne: sna.th.tgsf == 2 sna.th.tgsf == "First Segment" Tento pfiklad take demonstruje, jak muze byt text (nebo fetezec) reprezentovan v zobrazovacim fil- tru. Vsimnete si, ze oznaceni je uzavfeno v uvozovkach. Poznamka: Abyste se podivali na mozne hodnoty pole s hodnotami oznaceni, muzete pouzit 'Q dialogove okno„Filter Expression".Take muzete pouzit stranky HTML ve slozce /filters na dopro- vodnem CD teto knihy. Nektera pole typu integer jsou nazyvana frame number (Zislo ramce), coz je zvlastni typ integeru ve Wiresharku, ktery se chova jako 32bitovy typ integer bez znamenka. Klepnutim pravym tlacitkem mysi na toto pole v gratickem uzivatelskem rozhrani mistni nabidka zobrazi moznost „Go to Corre- sponding Frame’* (Prejdi na odpovidajici ramec), ktera vas pfenese na ramec uvedeny v danem poli.
216 Kapitola 5: Filtry Toho se uziva zejmena v protokolech, ktere pouzivaji mechanismus paketoveho paru zadost/odpoved’ (pole s dislem ramce pouzivaji napf. protokoly Server Message Block [SMB] a NetWare Core Pro- tocol [NCP]). Obrazek 5.6 ukazuje paket odpovedi SMB s polem smp.response_to, ktere poskytuje cislo ramce paketu se zadosti. Mit moznost skocit к paketu zadosti pomoci klepnuti na pole v pake- tu odpovedi muze byt pfi ladeni sitovych problemu velmi uzitecne. Boolean Pole typu boolean jsou pole, ktera obsahuji hodnotu true (pravda) ci false (nepravda). V nekterych pfipadech pole typu boolean, stejne jako integerova pole, maji oznacem, ktera lepe popisuii hodno- ty 1 a 0. Napfiklad pole sna.rh.sdi je polem typu boolean, ktere ma oznaceni Included a Not Included, popisujici hodnoty pole lepe nez true ci false. Nasledujici zobrazovaci filtry jsou funkcne shodne: sna.rh.sdi sna.rh.sdi sna.rh.sdi == 0 == "Not Included" == false Obrazek 5.6 Odpoved’protokolu SMB
Tvorba zobrazovacich filtru 217 Cisla s pohyblivou desetinnou carkou Cisla s pohyblivou desetinnou carkou se lisi od integerovych hodnot tim, ze obsahuji zlomkovou £ast. Wireshark poskytuje dva typy cisel s pohyblivou desetinnou carkou: regular (bezna) a double- precision (s dvojitou pfesnosti). Cisla s pohyblivou desetinnou carkou s dvojitou pfesnosti reprezen- tuji ciselne hodnoty pfesneji, nebot’ mohou obsahovat vice cislic. V praxi jsou ve Wiresharku vsech- na disla s pohyblivou desetinnou carkou cisly s dvojitou pfesnosti. Cisla s pohyblivou desetinnou carkou, at’ uz bezna nebo s dvojitou pfesnosti, obvykle nejsou obsazena v protokolech, ale existuji. Napfiklad protokol who (tedy format zprav posilanych unixovym progra- mem rwhod, ktere oznamuji prumerne zatizeni a aktualne pfihlasene uzivatele) ma cisla s pohybli- vou desetinnou carkou. Nektere zobrazovaci 1 iltry zahrnuji: who.loadav_5 > 3.5 who.1oadav_10 <= 10 who.1oadav_10 <= 10.0 ftetezce Nektera pole obsahuji textove soubory, textove hodnoty nebo sekvence znaku. Tato pole nazyvame retezci (strings). Pokud fetezec, ktery chcete znazornit, neobsahuje inezery a nema stejny nazev jako jedno z poli, miizete tento fetezec pouzit pfimo v zobrazovacim filtru: sna.rh.csi == ASCII Avsak pokud fetezec mezery obsahuje nebo ma stejny nazev jako nejake pole, musite jej uzavfit pomoci uvozovek: sna.rh.sdi == "Not included" Pokud vami zadany fetezec obsahuje uvozovky, pouzijte pfed uvozovkami zpetne lomitko. Tim umoznite spravnou interpretaci uvozovek. Nasledujici zobrazovaci filtr hleda uvozovky nasledova- ne fetezcem YES, nasledovanym dalsimi uvozovkami. http contains "VYESV" Zpetne lomitko take umoznuje zadavani 8bitovych hodnot celociselnych hodnot (napf. jednot.ivych bajtu) uvnitf fetezce za pouziti hexadecimalmho nebo oktaloveho zapisu: frame contains "\0777" frame contains "\xff" Kdyz potfebuiete vyhledat zpetne lomitko, pouzijte zpetne lomitko nasledovane zase zpetnym lomit- kem. Filtr pro vyhledani fetezce \begin by vypadal takto: http contains Wbegin Zobrazovaci filtry Wiresharku umoznuji vyhledavat pouze retezce standardu American Standard Code for Information Interchange (ASCII). Zatimco s pouzitim polozky Edit -» I ind Packet v gra- fickem uzivatelskem rozhrani muzete vyhledavat fetezce ASCII i Unicode, jazyk zobrazovacich filtru neumozriuje vyhledavat fetezce s jinym kodovanim, vcetne Unicode nebo Extended Binary Coded Decimal Interchange Code (EBCDIC). Take mejte na pameti, ze veskera porovnavani fetezcu jsou typu case-sensitive. Informace v jazyce zobrazovacich filtru jsou take case-sensitive. Pro pfekonam tohoto nedostatku byla vyvinut novy mechanismus nazvany „display I liter functions" (funkce zob- razovaciho liltru).
218 Kapitola 5: Filtry Operator matches dovoluje vyhledavani textu v fetezci poll (a sekvenci bytu) s pouzitim regularnich vyrazu. Operator matches a regularni vyrazy podporovane Wiresharkem jsou stejne jako ty, ktere pouziva Perl. Wireshark s nimi pracuje pomoci knihovny PCRE, ktera je uiitedna zejmena tim, ze pouziva regularni vyrazy takovym zpusobem, jaky zname napfiklad z jazyku Perl, Python, Apache, Exim a mnoha dalsich aplikaci. Regularni vyrazy Nejlepsi dokumentaci к regularnim vyrazum Perlu najdete na manualovych strankach regularnich vyrazu jazyka Perl, dostupnych na adrese http://perldoc.perl.org/perlre.html. Dokumentace jazyka Python na adrese www.python.org/doc/current/lib/re-syntax.html take poskytuje uzitedne informace о syntaxi regularnich vyrazu. Strucne feceno, pouzitim specialni syntaxe muzete vyhledavat vzory fetezcu namisto prostych fetezcu v poll, ktere obsahuje hodnotu typu fetezec. Muzete menit obsah podfetezce a pocet instanci podfetezce. Aby toho mohlo byt dosazeno, syntaxe regex (zkraceny vyraz vychazejici z angltckeho nazvu regular expression - pozn. pfekl.) dava vyznam urcityin znakum. Napfiklad znak * znamena shodu pfed- chazejici polozky nalezenou nulakrat ci vicekrat. Jinymi slovy, pfedchazejici polozka se nemusela vyskytnout, mohla se vyskytnout jednou nebo se mohla vyskytnout mnohokrat. Pokud vyhledava- me s timto regularnim vyrazem, pfechazejici polozka (pismeno s) se muze vyskytnout v nulovem nebo vetsim poctu. fi1es* Regex by se v tomto pfipade shodoval s nasledujicimi fetezci: f i 1 e f i 1 es fi1essss fi1esssssssss ale neshodoval by se s temito fetezci: Fi 1 es f i 1 ed file search Polozkou muZe byt znak, tfida znakii nebo fetezec znaku. Tfida znaku pfedstavuje skupinu, z niz muze byt vybran libovolny znak. Retezec znaku je sekvence specifickych znaku. Hranate zavorky identifikuji tfidy, zatimco kulate zavorky' oznacuji fetezce. Kdyz chcete vy'hledat fetezec zacinajici eth nasledovany libovolnou cislici, muzete pouzit tf idu znaku pomoci seznamu znaku uzavreneho v hranatych zavorkach: eth[0123456789] Nebo muzete pouzit rozsah znaku: eth[0-9] Oba z vyse uvedenych regexu by odpovidaly temto fetezcum: ethO ethl eth2 eth3 eth4
Tvorba zobrazovacich filtrCi 219 eth5 eth6 eth ’ eth8 eth9 Avsak zadny regex by nemohl neodpovidat fetezci ethlO, protoze tfida znaku odpovida pouze iedi- nemu znaku v prohledavanem textu. Na druhou stranu muzete na tfidu znaku pouzit kvantifikator *, diky cemuz bude regexu odpovidat i fetezec eth 10 nebo eth nasledovan libovolnym poctem cislic: eth[0-9]* Protoze kvantifikator * znamena zadnou nebo vicenasobnou shodu, regexu bude odpovidat take samotny fetezec eth. Muzete pouzit kvantifikator +, ktery bude znamenat shodu s jednou nebo vice polozkami: eth[0-9]+ Existuji tfi kvantifikatory, viz tabulka 5.14. Tabulka 5.14 Kvantifikatory regul^rnich vyrazu Znak Vyznam * Predchazejici polozka se vyskytuje vubec nebo vicekrat. + Predchazejici polozka se vyskytuje jednou nebo vicekrat. ? Predchazejici polozka se vyskytuje jednou nebo viibec. Navic muzete specifikovat i pocet vyskytu polozky, a to pomoci slozenych zavorek. Tfi mozne zapi- sy jsou uvedeny v tabuice 5.15. Tabulka 5.15 Specifickd kvantifikatory regularnich vyrazu Syntaxe Vyznam {ml Predchazejici polozka se vyskytuje presne m-krat. {m,} Predchazejici polozka se vyskytuje nejmene m-krat. {m,n} Predchazejici polozka se vyskytuje minimalne m-krat a maximalne n-krat. Napfiklad pro vyhledani fetezce eth nasledovaneho dvema nebo tfemi cislicemi by regex vypadal takto: ethCO-9]{2.3} Chcete-li vyhledavat podfetezec, ktery se vyskytuje jednou nebo vicekrat, umistete podfetezec do zavorek: file(\.txt)+ Tecka (.) ma v tomto pfipade v syntaxi regexu zvlastni vyznam; znamena shodu s libovolnym zna- kem krome znaku noveho fadku. Takze pro vyhledani samotne tecky jsme pfed ni umistili zpetne lomitko. Regexu budou vyhovovat nasledujici fetezce: file.txt
220 Kapitola 5: Filtry fi1e.txt.txt file.txt.txt.txt Zavorky take umoznuji shodu s alternativami. Chcete-li vyhledat rozhrani, jehoz nazev zacina eth nebo tr a je nasledovano jednou nebo vice cislicemi, pouzijte: (eth|tr)[0-9]+ Syntaxe regularnich vyrazu Perlu pouzivana Wiresharkem take pouziva nektere pfeddefinovane tfidy znaku, jejich vypis zachycuje tabulka 5.16. Tabulka 5.16 Tri'dy znaku regularnich vyrazu Syntaxe Trida znaku \d Libovolna 6'slice \D Libovolny neciselny znak \s Libovolny znak prazdneho mista (napf. mezera, tabelator) \S Libovolny znak jiny nez znak prazdneho mista Kdyz zname typ zapisu uvedeny v tabuice, muzeme vyhledat fet£zec eth nasledovany jednou nebo vice cislicemi pomoci zkraceneho zapisu: eth\d+ Nektere dalsi znaky maji take specialni vyznam, jak je uvedeno v tabuice 5.17. Tabulka 5.17 Specialni znaky regularnich vyrazu Znak Vyznam Zacatek fetezce Konec fetdzce Libovolny znak krome znaku noveho fadku Kupfikladu pro vyhledani fetezce .doc na konci fetezce pouzijte $: \.doc$ Jak uz bylo uvedeno dfive, znak zpetneho lomitka (\) se pouziva pro vyhledani znaku, ktery by za normalnich okolnosti mel v regexu zvlastni vyznam. lakze pro vyhledani slova eth nasledovaneho libovolnym poctem cislic v hranatych zavorkach pouzijte znak zpetneho lomitka umisteny pfed hra- natymi zavorkami: eth\[\d+\] Sekvence bajtu Sekvence bajtu vcetne ethernetovych adres jsou reprezentovany sekvenci hexadecimalnich cislic malymi nebo velkymi pismeny a oddelenymi dvojteckami, teckami nebo pomldkami. Napfiklad ethernetova adresa vsesmeroveho vysilani muze byt take zapsana jako ff.ff.ff.ffdt tl nebo
Tvorba zobrazovadch filtru Ethernetove adresy jsou sekvence bajtu, ktere maji pfifazena cisla prostfednictvim souboru ethers. Na operacnim systemu Unix je globalni soubor umisten ve slozce /etc/ethers a osobni soubor je ve slozce $HOME/.wireshark/ethers. V operacnim systemu Windows najdete globalni soubor ethers v instalacni slozce Wiresharku a osobni soubor ethers bude vytvofen ve slozce %APPDATA°/>\ Wireshark]ethers, nebo pokud slozka %APPDATA% neexistuje, pouzije se umisteni uoUSERPRO- FILE°t>\Application Data\Wireshark\ethers. Soubor ethers je formatovan takovym zpusobem, ze na kazdem fadku najdeme jednu adresu a jeden nazev, ktere jsou navzajem oddeleny libovolnym poctem mezer nebo tabulators 00:09:f6:01:cc:b3 picard 01:la:e3:01:fe:37 worf Pokud pro ethernetovou adresu existuje nazev, muzeme jej pouzit v zobrazovacim filtru: eth.src == 00:09:f6:01:cc:b3 eth.src == picard Interne se Wireshark к protokolum chova jako к polim specialniho typu; avsak z jineho hlediska se protokoly chovaji jako pole sekvenci bajtu. Operatory contains a matches mohou byt pouzity pro hledani v bajtech, ktere patfi kazdemu protokolu v paketu. S bajty v paketu, ktere jsou specificke pro dany protokol, se v jazyce zobrazovacich filtru pracuje jako s bajty patnciini к protokolu. Vyjimkou je special™ pseudo-protokol/ra/ne. Na vrchol kazdeho stromu protokolu Wireshark umist’uje pseu- do-protokol, ktery obsahuje metadata paketu, v£etn£ dasu obdrzeni a delky paketu. Tato pole se ve skutecnosti neobjevuji v datech paketu, ale jsou pro paket vyznamna. Wireshark zohlednuje vsech- ny bajty v paketu jako pakety patfici к pseudo-protokolu frame. Takze pro vyhledavani libovolnych bajtu nebo textu ASCII v celem paketu muzete pouzit operator contains, kterym zkontrolujete, zda protokol fra me obsahuje hledany bajte nebo text: frame contains "POST" frame contains 50:4f:53:54 Vyhledavani muzete ziizit na specificky protokol. Napfiklad pro vyhledani GET v protokolu http pouzijte: http contains "GET" Adresy Pole adres mohou byt rozlisena podle toho, zda jsou reprezentovana jako ciselne hodnoty nebo nazvy. Pole ethernetove adresy je jak polem adresy, tak polem sekvence bajtu. Dalsimi poll adres jsou adresy protokolu IPv4, IPv6 a adresa sit£ IPX. Pole adresy protokolu IPv4 muze byt porovnavano ve forme ctvefice hodnot oddelenych teckou s adresami IPv4, nazvy nebo nazvy DNS. Zapis ctvefice hodnot oddelenych teckou obsahuje ctyfi cislice oddelene znakem tecky (.). V nasledujicim pfikladu je nazev pole zdrojove adresy IP ip.src a nazev pole cilove adresy IP je ip.dst: ip.src == 192.168.1.1 ip.dst == wizard ip.dst == www.cpress.cz Pro otestovani pole zdrojove adresy IP nebo cflove adresy IP na hodnotu wizard muzete pouzit logic- ky operator or, kterym zkombinujete oba testy: ip.src =- wizard or ip.dst == wizard
222 Kapitola 5: Filtry Wireshark take poskytuje dalsi pole nazvane ip.addr, ktere znamena jak ip.src, tak ip.dst: ip.addr == wizard Vetsina poh s konceptem zdroje a cile poskytuje take tfeti pole pro testovani zdrojove nebo cilove adresy, ktera vam usnadni tvorbu zobrazovacich filtru pro testovani obou adres. Pro zjisteni, zda je adresa IPv4 v urcite podsiti, muzete pouzit operator == a zapis ve formatu CIDR. V zapisu ve formatu CID je adresa IPv4, nazev nebo nazev DNS nasledovan lomitkem a poctem bitu, ktere urcuji sifovou cast adresy IPv4: ip.addr == 192.168.1.0/24 ip.addr == wizard/24 Pole adres IPv6 jsou podobna svym protejskum u protokolu IPv4: ipv6.srcje nazvem pole zdrojove adresy IPv6, ipv6.dst je nazvem pole pro cilovou adresu IPv6 a ipv6.addr se pouziva pro testovani zdrojove nebo cilove adresy, napriklad takto: ipv6.dst == 2::8100:2:30a:c392:fc5a or ipv6.dst == 2::8100:2:30a:c392:fc5a ipv6.addr == 2::8100:2:30a:c392:fc5a Adresy IPX jsou slozeny ze dvou cast!: adresy site a adresy uzlu. Je to podobny system jako u adres IPv4, kde cast 32bitove adresy IPv4 identifikuje sit’ a druha cast identitikuje specificky system na teto siti. Avsak v protokolu IPX jsou sit a uzel oddelenymi poli misto toho, aby byly zkombinovany do jedine hodnoty. Pole uzlu IPX jsou poli typu hardwarovych adres, ale pole site IPX jsou 32bitove hodnoty typu integer bez znamenka. Wireshark pracuje s poli site IPX jinak nez s beznymi integerovymi poli. Odlisnost ie dana tim, ze Wireshark umoznuje dat nazev cislu site IPX. To je uzitecne, kdyz potfebujete analy- zovat pakety IPX v prostfedi, kde je mnoho ruznych siti IPX; nazvy jsou pfeci jen snaze zapamato- vatelne. Abyste delinovali nazev site IPX, vytvofte soubor s nazvem ipxnets. Na operacnim systemu Unix muzete vytvofit globalni soubor ipxnets ve slozce /etc/ipxnets a osobni soubor, ktery potlaci hodnoty uvedene v globalnim souboru, muzete vytvorit ve slozce $HOME/. wireshark/ipxnets. Na systemu Windows je globalnim souborem soubor ipxnets v instalacni slozce Wiresharku, zatimco osobni soubor je umisten v °oAPPDATAa<AWireshark\ipxnets, nebo pokud slozka neexistuje, najdete soubor v l\)USERPROFILE°o\Application Data\Wireshark\ipxnets. Format souboru ipxnets je shod- ny s formatem souboru ethers, list se vsak v tom, ze hexadecimalni hodnoty reprezentujici site IPX mohou byt oddeleny teckami, pomlckami, dvojteckami nebo nemusi byt oddeleny vubec. Nasleduje pfiklad z manualovych stranek Wiresharku: C0.A8.2C.00 HR c0-a8-lc-00 CEO OO:OO:BE:EF IT._Serverl UOf FileServer3 Diky uvedenemu souboru ipxnets jsou nasledujici dva zobrazovaci filtry ekvivalentni: ipx.src.net == 0xc0a82c00 ipx.src.net == HR Рогпйтка: Ukladani hardwarovych adres v souboru /etc/ethers byvalo na unixovych systemech bdzne; av§ak modern! systemy UNIX uz soubor/etc/ethers neobsahuji. Soubor /etc/ipxnetsje pro Wireshark unikatni.
Tvorba zobrazovadch filtru 223 lasova pole Ve Wiresharku jsou dva typy casovych poli, pficemz kazdy z nich je reprezentovan zcela odlisne. Absolute time (Absolutni cas) je casovym razitkem kombinujicim datum a cas pro specifikaci oka- mziku v case. Relative time (Relativni cas) je cislo s pohyblivou desetinnou carkou (tedy pocet vtefin vcetne jejich zlomku mezi dvema absolutnimi easy). Absolutni easy jsou vyjadfeny fetezeem v nasledujicim formatu: Mesic Den, Rok Hodina:Minuta:Vteriny a mohou obsahovat i zlomky vtefin s rozlisenim na nanosekundy: Mesic Den, Rok Hodina:Minuta:Vtefiny:ns Abyste videli pakety, ktere dorazily do cile pfed datem 31. prosince 2003 v 5.03, pouzijte tento zob- razovaci filtr: frame.time < "Dec 31, 2003 05:03:00" Wireshark poskytuje pole frame. time__delta pro zaznamenani rozdilu mezi easy, kdy dorazil paket a jeho pfimy pfedchudce. Momentalne je jedinym zpusobem, jak vyjadfit relativni cas, pouziti cisla s pohyblivou desetinnou carkou udavajiciho vtefiny s nanosekundovou pfesnosti: frame.time_delta > 0.02 Dalsi typy poli Nektera pole nemaji pfifazeny zadne hodnoty (napf. celociselne hodnoty, hodnoty typu fetezec nebo jakekohv jine). Muzete testovat pakety na existenci techto poli, ale tato pole neobsahuji zadne hodno- ty, ktere by mohly byt porovnavany pomoci operatoru ==, <, > nebo jinych. 3 ato bezhodnotova pole jsou оЬеспё pouzivana disektory protokolu pro umisteni textu nebo vetve stromu protokolu. Kdyz prozkoumate strom protokolu v zachycenych paketech, obcas odhah'te, ze nektere z polozek ve stromu protokolu nemaji pfifazeny zadna pole zobrazovadch filtru. V nekterych pfipadech disek- tory protokolu pouze pridaji text do stromu protokolu, aniz by tento text nejak oznacily v zavislosti na tom, ke kteremu poli tento text patfi. Obrazek 5.7 ukazuje, jak protokol disektoru HTTP nalozi s hlavickou paketu protokolu HTTP. Disektor umisti pole Keep-Alive do stromu protokolu, aniz by mu pfifadil nazev pole zobrazovaciho filtru. Zobrazovaci filtr pro prohledavani techto typu textovych oznaceni nelze vytvofit. Avsak pokud je text nalezen v datech paketu, muzete pouzit operator contains pro vyhledani textu v protokolu nebo v celem paketu s pouzitim pseudo-protokolu frame. Abyste nasli paket protokolu H ГТР, ktery ma hodnotu Keep-Alive „300“, pouzijte operator contains nasledujicim zpusobem: http contains "Keep-Alive: 300" Dalsi ini«i mace Vymenujte si filtry s prateli Hodil by se vam snadny zpusob, jak vymemt vasi rozsahlou sadu zachytavacich nebo zob- razovacich filtru s pfateli? Wireshark uklada zachytavaci filtry v souboru s nazvem cfilters a zobrazovaci filtry uklada do souboru dfilters. Na operacnim systemu Unix najdete tyto soubory ve slozce $HOME/.wireshark, zatimco na systemu Windows jsou soubory umiste- ny v %APPDATA°‘AWireshark, nebo pokud tato slozka neexistuje, tak v °oUSERPROFILE°o\
224 Kapitola 5: Filtry Application DataXWireshark. Cfilters a dflitersjsou soubory ve formatu prosteho textu, obsa- hujiciho jeden zaznam na fadek. Do techto souboru muzete vkladat nove zaznamy, ktere budou dostupn£ pfi dalSim spusteni Wiresharku. Obrazek 5.7 Hlavicka protokolu HTTP jako text Rozsahy Retezec, sekvence bajtu a typy poli protokolu maji krome schopnosti byt prohledavany pomoci operato- ru matches a contains i jinou spolecnou vlastnost: vsechny jsou sekvencemi bajtu. ftetdzce jsou sekven- cemi znaku a znaky nejsou nic jineho nez bajty. Dalsi typy poli (jako celociselna pole, cisla s pohyblivou desetinnou carkou, easy atd.) mohou byt povazovany spise za samostatne hodnoty nez za sekvence. Nekdy muze byt uzitecne vzit cast fetezce, sekvence bajtu nebo protokolu a rozdelit data do mensich sekei a tyto porovnavat proti hodnotam. Sekvence muze byt rozdelena pomoci funkce jazyka zobra- zovacich filtru Wiresharku nazvane rozsahy (ranges). Syntaxe rozsahu pouziva hranate zavorky: [ a ]. Pro ziskam samotneho bajtu ze sekvence se pouziva posun tohoto bajtu zadany v hranatych zavor- kach. Posun je pozice bajtu od pocatku pojmenovaneho pole. Posuny jazyka zobrazovacich filtrii Wiresharku zacinaji na 0. Abyste porovnali uplne prvni bajte v ethernetove adrese s hexadecimalni hodnotou Oxaa, pouzijte:
Tvorba zobrazovacich filtru 225 eth.addr[0] == aa Hodnota porovnavana s rozsahem je vzdy zpracovana jako sekvence bajtu. Hodnota hexadecimal- niho bajtu aa neni interpretovana jako fetezec aa, am zadanim Oxaa nemuzete zadat celociselnou hodnotu. Protoze 0 je posunem prvmho bajtu, 1 je posunem druheho bajtu. Porovnani druheho bajtu v casti paketu telnet s hexadecimalni hodnotou Oxff provedete takto: telnet[l] == ff Pfiklad kompletni hexadecimalni tabulky muzete najit na adrese www.cookwood.com/cookwood/ html4_examples/4f'des/colorhcx/hexchart.html. Rozsahy umi vice nez pouhe extrahovani jednotlivych bajtu; mohou take extrahovat skutecne rozsa- hy bajtu z poh. Pouzijte dvojtecku pro oddeleni posunu od poctu bajtu v zavorkach. Pro porovnani prvnich 3 bajtu adresy protokolu tr s hodnotou 00:06:29 zadejte delku casti za dvojteckou. Delka je 3, protoze porovnavame 3 bajty: tr.addr[0:3] == 00:06:29 Pokud byste radeji zadali rozsah posunu misto dvojic posun/delka, muzete pouzit v zavorkach znak pomlcky. Nasledujici zobrazovaci filtr take porovnava prvni 3 bajty adresy tr s hodnotou 00:06:29, ale rozd£lenim pole tr.addr od posunu 0 az po 2 усе1пё: tr.addr[0-2] == 00:06:29 Pfi pouzivani dvojteckoveho zapisu pro zadani bajtoveho posunu a delky rozsahu muzete zvolit nepo- skytnuti bud’ posunu, nebo delky pfi zachovani dvojtecky: eth[:2] == ff :ff httpCIO:] contains 00:01:02 Kdyz neni zadan posun, jako v pf ipade eth[:2], je pfedpokladano, ze posunem je 0. Kdyz neni zadana delka, jako v pfipade httpl 10:], rozsah zahrnuje vsechny bajty az do konce zmineneho pole nebo protokolu. Uvnitf zavorek muzete pouzit carky pro spojeni vice rozsahu jednoho pole. Napriklad chcete-li vyhledat prvni bajt (posun = 0) a tfeti bajt (posun = 2) protokolu tr, muzete bud’vytvofit dva roz- sahy kombinovane pomoci logickeho operatoru and nebo kombinovat rozsahy do jednoho rozsahu s pouzitim carky uvnitf zavorek: tr[0] == ff and tr[2] == ее tr[0,2] == ff:ee Carkovy operator umi kombinovat libovolny pocet rozsahu, a tak je nasledujici zapis zcela spravny: tr[0-2.4:3,7.9] == 01:02:03:04:05:06:07:08 Pozn^mka: V dokumentaci Wiresharku je uvedeno, ze byste meli mit moznost pouzit jako posun i zaporna cisla. Zaporne posuny indikuji posun smerem dozadu od konce pole. Avsak pri nasem experimentovanitatofunkce nefungovala tak, jak bylo napsano v dokumentaci. Je pravdepodob- ne, ze tato chyba bude v dalsich verzich Wiresharku jiz opravena. Tabulka 5.18 obsahuje souhrn moznosti syntaxe pro zapis rozsahu.
226 Kapitola 5: Filtry Tabulka 5.1 & Syntaxe rozsahu Syntaxe rozsahu Vyznam [posun ] Rozdeli jednotlivy bajt podle „posunu" [posun :delka ] Oddeli pocet bajtu dany„delkou" podle„posunu" [posun.-posun ] Oddelibajtyod „posunU]"po„posun2" [: delka] Oddeli pocet bajtu dany„delkou" od posunu 0 [ posun:] Oddeli bajty od„posunu" do konce pole [ rozsah, rozsah ] Kombinuje syntaxi rozsahu s dalsimi Logicke operatory Logicky operator and testuje, zda dva kombinovane vyrazy jsou pravdive. Pro filtrovani urcite zdro- jove adresy IP a cilove adresy IP pouzijte operator and takto: ip.src == 192.168.1.1 and ip.dst == 192.168.2.2 Logicky operator not neguje vyznam vyrazu. Abyste vyhledali pakety protokolu NetWare Core Pro- tocol, ktere maji pole ncp.directory_name, jez neobsahuje fetezec „System", pouzijte tento zobrazo- vaci filtr: not ncp.directory_name contains "System" Zavorky se pouzivaji pro seskupeni vyrazu podle toho, jak by mely byt kombinovany pomoci opera- toru and, not a or. Nasledujici dva zobrazovaci filtry nejsou stejne prave diky pouziti zavorek: not eth.dst eq ff:ff:ff:ff:ff:ff and ip.len gt 1000 not (eth.dst eq ff:ff:ff:ff:ff:ff and ip.len gt 1000) V prvnim pfikladu not neguje vyznam eq. V druhem prikladu not neguje vyznam seskupeneho vyra- zu, ktery je vyrazem and. Funkce Ve Wiresharku jsou dostupne nove funkce „display filter functions" (Funkce zobrazovadch filtru). Tyto funkce pracuji s daty pole a vraceji nove hodnoty. Jedine dve funkce aktualne definovane ve Wiresharku jsou upper a lower, ktere konvertuji pole fetezce na mala nebo velka pismena. Tato vlastnost ma uplatneni zejmena v pripade, kdy potfebujete provest vyhledavani, ktere neni case-sensitive. Napfiklad pokud hledany hostitelsky nazev muze byt „angel" nebo „Angel" nebo libovolnou kombinaci malych a velkych pismen, budete zfejme chtit provest vyhledavani nezohlednujici mala a velka pismena: upper(mount.dump.hostname) == "ANGEL” lower(mount.dump.hostname) == "angel" Ujistete se, ze pouzivate-li upper, je fetezec, s kterym provadite porovnavam, zapsan velkymi pisme- ny. Pouzijete-li lower, mel by byt porovnavany fetezec zapsan malymi pismeny. V podstate nezalezi na tom, kterou z uvedenych funkci pouzijete, nebof obe provadeji vy hledavani bez ohledu na mala ci velka pismena.
Tvorba zobrazovacich filtru 227 Vkenasobne vyskyty v poll ch Nektere protokoly se v paketech vyskytuji vice nez jednou. Tuto situaci muzete spatfit, kdyz se podi- vate na zapouzdfeny nebo tunelovany protokol. Napfiklad Protocol Independent Multicast (P1M) muze pracovat na vrcholu protokolu IPv6 a zaroven zasilat dalsi data protokolu IPv6. Takze s pouzi- tim PIM muzete mit jeden paket obsahujici dve instance protokolu IPv6. Obvyklejsi je situace, kdy se stejne pole vyskytuje v protokolu vice nez jednou. Nektere protokoly maji opakovana pole (napf. рагу kruh/most v paketech token-ring smerovanych zdrojem). V pfipadech, kdy protokol normalne neobsahuje vice vyskytii poli, Wireshark umi vytvafet tyto vice- nasobne vyskyty pro rozsifeni vyhledavani. Jak uz bylo feceno v diskusi na tema poli adres, existuje mnoho poli, ktera maji zdrojovou verzi a cilovou verzi. V techto pfipadech disektor prida dve obecne (tedy ne-zdrojove, ne-cilove) verze poli, takze zobrazovaci filtr muze testovat vyrazy jak pro zdrojo- ve, tak pro cilove pole. Tabulka 5.19 ukazuje nektere pfiklady techto poli. Tabulka 5.19 Obecne verze zdrojovych a cilovych poli Zdrojove pole Cilove pole Obecna verze eth.src eth.dst eth.addr fddi.src fddi.dst fddi.addr ip.src ip.dst ip.addr ipx.src.net ipx.dst.net ipx.net ipx.src.node ipx.dst.node ipx.node tcp.srcport tcp.dstport tcp.port tr.src tr.dst tr.addr udp.srcport udp.dstport udp.port Venujte zvlastm pozornost testovani poli, ktera se v paketech vyskytuji vice nez jednou. Napfiklad mate-li zachycene pakety obsahujici velke mnozstvi provozu HTTP a chcete pouzit zobrazovaci filtr pro potlaceni provozu HTTP, muze vas to svadet к pouziti nasledujiciho zobrazovaciho filtru, kde portem TCP protokolu HTTP je 80: tcp.port != 80 Bohuzel toto nebude fungovat, protoze zobrazovaci filtr fika: „Zobraz vsechny pakety, jejichz hod- nota v poli tcp.port je ruzna od 80.“ Podivejte se na obrazek 5.8; jeden tcp.port (cilovy port) je 80, zatimco tcp.port (zdrojovy port) je 55438. Tento paket projde filtrem tcp.port!=80, protoze ma jeden tcp.port, jehoz hodnota neni rovna cislu 80. Co opravdu chcete filtrem fici, je: „Zobraz vsechny pakety, jejichz alespon jeden tcp.port neni roven 80.“ Spravne by tedy zobrazovaci filtr byl zapsan takto: not tcp.port == 80 Je tfeba si na tyto konvence chvili zvykat, ale jakmile porozumite jazyku zobrazovacich filtru, bude se vam s nimi pracovat vyborne.
228 Kapitola 5: Filtry 1 Th* Wlreshark Network Analyzer file Edit Vie* Go Capture Analyze Statistics Help V Eilten Expression... I IT) Clear У Apply No. 8 9 10 Time 0.190330 0.260424 0.260938 0.347372 0.347451 Source 192.168.253.102 192.168.253.1 192.168.253.102 192.168.253.102 Destination 155.212.56.73 155.212.56.73 Protocol DNS DNS Info Standard query A www.syngress.com Standard query response A 155.212.56.73 55438 > www [SYN] Seq=O Len=0 MSS=1460 TSV=3354 www > 55438 [SYN, ACK] Seq=0 Ack=l Win=17520 Ler 55438 > www [ACK] Seq=l Ack=l Win=5840 Len=0 TS' u ~638 192.168.253. 10. r 13 0.430572 14 0.489910 » c ty 155.212.56.73 192.168.253.102 192.168.253.102 TCP HTTP www > 55438 [ACK] Seq=l Acк=424 Win=17097 Len=0 HTTP/1.1 200 OK Frame 12 (489 bytes on wire, 489 bytes captured) Ethernet II, Src: 00:11:25:86:lc:lc (00:11:25:86:lc:lc), Dst: 00:02:2d:88:45:d5 (00:02:2d:88:45:d5) Internet Protocol, Src: 192.168.253.102 (192.168.253.102), Dst: 155.212.56.73 (155.212.56.73) Transmission Control Protocol, Src Port: 55438 (55438), Dst Port: www (80), Seq: 1, Ack: 1, Len: 423 Source port: 5543b (55438) (relative sequence nurrber) (relative sequence number)] (relative ack number) Sequence number: 1 [Next sequence number: 424 Acknowledgement number: 1 Header length: 32 bytes ► Flags: 0x0018 (PSH, ACK) Window size: 5840 (scaled) Checksum: 0xb508 [correct] > Options: (12 bytes) > Hypertext Transfer Protocol 81..13-1 ..’n.D.. DM0 0070 00 2d 72 67 49 b4 00 65 d8 b5 47 48 73 28 08 45 6t 73 74 CD 73 2e 31 00 74 63 20 31 01 2f 01 91 08 48 e4 01 6d e3 44 80 00 6f 4d 20 6d 6f Od 7a 55 69 2e 73 31 79 Destination Port (tcp.dstpo't). 2 bytes 61 69 18 00 31 67 41 2e 78 ress.com gent: Mo О (Xll; HTTP/1.1 www.syng ..User*A U; Linux P: 468 0: 468 M: 0 О Obrazek 5.8 PortyTCP provozu protokolu HTTP Nastroje a past! Dalsi vyuziti zobrazovadch filtru Zobrazovaci filtry se ve Wiresharku pouzivaji i z jinych duvodii, nez je omezeni zobrazenych paketu v hlavnim okne aplikace. Wireshark umoznuje pouziti zobrazovadch filtru kdykoliv, kdyz chcete vybrat pakety. Mechanismus dostupny prostfednictvim nabidky View -> Colo- ring Rules slouzici к barevnemu odliSem paketu vam dovoluje pouzit zobrazovaci filtry i pro vyber paketu, ktere maji byt barevne odliseny. Take vystupy, jez muzete zi'skat v nabidce Sta- tistics -> IO Graphs, stejne jako mnoho dalsich vystupu umoznuji pouzivani zobrazovadch filtru pro vyber paketu. A dialogove okno vyvolane z nabidky File -> Open take umoznuje pouziti zobrazovadch filtru pro cteni souboru zachycenych dat z disku. Toto pouziti je mezi dalSimi vyuzitimi zobrazovacich filtru zcela jedinecne. Zatimco se cte soubor zachycenych dat z disku, jsou pakety porovnavany proti zobrazovacimu filtru, a pokud paket filtru nevy- hovuje, nebude nahran do pameti Wiresharku. Z tohoto pohledu se tedy tento nacltaci filtr chova stejne jako filtr zobrazovaci, a to tim, ze omezuje pocet paketu nahranych do pame- ti Wiresharku. Ale samozfejme pouziva syntaxi zobrazovadch t iltru, nikoliv syntaxi filtru zachytavacich.
Tvorba zobrazovacich filtru Skryta pole Kdyz se blize podivate na nektere protokoly ve stromu protokolu, uvidite, ze nektera pole, ktera by zde mela byt, nejsou viditelna. Napfiklad podivate-li se na ethernetovou cast stromu protokolu na obrazku 5.9, najdete ethernetovou zdrojovou adresu (eth.src) a ethernetovou cilovou adresu (eth.dst), ale neuvidite zde pole s nazvem „Source or Destination Address*1 (Zdrojova nebo cilova adresa), coz je popis pro pole eth.addr. Je to kvuli tomu, ze pole eth.addr bylo umisteno do stromu protokolu jako skryte pole pro podporu tvorby zobrazovacich filtru. Wireshark takto funguje kvuli komfortnejsi praci a kvuli tomu, aby udrzoval strom protokolu bez duplicitnich informaci. Bohuzel zde neexistuje zadna volba, kterou by bylo mozne skryta pole zobrazit. Dalsi informace Nedokumentovana volba Glossary (Glosar) Tshark ma nedokumentovanou volbu pfikazoveho fadku, ktera vytvafi glosar protokolu a nazvu poll. Tento pfepinac -G zpusobi, ze program vypise glosar a ukonci se. Dokonce i for- mat samotneho giosafe neni dokumentovan, ale muzete se podivat na soubor epan/proto.c ve zdrojovem kodu Wiresharku. Vyhledejte fetezec proto registrar dump_ fields, coz je I unkce dokumentujici tento format. /* Dumps the contents of the registration database * to stdout. An indepedent * program can take this output and format it into * nice tables or HTML or * whatever. * * There is one record per line. Each is either a * protocol or a header * field, differentiated by the first field. * The fields are tab-delimited. * Protocols ★_______- _ _ * Field 1 = ’P’ * Field 2 = protocol name * Field 3 = protocol abbreviation ★ * Header Fields ★ ______- - w - - - * Field 1 = ’ F* * Field 2 = field name * Field 3 = field abbreviation * Field 4 = type ( text representation of the ftenum type ) * Field 5 = parent protocol abbreviation */ Tento glosaf muzete vypsat zadanim pfikazu tshark -G. Pfepinac -G muze take pfijmout para- metr, ktery zpusobi, ze tshark vypi§e jiny druh giosafe. Pfepinac -G protocols zpusobi, ze tshark vypise glosaf pouze pro protokoly. Pfepinac -G fields zase vypise jak protokolova, tak i ne-pro- tokolova pole, stejne jako -G bez dalsich parametru. Zdrojovy kod v souboru tshark.c ukazuje
230 Kapitola 5: Filtry ruzne parametry pfepinace -G: fields, Jields2, Jields3, protocols, values, decodes, defaidtprefs a currentprefs. Abyste videli, jak sestavovaci system Wiresharku pouziva pfepinac -G pro tvor- bu manualovych stninek filtru, podivejte se do souboru doc/Makefile.am (nebo doc/MakeJile. nmake ve Windows) a doc/dfilter2pod.pl. Shrnuti Chcete-li pfesne oznacit problem se siti nebo porozumet praci konkretnich sitovych operaci, muzete byt zahlceni mnozstvim datoveho provozu, ktery ke sve praci nepotfebujete. Pouzivani filtru je zpu- sobem, jak spravovat toto velke mnozstvi informaci. Zachytavaci filtry dovoluji omezit pocet paketu. ktere Wireshark ziskava od operacniho systemu. Zobrazovaci filtry umoznuji omezit pakety, ktere jsou zobrazeny v hlavnim окпё Wiresharku, cimz vam usnadnuji pohled na informace, na ktere byste se v danem pfipade meli soustfedit. Syntaxe zachytavacich filtru Wiresharku je totozna jako syntaxe zachytavacich filtru programu tcpdump. Je tomu tak z toho duvodu, ze Wireshark i tcpdump pouzivaji knihovnu zvanou libpcap, ktera poskytuje filtrovaci mechanismy. Filtrovaci mechanismy poskytovane knihovnou libpcap nepo- skytuji mnoho nazvu protokolu nebo poll ve svem jazyce, coz umoznuje vysoky vykon a rychlost vyhledavani. Abyste vyhledali data nebo pole, jejichz nazvy nejsou v jazyce liltru poskytnuty, musite extrahovat bajty z jednotlivych paketu za pouziti posunu ve specifickych protokolech. Syntaxe zobrazovacich filtru Wiresharku je pro Wireshark jedinecna. Je soucasti mechanismu disek- toru protokolu ve Wiresharku a poskytuje nazvy pro temef vsechny protokoly a pole, ktera Wireshark umi analyzovat. Zobrazovaci filtry jsou pfi zpracovavani paketu pomalejsi nez zachytavaci filtry, ale tuto nevyhodu kompenzuji snadnosti pouziti. Abyste nasli nazvy vsech dostupnych poli a protokolu v jazyce zobrazovacich filtru, prostudujte infor- mace dostupne v grafickem uzivatelskem rozhrani Wiresharku a v manualovych strankach. Odkaz na ne najdete i na webu Wiresharku a take na doprovodnem disku CD teto knihy. Rychla feseni Tvorba zachytavacich filtru ♦ Zachytavaci filtry mohou pracovat velmi rychle a jsou vhodne pro omezeni poctu paketu zachy- cenych Wiresharkem. ♦ Jazyk zachytavacich liltru obsahuje klicova slova pro porovnavani hostitelskych nazvu a adres, hardwarovych adres, portu a protokolu. ♦ Tcpdump umi provadet rozbor mnoha protokolu a poli, ale jen nekolik z nich je dostupnych v jazyce filtru tcpdump (nebo tez jazyce „zachytavacich filtru")- ♦ Pro spravne otestovani jednotlivych poll v bitovem poli musite pouzit bitove operatory AND a &.
£aste dotazy 231 Tvorba zobrazovacich filtru Ф Zobrazovaci filtryjsou pomalejsi nez zachytavaci filtry, avsak umoznuji testovat temef libovolna pole nebo protokoly, ktere Wireshark umi analyzovat. ♦ Pole zobrazovacich filtru maji hodnoty urcitych typu, coz znamena, ze kazde pole muze obsa- hovat jen urcite hodnoty. ♦ Operator contains vyhledava text; operator matches vyhledava s pouzitim regularnich vyrazu. ♦ Pfi testovani poli, ktera se v paketu opakuji, budte opatrni; muze se stat, ze tato pole budete tes- tovat nespravnym zpusobem. ♦ Funkce zobrazovacich filtru upper() a lower() umoznuji testovani fetezcii bez ohledu na mala ft velka pismena. ♦ Je dulezite porozumet zobrazovacim liltrum, protoze isou vyuzivany napfic celym Wiresharkem pro vyber paketu (napf. zobrazeni, barevne odliseni, tvorbu grafu a reportovani). Caste dotazy Nasledujici casto kladene otazky byly zodpovezeny autorem teto publikace a jsou zde umisteny proto, abyste mohli zhodnotit sve porozumeni danemu tematu, a take vam pomohou pfi uplatneni teore- tickych znalosti v podminkach realneho prostredi. Otazka: Muj zachytavaci nebo zobrazovaci filtr, v nemz se vicekrat vyskytuje operator and a or, nepracuje tak, jak by mel. Odpoved: Pofadi operatoru mozna neni takove, jak si myslite. To znamena, ze casti filtru jsou spous- teny jinyrn zpusobem, nez ocekavate. Aby byly casti filtru pouzity ve spravnem pofadi, pouzivejte radeji zavorky. Otazka: Pouzivam pro vyhledani urcitych fetezcu operator contains a vim, ze tyto fetezce v paketech jsou, avsak Wireshark je nenajde. Odpoved: Kdyz vyberete pole, ktere vas zajuna, podivejte se pozorne na jeho hexadecimalni vypis; kodovani fetezce muze byt Unicode nebo EBCDIC, a tato kodovani s operatorem contains nepracu- ji. Prohledavat operatorem contains muzete pouze fetezce kodovane ASCII. Otazka: Chci najit vsechny pakety, ktere nemaji adresu IP 1.2.З.4. Proc vyraz ip.addr!= 1.2.3.4 uka- zuje vsechny pakety, misto toho, aby jejich mnozstvi omezil pouze na ty, ktere chci videt? Odpoved: Je to tim, ze se pole ip.addr vyskytuje v paketu vicekrat. Vas zobrazovaci filtr pracuje spravne; zobrazuje vsechny pakety, ktere maji alespon jedno pole ip.addr, ktere se nerovna hodnote 1.2.3.4. Vas filtr by mel vypadat takto: not ip.addr == 1.2.3.4. Otazka: Jak muzu v paketu vyhledat fetezec, ktery muze byt zapsan velkymi i malymi pismeny? Odpoved: Muzete pouzit funkce zobrazovaciho filtru upper() pro pfevod celeho fetezce na velka pismena a testovat na shodu s fetezcem zapsanym velkymi pismeny. Napfiklad muzete pouzit upper(mount.dunip.hostname) == „ANGEL". Funkci lower() muzete pouzit podobnym zpusobem. Otazka: Muj filtr Ize jednoduse zapsat jak pomoci zachytavaciho filtru, tak i pomoci zobrazovaciho filtru. Ktery z nich mam uprednostnit?
232 Kapitola 5: Filtry Odpoved: Pokud je na vasi siti jen omezene mnozstvi datoveho provozu, je jednodu&>i pou/it zob- razovaci filtry. AvSak pokud je vase sit’ hodne vytizena, a to zejmena provozem, ktery vas pfi zachy- tavani nezajima, a jste si jisti, ze vas filtr zachyti vsechna potfebna data, je vhodnejsi pouzit zachyta- vaci filtr. Pokud si nejste jisti, kde hledat stopy vedouci к vyfeseni problemu, zachyt’te radeji vsechna data a pouzijte zobrazovaci filtr pro specifidtejsi vyhledavani paketu. Otazka: Wireshark obsahuje i manual к jazyku zobrazovacich filtru. Kde najdu manual pro syntaxi zachytavacich filtrfi? Odpoved: Tyto informace najdete v manualovych strankach programu tcpdump. Ту jsou dostupne take online na adrese www.tcpdump.org/tcpdump_man.html.
KAPITOLA 6 Sniffovani bezdratovych siti pomoci Wiresharku Reseni v teto kapitole: ♦ Techniky pro efektivni sniffovani bezdratovych siti ♦ Operacni mody bezdratovych sifovych karet ♦ Konfigurace Linuxu pro sniffovani bezdratovych siti ♦ Konfigurace Windows pro sniffovani bezdratovych siti ♦ Pouzivani disektoru bezdratovych protokolu ♦ Uzitecne zobrazovaci filtry pro bezdratove site ♦ Vyuzivani funkci Wiresharku pro analyzu bezdratovych siti ♦ Shrnuti ♦ Rychla feseni ♦ Caste dotazy
234 Kapitola 6: Sniffovani bezdratovych siti pomoci Wiresharku Uvod Bezdratove site pfedstavuji velmi obsahle tema. Vzhledem к nespoctu standardii, protokolu a imple- mentaci neni vzacnosti, kdyz se administrator setka s konfiguracnimi problemy, ktere vyzaduji sofis- tikovana feseni a analyticke postupy. Nastesti Wireshark obsahuje sofistikovanou podporu pro bezdratovou analyzu protokolu, ktera muze byt admin istratorum prospesna pfi feseni problemu s bezdratovou siti. S patficnou podporou ovla- dacu umi Wireshark zachytavat provoz ,,ze vzduchu* a dekodovat jej do podoby, ktera pomuze admi- nistratorum vysledovat problemy snizujici vykon site, vypadavani spojeni a dalsi bezna uskali. Wireshark je take vykonnym nastrojem pro analyzu zabezpeceni bezdratovych siti. Diky zobrazova- cim filtrtim Wiresharku a dekoderum protokolu muzete snadno prosivat velke mnozstvi bezdratove- ho provozu a identifikovat slabiny v zabezpeceni bezdratove site vcetne slabeho sifrovani nebo ove- fovacich mechanismu a rizika prozrazeni citlivych informaci. Muzete take provadet analyzu detekce pruniku a identifikovat tak bezne utoky na bezdratove site, zatimco provadite analyzu sily signalu pro nalezeni fyzickeho umisteni stanice nebo pfistupoveho bodu. Tato kapitola pfedstavuje jedinecne vyzvy a doporudeni pro zachytavani provozu na bezdratovych sitich. Prozkoumame rfizne operacni mody podporovane bezdratovymi sifovymi kartami a naucime se nastavit operacni systemy Linux a Windows tak, aby podporovaly zachytavani bezdratoveho pro- vozu a analyzu s pouzitim Wiresharku a nastrojii tfetich stran. Jakmile ovladnete ukoly spojene se zachytavanim bezdratoveho provozu, naucite se pine vyuzivat vykonne funkce, kterymi Wireshark disponuje pro analyzu bezdratoveho provozu, a rovnez budete mit moznost si tyto nove nabyte zna- losti vyzkouset na nekolika praktickych pfikladech. Vsechny soubory pouzite v praktickych castech teto kapitoly najdete na doprovodnem CD teto knihy ve slozce /captures. Samozfejme budete take potfebovat bezdratovou sitovou kartu. Vyzvy sniffovani bezdratovych siti Tradicni sniffovani ethernetovych siti vyzaduje skutecne jednoduche nastaveni. Ve sdilenem prostre- di pracovm stanice s nainstalovanym Wiresharkem zahaji nove zachytavani dat, cimz pfepne sitovou kartu do promiskuitniho modu, a ceka, dokud nezachyti pozadovane mnozstvi dat. V prepinanem prostredi potfebujete pfed zahajenim zachytavani nastavit zrcadleni portu duplikujici datovy provoz zaslany jinym systemum. V obou techto pf ipadech je zahajeni zachytavani paketu a sber dat pro analyzu snadne. Kdyz vsak pfejdeme к bezdratove analyze, stane se proces zachytavani dat slozitejsim a vyzaduje dalsi rozhod- nuti, ktera by co nejlepe podpofila aktualne provadenou analyzu. Vyber statickeho kanalu Zatimco klasicke site poskytuji mechanismus jedmeho media pro zachytavani paketu (napf. kabel), bezdratove site mohou operovat na mnoha bezdratovych kanalech a pouzivat na iednom miste ruzne frekvence. Seznam bezdratovych kanalu a odpovfdajicich frekvenci je vypsan v tabuice 6.1.1 v pfi- pade, kdy dva uzivatele bezdratove site sedi vedle sebe, jejich poditace mohou pracovat na odlisnych bezdratovych kanalech.
Vyzvy sniffovani bezdratovych siti 235 Tabulka 6.1 Bezdratove frekvence a kanaly Frekvence Cislo kanalu Frekvence Cislo kandlu 2,412 GHz 1 2,484 GHz 14 2,417 GHz 2 5,180 GHz 36 2,422 GHz 3 5,200 GHz 40 2,427 GHz 4 5,220 GHz 44 2,432 GHz 5 5,240 GHz 48 2,437 GHz 6 5,260 GHz 52 2,442 GHz 7 5,280 GHz 56 2,447 GHz 8 5,300 GHz 60 2,452 GHz 9 5,320 GHz 64 2,457 GHz 10 5,745 GHz 149 2,462 GHz 11 5,765 GHz 153 2,467 GHz 12 5,785 GHz 157 2,472 GHz 13 5,805 GHz 161 Pokud chcete provadet analyzu provozu konkretniho pfistupoveho bodu nebo stanice, musite nej- prve urcit kanal nebo frekvenci pouzivanou cilovym zafizenim a nakonfigurovat vasi bezdratovou sitbvou kartu tak, aby pouzivala stejny kanal jako cilove zarizeni. Je to nutne z toho diivodu, ze bez- dratove sit’ove karty mohou v jednom okamziku pracovat pouze na jedne frekvenci. Kdybyste chte- li /achytavat provoz na nekolika kanalech zaroven, potfebovali byste dalsi sitbvou kartu pro kazdy kanal, ktery chcete sledovat. Pouziti' channel hoppingu Kdyz chcete zachytavat provoz pro konkretni stanici, jak najdete cislo kanalu, na kterem tato stanice operuje? Jednou moznosti je pouzit tzv. channel hopping neboli pfepinani kanalu, pro rychle skeno- vani napric vsemi dostupnymi bezdratovymi kanaly, dokud neni nalezen ten spravny. Diky channel hoppingu bezdratova sitbva karta stale pracuje v jednom okamziku na jedne frekvenci, ale rych- le pfepina mezi ruznymi kanaly, coz umoznuje Wiresharku zachytit libovolny provoz pfitomny na aktualnim kanalu. Nast£sti Wireshark pracuje nezavisle na aktualne vybranem kanalu; diky tomu neni nutne zastavit a opet spustit zachytavani paketu pfed kazdym pfepnutim kanalu. Muzete tedy pfepnout na pozadovany kanal za behu Wiresharku a pokracovat ve sberu dat. Na druhou stranu se bohuzel nemuzete spolehat na pfepinani kanalu pro vsechny vase pozadavky na zachytavani dat. V prubehu tohoto pfepinani totiz urcitou cast datoveho provozu ztratite, nebot mezi kanaly rychle pfepinate. Kdyz je vase bezdratova sitbva karta nastavena na kanal Ila pfepne- te se na jiny kanal, nebudete moci „slyset ‘ provoz, ktery se odehrava na kanalu 11, dokud se nepre- pnete zpet na tento kanal v ramci predem dane sekvence prochazeni kanahi. Ve svem dusledku tedy channel hopping neni pro analyzu provozu na danem pfistupovem bodu nebo stanici prave uzitec-
236 Kapitola 6: Sniffovani bezdratovych siti pomoci Wiresharku nou technikou, avsak muze byt uzitecny pro identifikaci kanalu, na kterem dan a sit’ pracuje. Tato informace bude pote pouzita pro staticke nastavem kanalu. Dosah bezdratovych siti Dalsim jedinecnym rysem pouzivanym Wiresharkem je vzdalenost mezi stanici pouz.ivanou pro zachytavani dat a vysilajicim zarizenim (nebo zafizenimi). Pri zachytavani bezdratoveho provozu je vzdalenost mezi zachytavaci stanici a vysilacem dost podstatna, a abyste ziskali co nejlepsi vysledky zachytavani, musite tento faktor nezbytne zohlednit. Pokud je zachytavaci stanice priliS daleko od jednoho nebo vice vysilacu, nemuze ,,slyset“ bezdrato- vy provoz. Pokud je zachytavaci stanice pfdis blizko jineho vysilade, bezdratove rozhrani muze byt zahlceno pfilisnym mnozstvim signalu, coz vyusti v nedtelny datovy provoz. Umisteni stanice blizko vysilace, avsak ne blize nez jeden metr, je idealni misto pro ziskani optimalnich vysledku zachyta- vani. Uspokojivych vysledku bezdratoveho zachytavani paketu dosahnete i pfi umisteni zachytava- ci stanice mnohem dale, ale pokud je vzdalenost prills velka, muzete ztratit cast dat, nebo dokonce vsechen datovy provoz. Interference a kolize DalSi vyzvu pro sniffovani bezdratovych siti pfedstavuje moznost interference a ztracenych paketu. Na rozdil od ethernetovych siti, ktere soucasne pfenaseji data a sleduji sit’, bezdratove sit’ove karty mohou bud’jen pfijimat, nebo asynchronne vysilat. Dusledkem toho je, ze bezdratove site museji implementovat takova opatfeni, ktera zabrani nekolika stanicim vysilat ve stejnem okamziku. I kdyz tyto inechanismy pro vyhybani se kolizim pracuji dobfe, stale je mozne se setkat s kolizemi zarizeni pracujicich na stejnem kanalu nebo s kolizemi s dalsimi bezdratovymi sitemi LAN a dalsnni zaffze- nimi, ktera pouzivaji stejnou irekvenci (napf. bezdratove telefony, elektronicke chuvy, mikrovlnne trouby a dalSi). Kdyz v jednom okamziku vysilaji dve zarizeni, ktera jsou v blizkosti zachytavajici stanice, pfenos bude naruSen a odmitnut pfijemcem jakozto neplatny paket. Obe zarizeni vyckaii po nahodne urcenou dobu a pote zopakuji sva vysilani, cimz signalizuji, ze jsou pfipravena opetovne zaslat stejnou informaci. Tato aktivita je na bezdratove siti LAN bezna, ale pro zachytavajici stanici pfedstavuje nemaly problem. Pfi zachytavani bezdratoveho provozu neexistuje zadna zaruka, ze se vam podafi zachytit uplne vsechna data. N£ktera data mohou byt poSkozena a odmitnuta zachytavajici stanici jakozto sum. V jinych piipadech zase vase stanice muze byt umistena tak, ze bude pfijimat ramce jeste pfedtim, nez budou naruseny dalSim prenosem к cilovemu hostiteli. Diky tomu bude muset vysuajici stani- ce opakovane odesflat pakety, ktere nedorazily к cili, a tudiz vaSe zachytavajici stanice bude ziskavat nekohk kopii identickych paketu. Doporuceni pro zachytavani dat v bezdratovych sftich Nyni, kdyz vite, s jakymi ome/emmi a probl£my souvisejicimi se zachytavamm dat v bezdratovych sitich se muzete setkat, doporudujeme pro ziskani co nejvernejsiho obrazu zachycenych dat respek- tovat nasledujici rady a doporuceni:
Operacni mody bezdratovych sit’ovych karet 237 Ф Umistete zachytavajici stanici blizko zdroje - pfi zahajeni zachytavani dat umistete zachytava- jici stanici do blizkosti zdroje bezdratovych aktivit, ktere jsou pfedmetem vaseho zajmu (napr. pristupoveho bodu nebo bezdratove stanice). > Vypnete dalsi bezdratova zarizeni v okoli - pouzivatedi pro zachytavani bezdratoveho provo- zu externi bezdratovou kartu (jako PC-Card nebo PCMCIA) a mate i sitovou kartu integrova- nou v notebooku, bezne dochazi ke ztrate dat na zachytavajicim zarizeni kvuli integrovane karte, resp. interferenci. Pro potlacem tohoto faktoru, ktery negativne ovlivnuje vysledky zachytavani, vypnete vsechna integrovana bezdratova zarizeni na zachytavajici stanici, a to jak rozhrani IEEE 802.11, tak i zarizeni Bluetooth. ♦ V prubehu zachytavani snizte vytizeni procesoru - pokud vas pocitac zaznamena nadmer- ne vytizeni procesoru v prubehu zachytavani paketu, muze se stat, ze nektera data se nepodari zachytit (kupfikladu neni prave nejlepsi napad vypalovat v prubehu zachytavani DVD). Pokus- te se snizit vytizeni procesoru - zabranite tim ztratam paketu pfi pouziti libovolneho programu pro zachytavani dat. ♦ Pozor na vyber kanalu - pokud provadite rozsahle zachytavani paketu z bezdratove site, ujiste- te se, ze vase bezdratova sitova karta zachytava data na stejnem kanalu, na kterem pracuje bez- dratova sit’. Pouzivate-li channel hopping v prubehu zachytavani paketu, nevyhnutelne dojde ke ztrate paketu zachytavanych z cilove site. Channel hopping pouzivejte pouze pro vyhledavani dostupnych siti; samotne zachytavani potom zamerte na jediny kanal. Pamatujte, ze i kdyz muze- te zachytavat data z blizkych kanalu (napf. vidite provoz z kanalu 1 a 6 pfi zachytavani na kanalu 3), povaha zachycenych dat bude odrazet spise sporadicke a nekompletni bloky dat. ♦ Dbejte na shodu modulacniho typu - s vyvojem ruznych standardu IEEE 802.11 fyzicke vrstvy byly vyvinuty ruzne modulacni mechanismy, ktere jsou schopny pracovat s rychlejsimi datovymi toky. Ujistete se, ze podporovane modulacni mechanismy vasi sitbve karty vyhovuji mechanis- mum site, na kterou jste se pfi zachytavani zamefili. Napfiklad bezdratova sit’ova karta standar- du IEEE 802.11b sniffujici data na siti standardu IEEE 802.11g bude schopna zachytavat nektera data modulovana s ohledem na zpetnou kompatibilitu, ale take muze propasnout data striktne modulovana pro site 802.11g. Pokud si nejste jisti, radeji si ovefte, ze vase karta podporuje vsech- ny dostupne modulacni mechanismy. V soucasnosti to znamena standardy IEEE 802.1 la/b/g, ale take karty s podporou IEEE 802.1 In s technologii MIMO (Multiple Input Multiple Output). Operacni mody bezdratovych sitovych karet Pfedtim nez zahajime bezdratove sniffovani pomoci Wiresharku, bychom meli pochopit ruzne ope- racni mody podporovane bezdratovymi kartami. Vetsina uzivatelu bezdratovych siti pouziva sve karty pouze jako zarizeni pro pfipojem к pfistupovemu bodu. Bezdratova karta a jeji ovladace ve spravovanem modu spolehaji na pfistupovy bod, ktery rovnez pracuje ve spravovancm modu, a to v tom smyslu, ze tento pfistupovy bod poskytne pfipojeni к bezdratove siti. Dalsim beznym modem bezdratovych karet je mod ad-hoc (nebo take mod Independent Basic Ser- vice Set [IBSS]). Dve bezdratove stanice, ktere spolu chteji komunikovat pfimo, tak mohou ucinit tim, ze budou sdilet urcite funkce bezdratovych sluzeb, ktere by za normalnich okolnosti obstaraval pfistupovy bod. Mod ad-hoc se pouziva zejmena pro navazani kratkodobych relaci mezi stanicemi v situaci, kdy pfistupovy bod neni mozne pouzit. Mnoho bezdratovych karet podporuje take mod master, kdy jedna bezdratova karta s pouzitim pat- ficneho softwaru poskytuje sluzby pfistupoveho bodu. Spravovany mod umoznuje nakonfigurovat
Kapitola 6: Sniffovani bezdratovych siti pomoci Wiresharku vas laptop nebo pracovni stanici tak, aby pracoval jako pfistupovy bod a poskytoval tak konektivitu dalsim bezdratovym stanicim. Poslednim modem bezdratovych karet je tzv. monitorovaci mod. Kdyz je karta nakonfigurovana pro pouziti monitorovaciho modu, pfestane vysilat data a pouze sniffuje na aktualne zvolenem kanalu, pficemz obsah zachycenych dat pfedava operacnimu systemu. Tento mod je pro vyuziti Wireshar- ku nejuzitecnejsi, nebot’ bezdratova karta nakonfigurovana pro praci v monitorovacim modu pfe- dava veskery obsah bezdratovych paketu, vcetne informaci hlavicek a sitrovaneho i nesifrovaneho obsahu. Kdyz je karta v monitorovacim modu, tak karta i jeji ovladace poskytuji bezdratove ramce „tak jak jsou“, coz dava uzivateli provadejicimu analyzu ten nejpfesnejsi mozny obraz о aktivitach na danem kanalu. Abyste mohli pomoci Wiresharku analyzovat bezdratovy provoz co nejefektivneji, musite nastavit bezdratovou kartu pro praci v monitorovacim modu na spravnem kanalu a pote zahajit zachytavani dat. Bohuzel - vetsinou se to snadneji fekne, nez udela. Protoze drtiva vetsina uzivatelu bezdrato- vvch karet pouziva tyto karty pouze ve spravovanem nebo ad-hoc modu, vyvojafi ovladacu sitovych karet nemusi nutne zahrnovat funkci monitorovaciho modu do svych ovladacu. V pfipade operac- niho systemu Linux je podpora monitorovaciho modu v ovladacich pomerne rozsifena. Ту linuxo- ve ovladace, ktere nativne monitorovaci mod nepodporuji, jsou casto „upraveny" pomoci zaplat od uzivatelu nebo vyvojafu tak, aby pfistup pomoci monitorovaciho modu podporovaly. Avsak v pfi- pade operacniho systemu Windows jsou ovladace temef vyhradne poskytovany formou uzavfeneho kodu, ktery brani komukoliv krome samotnych vyvojafu ovladacu v provadeni zmen v ovladacich tak, aby tyto poskytovaly funkce potfebne pro monitorovaci mod. Na druhou stranu pro Windows existuji alespon komercni produkty, ktere umoznuji vyuzivat podpory monitorovaciho modu bez- dratovych karet pomoci specialnich ovladacu. Nyni se budeme zabyvat kroky nezbytnymi pro konfiguraci bezdratove karty pro podporu monito- rovaciho modu v operacnich systemech Linux a Windows. Nastaveni podpory monitorovaciho modu v operacnim $у$1ёти Linux Abyste mohli zahajit zachytavani bezdratoveho provozu pomoci Wiresharku, musi vase bezdratova sifova karta pracovat v monitorovacim modu. Wireshark neumi kartu nastavit automaticky, a tak ji musite rucne pro tento mod nakonfigurovat pfedtim, nez zacnete zachytavat pakety. Pfikazy potfeb- ne pro nastaveni karty do monitorovaciho modu se vsak mohou lisit v zavislosti na typu bezdratove karty a pouzitych ovladacu. Tato sekce se zamefi na kompletni postup konfigurace pro nejrozsife- nejsi kombinace karet a ovladacu v operacnim systemu Linux. Tip: Urceni typu bezdratove karty, kterou vlastnite, nemusi byt vzdy prave jednoduchym йко- lem. Zatimco existuje pouze hrstka vyrobcu cipovych sad bezdratovych karet, je velke mnozstvi vvrobcu, kten z techto cipovych sad sestavuji vlastni bezdratove karty a prodavaji je pod vlastni znackou, cimz identifikaci cipove sady ponekud komplikuji. Jeden ze zdroju, ktere vam pfi iden- tifikaci mohou pomoci, je dostupny na adrese http://linux-wless.passys.nl. Pokud konkretni karta, kterou hledate, v seznamu neni, muzete se pokusit pomoci Googlu vyhledat nazev karty a klico- ve slovo „chipset" (napr. WPC55AG chipset).
Nastaveni podpory monitorovaciho modu v operacnim systemu Linux 239 Ovladace kompatibilni s rozhranim Linux Wireless Extensions Vetsina bezdratovych ovladacu pro linuxove systemy pouziva rozhrani Linux Wireless Extensions, ktere poskytuje konzistentni rozhrani pro nastaveni a manipulaci bezdratovych karet. Nejprve pojd- me urcit nazev ovladace bezdratoveho rozhrani pomoci utility pro konfiguraci bezdratovych karet iwconfig bez dalsich parametru: $ iwconfig ethO no wireless extensions. ]o no wireless extensions. ethl IEEE 802.11b ESSID:"Beacon Wi-Fi Network" Mode:Managed Frequency:2.462 GHz Access Point: f 00:02:2D:8B:70: 2E l Bit Rate:ll Mb/s Tx-Power=20 dBm Sensitivity=8/0 ' Retry lim1t:7 RTS thr:off Fragment thr:off L Power Management:off I Link Duality=50/100 Signal level=-71 dBm Noise level=-86 dBm L Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0 t Tx excessive retries:0 Invalid misc:286 Missed beacon:5 Poznamka: Doporucuje se, aby uzivatele vyuzivali vyhod Linuxoveho jadra verze 2.6, kdykoliv je to moznd. Vetsina linuxovych distribuci standardne instaluje balidky bezdratovych n^stroju pro pi ikazy iwconfig a iwpriv. Pokud tyto ball'dky nejsou obsazeny ve vasi distribuci Linuxu, budete je muset doinstalovat rudne. Pro instalaci techto babdku pouzijte nastroje pro spravu balickii vasi linuxove distribuce a vyhledejte nazev „wireless-tools", abyste zjistili moznosti instalace. Informa- ce specificke pro starsi distribuce Debianu, SuSE, RedHat a Mandrake jsou dostupne na adrese www.hpl.hp.com/personal/Jean Tourrilhes/Linux/DISTRIBUTIONS.txt. Z tohoto vystupu vidime, ze rozhrani s nazvy ethO a lo nepodporuji rozhrani Linux Wireless Extensi- ons; rozhrani s nazvem ethl vsak tuto podporu ma. Z vystupu muzeme take videt, ze karta je momen- talne ve spravovanem modu a je asociovana se siti IEEE 802.1 lb oznacenou identilikatorem Service Set Identifier (SSID) „Beacon Wi-Fi Network* na frekvenci 2,462 GHz (kanal 11). Protoze chceme tuto kartu pouzit pro sniffovani bezdratoveho provozu, potfebujeme prepnout kartu do monitorovaciho modu. Abychom provedli zmeny v konfiguraci bezdratove karty, potfebujeme byt uzivatelem root. Prepnete se tedy na uzivatele root pomoci pfikazu su a zadejte patricne heslo: $ su Password: (zadejte heslo uzivatele root) # Po pfepnuti uzivatele root muzete pouzit utilitu iwconfig pro nastaveni karty do monitorovaciho modu, a to tak, ze zadate nazev rozhrani nasledovany parametrem mode monitor: If iwconfig ethl mode monitor Po pfepnuti karty do monitorovaciho modu spust’te utilitu iwconfig s nazvem rozhrani jako jedinym parametrem pfikazoveho radku, abyste ovefili zmenu v konfiguraci: # iwconfig ethl ethl unassociated ESSID:off/any Mode:Monitor Channel=0 Access Point: 00:00:00:00:00:00 Bit Rate:0 kb/s Tx-Power=20 dBm Sensitivity=8/0
240 Kapitola 6: Sniffovani bezdratovych siti pomoci Wiresharku Retry limit:? RTS thr:off Fragment thr:off Encryption key:off Power Management:off Link Quality:0 Signal level:0 Noise level:0 Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:O Tx excessive retries:0 Invalid misc:7007 Missed beacon:0 V tomto vystupu vidime, ze mod byl zmenen z „managed" na „monitor" Nyni bude karta pracovat v monitorovacim modu. Dale potfebujeme mit jistotu, ze dane rozhrani ma status „up" (zapnuto). Pfesvedcime se о tom pomoci utility ifconfig, opet s pouzitim nazvu rozhrani jako jedineho para- metru: ethl Link encap:UNSPEC HWaddr 00-13-CE-55-B5-EC-BC-A9-00-00-00-00-00-00-00-00 BROADCAST MULTICAST MTU:1500 Metric:l RX packets:18176 errors:0 dropped:18462 overruns:0 frame:0 TX packets:123 errors:0 dropped:0 overriins:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:0 (0.0 b) TX bytes:0 (0.0 b) Interrupt:11 Base address:0x4000 Memory:a8401000-a8401fff Prvni odsazeny fadek textu nasledujici po nazvu rozhram a hardwarove adrese (HWaddr) oznamuje operacni pfiznaky daneho rozhrani. V tomto pfikladu je rozhrani nastaveno pro pfijimani vsesme- roveho a vicesmeroveho vysilani. Rozhrani momentalne neni ve stavu up, a to kviili tomu, ze chybi klicove slovo UP. Zmente nastaveni rozhrani jeho prepnutim do stavu up a potom opet prozkoumej- te vlastnosti konfigurace rozhrani, jak je ukazano nize: ethl Link encap:UNSPEC HWaddr 00-13-CE-55-B5-EC-3C-4D-00-00-00-00-00-00-00-00 UP BROADCAST MULTICAST MTU:1500 Metric:1 RX packets:34604 errors:0 dropped:34583 overruns:0 frame:0 TX packets:232 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:18150 (17.7 Kb) TX bytes:0 (0.0 b) Interrupt:ll Base address:0x4000 Memory:a8401000-a8401fff V tomto vystupu vidime, ze rozhrani je nyni ve stavu up a je pfipraveno к zahajeni sniffovani bez- dratoveho provozu. Poznamka: Na rozdil od nastroje iwconfig nastroj ifconfig nerozumi vlastnostem rozhrani, ktere je v monitorovacim modu. Kdyz je rozhrani asociovano s bezdratovou siti, jevi se jako standard™' rozhrani Ethernet; avsak po prepnuti do monitorovaciho modu se jevi jako nezn^my ci nespeci- fikovany mechanismus pro zapouzdreni spojeni. V dusledku toho ifconfig zobrazi vychozich 16 bajtu adresy Media Access Control (MAC) nespecifikovaneho zapouzdreni rozhrani (oznaceneho retezcem UNSPEC). Nastroj ifconfig se projevuje chybou, di'ky ktere prvnich 8 bajtu reprezentuje adresu MAC a nasledujicich 8 bajtu ma hodnotu NULL. Prvnich 6 bajtu predstavuje aktualni adre- su MAC bezdratove karty a dalsi 2 bajty neinicializovanou pamet. Konfigurace ovladacu MADWIFI 0.9.1 Ovladace Multiband Atheros Driver for WiFi (MADWIFI) podporuji bezdratove karty zalozene na popularni cipove sade Atheros s podporou standardd bezdratovych siti IEEE 802.1 la, IEEE 802.1 lb a IEEE 802.11g. I kdyz tento ovladac podporuje monitorovaci mod, nepodporuje konfiguraci moni-
Nastaveni podpory monitorovadho modu v operacnim systemu Linux 241 torovaciho modu s pouzitim utility iwconfig. Namisto toho vyvojafi MADWIFI zahrnuli vlastni nastroj pro konliguraci vlastnosti bezdratove karty s nazvem wlanconfig. Ovladace MADWIFI jsou jedinecne tim, ze podporuji vice rozhrani na jedne bezdratove karte. Tato vlastnost se nazyva Virtual Access Points (VAP - virtualni pfistupove body). Kazdy VAP se jevi jako nazev jeho vlastniho rozhrani s jedinym vychozim VAP nastavenym pro spravovany mod. Abyste vytvofili rozhrani pracujici v monitorovacim modu, musime vsak vsechny VAP z mistniho systemu pomoci utility wlanconfig odstranit. Nejdfive prozkoumejme seznam bezdratovych zarizeni pomoci utility iwconfig bez dalsich parametru: # iwconfig wifiO no wireless extensions. athO IEEE 802.11b ESSID:"" Mode:Managed Channel:0 Access Point: 00:00:00:00:00:00 Bit Rate:0 kb/s Tx-Power:0 dBm Sensitivity=0/3 Retry:off RTS thr:off Fragment thr:off Encryption key:off Power Management:off Link Quality=0/94 Signal level=-95 dBm Noise level=-95 dBm Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0 Tx excessive retries:0 Invalid misc:0 Missed beacon:0 Poznamka: Ovladace MADWIFI pouzivaji rozhrani „master" se jmennou konvenci wifiX, kdeXje 0 pro prvni bezdratovou kartu, 1 pro druhou kartu atd. Rozhrani master se pouziva pro vytvoreni jednoho nebo vice virtualnich rozhrani pomoci utility wlanconfig. Ve vetsine pripadu se bude- te odkazovat na rozhrani master pouze pri vytvafeni nebo likvidaci virtualnich rozhrani. Virtual- ni rozhrani pouzijete pro vsechny dalsi dkony, vcetne sniffovani bezdratoveho provozu pomoci Wiresharku nebo pristupu к bezdratove siti jakozto stanice. V tomto vystupu vidfme dve rozhrani: wifiO, ktere nepodporuje bezdratova rozsifeni, a athO, ktere je podporuje. Rozhrani athO se jmenuje podle bezdratove cipove sady Atheros (ath) a je standardne vytvofeno ve spravovanem modu. Abyste nastavili rozhrani do monitorovaciho modu, musite sma- zat neboli ,,znicit“ toto rozhrani pouzitim utility wlanconfig: Il wlanconfig athO destroy # iwconfig wifiO no wireless extensions. Z vystupu utility iwconfig muzeme videt, ze rozhrani athO uz neni v systemu pfitomno. Dale pomoci utility iwconfig opetovne vytvofime rozhrani athO, tentokrat vsak urcime, ze rozhrani ma byt vytvo- feno v monitorovacim modu, a odkazeme se na rozhrani wifiO jako na rozhrani master: # wlanconfig athO create wlandev wifiO wlanmode monitor athO # iwconfig wifiO no wireless extensions. athO IEEE 802.11b ESSID:"" Mode:Monitor Channel:0 Access Point: 00:00:00:00:00:00 Bit Rate:0 kb/s Tx-Power:0 dBm Sensitivity=0/3 Retry:off RTS thr:off Fragment thr:off Encryption key:off Power Management:off
242 Kapitola 6: Sniffovani' bezdratovych siti pomoci'Wiresharku Link Quality=0/94 Signal level=-95 dBm Noise level“-95 dBm Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0 Tx excessive retries:0 Invalid misc:0 Missed beacon:0 Dale se pnkazem ifconjig musime ujistit, ze rozhrani athOje ve stavu up, jak vidite nize: # ifconfig athO up # ifconfig athO athO Link encap:UNSPEC HWaddr 00-20-A6-4F-01-40-BC-9D-00-00-00-00-00-00-00-00 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:l RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:O RX bytes:0 (0.0 b) TX bytes:0 (0.0 b) Z vystupu pfikazu vidime, ze rozhrani je zapnuto a pfipraveno ke sniffovani bezdratoveho provo- zu. Zachytavani bezdratoveho provozu v operacnim systemu Linux lakmile jste svoji bezdratovou kartu pfepnuli do monitorovaciho modu, jste pfipraveni zahajit zachy- tavani bezdratoveho provozu. Pfipomenme, ze bezdratove karty mohou zachytavat data pouze na jedinem kanalu v danem okamziku. Pokud znate bezdratovy kanal, na kterem chcete zachytavat pro- voz, nastavte vasi bezdratovou kartu pro naslouchani na tomto kanalu pomoci utility iwconfig: if iwconfig athO channel 1 # iwconfig athO Nahrad’te athO nazvem vaseho bezdratoveho rozhrani a cislo 1 cislem kanalu, na kterem chcete zachy- tavat provoz. lak je videt z vystupu prikazu iwconjig, karta je momentalne nastavena pro zachytavani na frekvenci 2,412 GHz (kanal 1). Neznate-li cislo ciloveho kanalu, na kterem chcete zachytavat provoz, muzete nakonfigurovat bez- dratovou kartu pro channel hopping. Bohuzel operacni system Linux neobsahuje zadny vestaveny nastroj pro channel hopping, avsak mu/ete pfepinani kanalu vyfesit pomoci kratkeho shell skriptu. Vlozte text z Kodu 6.1 do shell skriptu pomoci vaseho oblibeneho textoveho editoru. Cisla fadku byla pfidana pouze pro pfehlednost, nevkladejte je do samotneho skriptu. Kod 6.1 Shell skript pro channel hopping 1. #!/bin/bash 2. IFACE=athO 3. IEEE80211bg="l 2 3 4 5 6 7 8 9 10 11" 4. IEEE80211bg_intl="$IEEE80211b 12 13 14" 5. IEEE80211a=”36 40 44 48 52 56 60 64 149 153 157 161" 6. IEEE80211bga="$IEEE80211bg $IEEE80211a" 7. IEEE80211bga_intl="$IFEE80211bg_intl $IEEE80211a" 8. 9. while true ; do 10. for CHAN in $IEEE80211bg ; do 11. echo "Switching to channel $CHAN"
Zachytavani' bezdratoveho provozu v operacnim systemu Linux 243 12. 13. 14. done 15. done iwconfig $IFACE $CHAN sleep 1 Po ulozeni shell skriptu zmente opravneni souboru tak, aby bylo mozno skript spustit: // chmod 755 chanhop.sh Zmente nazev rozhrani athO na fadku 2 tak, aby odpovidal nazvu vaseho bezdratoveho rozhrani. Take zmente indikator kanalu $IEEE802. llbgna radku 10 tak, aby odpovidal kanaliim podporovanym vasi kartou. Takto vytvofeny skript muzete spustit z adresafe, ve kterem jste jej ulozili: # ./chanhop.sh Switching to channel 1 Switching to channel 2 Kdyz chcete tento skript ukoncit, pouzijte kombinaci klaves Ctrl+C. Poznamka: Pokud se vam nechce shell skript vytvaret, muzete si stahnout sofistikovanejsi verzi uvedeneho skriptu ze stranek Wiki Wiresharku na adrese http://wiki.wireshark.org/CaptureSetup/ WLAN. Zahajeni zachytavani paketu - Linux At’ uz jste se rozhodli zachytavat data na jedinem kanalu nebo momentalne pouzivate channel hopping, proces zachytavani dat na operacnim systemu Linux zustava stejny. Spust’te Wireshark zadanim pfi- kazu wireshark bez dalsich parametru jako uzivatel root a zahajte nove zachytavani paketu stisknutim polozky Capture Options. Otevfe se dialogove okno „Wireshark Capture" (viz obrazek 6.1). Capture interface |athO IP address: unknown Wireless Settings ' Capture packets in oromiscuous mode □ Umit each packet to 168 bytes Capture Filter Capture File(s) File: Display Options to Browse... Update list of packets in real time Use multiple files 2 Name Resolution Hide captu'e info dialog X Cancel Start — — . — . Obrazek 6.1 Dialogovd okno Wiresharku s volbami pro zachytavani - Linux Pomoci rozbalovaciho seznamu s nazvem „Interface:" vyberte bezdratove rozhrani pfepnute do monitorovaciho modu a zadejte pozadovane volby pro zachytavani. Pote klepnete na tlacitko Start, kterym zahajite zachytavani paketu.
244 Kapitola 6: Sniffovani' bezdratovych siti pomoci Wiresharku Nyni jste nakonfigurovali vas system tak, aby mohl zachytavat bezdratovy provoz v monitorovacim modu. DalSim krokem je vyuziti informaci obsazenych v zachytavanych paketech. Nastesti Wireshark obsahuje sofistikovane analyticke mechanismy, ktere mohou byt pouzity pfi analyze bezdratoveho provozu. Podivejme se nyni na kroky nezbytne pro konfiguraci podpory monitorovaciho modu na operacnim systemu Windows. Nastaveni podpory monitorovaciho modu v operacnim systemu Windows Bohuzel ovladace bezdratovych karet pro operacni system Windows beznS pnstup к monitorovacimu modu nepodporuji a misto toho omezuji uzivatele na pouzivam karet ve spravovanem modu. Nastes- ti vsak diky kombinaci komercniho a open-source softwaru muzeme toto omezeni obejit a pouzit pocitace s Windows pro analyzu bezdratoveho provozu s pomoci Wiresharku. Predstavujeme AirPcap Inzenyri ze spolecnosti CACE 'lechnologies predstavili komercni produkt nazvany AirPcap, ktery dovoluje obejit omezeni vetsiny ovladacu bezdratovych karet v operacnim systemu Windows. Kom- binace USB adapteru standardu 802.11b/g, podpurnych ovladacu a utility pro konfiguraci klienta umoznuje AirPcapu poskytnout jednoduchy mechanismus pro zachytavani bezdratoveho provozu v monitorovacim modu na stanicich s Windows za pfijatelnou cenu. AirPcap je dostupny na adre- se www.cacetech.com. Po ziskani CD s AirPcapem a USB bezdratoveho adapteru nasledujte instrukce pro instalaci podrob- ne popsane v uzivatelske pfirucce AirPcapu. Ujistete se, ze jste nainstalovali spravnou verzi (WinP- cap 4.0 beta 1) WinPcapu pro podporu AirPcapu. Poznamka: Bohuzel v dobe vzniku teto knihy neexistovalo zadne softwarove resent, ktere by umoznovalo uzivatelum Windows zachytavat bezdratovy provoz, ktere by bylo zdarma, spoleh- live a neporusovalo by zadna licencni ujednani ci omezeni. Potrebujete-li provadet zachytavani bezdratoveho provozu pomoci stanice s Windows, budete muset zakoupit kombinaci ovladacu a hardwaroveho zarizeni, ktera podporuje monitorovaci mod. Pokud se chcete vyhnout jakymkoliv vydajum spojenym s ovladaci pro zachytav ini paketu v moni- torovacim modu, nezbyv^, nez vam doporucit alternativu v podobe operadniho systemu Linux, ktery obsahuje funkdni spojeni podpory monitorovaciho modu a zdarma dostupnych bezdrato- vych ovladaciu. S pouzitim bootovatelneho CDs operacnim systemem Linux napfiklad v distribuci Backtrack z adresy www.remote-exploit.org muzete vytvofit snadno dostupn£ linuxove prostfedi prostym nabootovanim z linuxoveho CD a zapojenim podporovane bezdr^tov£ karty. Tip: Dalsi volbou pro uzivatele operacniho systemu Windows je pouziti licencovaneho softwaru AiroPeek NX pro zachytavani paketu. Protoze Wireshark umi cist soubory .ape vytvofen£ v Airo- Peek NX, muzete pouzit Wireshark pro rozsifeni funkci dostupnych AiroPeek NX. Demoverze pro- gramu AiroPeek NX bohuzel neumoznuje uktedat zachycen£ pakety do souboru.
Nastaveni podpory monitorovaciho modu v operacnim systemu Windows 245 Urceni kanalu pro zachytavani po instalaci ovladadii AirPcap spust’te ovladaci panel AirPcap klepnutim na tlad'tko Start -> Al) Pro- grams -> airpcap -> Airpcap Control Panel (viz obrazek 6.2). S pouzitim teto utility muzete menit nasledujici nastaveni pro bezdratove zachytavani popsane v tabuice 6.2. Obrazek 6.2 Dialogove okno AirPcap Control Panel Tabulka 6.2 Nastaveni dostupna v aplikaci AirPcap Control Panel Parametr Volba Popis Blink LE D On / Off Blikani kontrolky LED na USB adaptdru Airpcap; uzited nd pro pouziti vice AirPcap adapteru na jednom poditaci. Channel. 1-14 Udava kanal, na kterem bude Wireshark zachytavat provoz, s pouzitim konkretniho adapteru AirPcap. Protoze adapter Air- Pcap umi pouze naslouchat, umoznuje uzivatelum zachyta- vat data na vSech kanalech podporovanych standardem IEEE 802.11 b/g, a to dokonce i na tdch, ktere nejsou povoleny insti- tuci Federal Communications Commission (FCC). Vdobd psani tdto knihy AirPcap neobsahoval ndstroj pro provadeni channel hoppingu v prubehu zachytavani paketu. Include 802.11 On/Off Posledni 4 bajly kazddho paketu bezdratovd site jsou zndmy FCS in Frames jako Frame Check Sequence (FCS - neooli Sekvence pro kontro- lu ramce), coz je 32bitova hodnota kontrolniho souctu, ktera se pouziva pro kontrolu, zda byl paket doruden v pofadku nebo byl poskozen pfi pfenosu. Tato informace je dasto z paketu odstra- ndna, a to zejmdna pfi zachytavani na linuxovych systemech, ale muze byt u2ite£na pro kontrolu integrity paketu. Doporudend hodnota pro tuto volbu je,On" (Zapnuto) pro zaznamenavdni informaci FCS pro ka2dy paket.
246 Kapitola 6: Sniffovani bezdratovych siti pomoci Wiresharku Parametr Volba Popis Capture Type 802.11 Only, 802.11 Kazdy soubor zachycenych paketu ve formatu libpcap nebo + Radio rozhrani maji prifazen typ zachytavaneho pripojeni, ktere sdelu- je Wiresharku a dalsim sniffovacim nastrojiim, co Ize od snifferu ofekavat. Nastroj AirPcap Control Panel umoznuje nastavit druhy pripojeni'jako 802.11 Only nebo 802.11+ Radio. Typ 802.11 Only bude vytvaret zachycene pakety, kde kazdy paket zadna obsa- hem hlavidky IEEE 802.11.Typ 802.11 + Radio pripoji hlavicku znamou jako Radiotap pred zafatek hlavicky IEEE 802.11. Tato hlavicka umoznuje zachytavacimu procesu ukladat doplnujici informace z ovladade pro kazdy paket, ktere nejsou £3sti infor- maci hlavicky 802.11 (jako napfiklad intenzita signalu, kvalita sig- nalu, typ modulace, typ kanalu [802.11 b, 802.11 g], rychlost, cislo kanalu a dalsi uzitecne informace). FCS Filter All Packets, Valid Packets, Wrong FCS Packets WEP Settings Ruzne volby Bez ohledu na to, zda je sekvence Frame Check Sequence zazna- menavana pro kazdy ramec v zachytavanych paketech, adap- ter AirPcap bude kontrolovat FCS kazdeho ramce, aby zjistil, zda tento ramec byl pfijat v pofadku nebo poruseny. AirPcap umoz- nuje uzivatelum urdt, zda chteji prijimat platne i neplatne pakety (All Packets), pouze platne pakety (spravna FCS) nebo neplatne pakety (nespravna FCS). Pro vetsinu uzivatelu se doporucuje vybrat volbu„Valid Pac- kets”, nebot’ vsechny neplatne pakety pravdepodobne nebyly obdrzeny stanici, ktere byly puvodne unieny. Nekdy vsak muze byt uzitecne zachytavat i pakety s nespravnou FCS, a zjistit tak mnozstvi paketu poSkozenych pri prenosu. Nastroj AirPcap Control Panel umoznuje uzivatelum zadat static- ke klife protokolu Wired Equivalent Privacy (WEP), ktere budou Wiresharkem pouzity pro deSifrovani zachytavanych dat. Tato volba je take dostupna z grafickeho uzivatelskeho rozhrani Wire- sharku a podrobneji se ji budeme zabyvat dale v teto kapitole. Po nastaveni pozadovanych voleb klepnete na tlacitko OK pro akti- vaci a ulozeni vasich nastaveni. Zachytavani bezdratoveho provozu v operacnim systemu Windows Po specifikaci nastaveni pro zachytavani dat v nastroji AirPcap Control Panel spusfte Wireshark a zahajte nove zachytavani paketu pomoci polozky Capture -> Options. Otevfe se dialogove okno s volbami pro zachytavani ve Wiresharku (viz obrazek 6.3). Vyberem z rozbalovaci nabidky oznacene „Interface:" zvolte rozhrani AirPcap a pote zadejte pozado- vana nastaveni pro zachytavani. Klepnete na tlacitko Start, kterym zahajite proces zachytavani. Kdy/ zachytite potfebne mnozstvi dat, ukoncete zachytavani klepnutim na tlacitko Stop nebo pouzijte dia- logove okno pro zachytavani a zde zvolte Capture -> Stop.
Analyza bezdratoveho provozu Wireshark: ( apture Opt’ons Captire Interface: IP address: unknown fcrPcap USB wrdess capture adapter nr. 00: UA^PcapOO Buffer size: 1 roegabyte(s) Wireless Settings 247 p Captire pade*s r prcrmscucus mode Q trrwt each packet to |63_________I' bytes Rapture Fit er: e........... Capture Fiie(s) О Use rpultpk hies Displiy Options Stop Captire... E Enable transport name resolution Start Obrazek 6.3 Dialogovd okno s volbami pro zachytavani ve Wiresharku - Windows Nyni zachytavate bezdratovy provoz v monitorovacim modu v operacnim systemu Windows. Dalsi ukol, ktery pred nami stoji, je nelehky a spociva v extrahovani uzitecnych informaci z obsahu zachyce- nych paketu. Nasledujici sekce se venuje mnoha funkcim Wiresharku, ktere usnadnuji analyzu dat. Analyza Ьегс1га1оуёКо provozu Bez ohledu na to, zda ctete zachycene pakety ze souboru nebo z ziveho rozhrani na pocitaci s operac- nim systemem Windows nebo Linux, funkce Wiresharku pro analyzu jsou temer identicke. Wireshark nabizi mnoho uzitecnych funkci pro analyzu bezdratoveho provozu, vcetne podrobneho rozboru pro- tokolu, vykonnych zobrazovacich filtru, pf izpusobitelnych vlastnosti zobrazeni a schopnosti desifro- vat zachyceny bezdratovy provoz. Kazdou z techto funkci se budeme podrobne zabyvat. Navigace v okne Packet Details Jednou z nejuzasnejsich funkci Wiresharku je bezesporu schopnost rozboru obsahu datoveho pro- vozu a jeho zobrazeni v podobe rozbalitelne stromove struktury. Pro bezdratovy provoz Wireshark predstavuje okno Frame Dissector, ktere zacina statistikami ramcu a pokracuje obsahem vrstvy MAC. standardu 802.11. Pokud za hlavickou 802.11 nasleduji dal§i data, Wireshark logicky rozdeli kazdy z dalsich protokolu do jednotlivych oken. Statistiky ramcu Prvni skupina podrobnych informaci v okne Packet Details obsahuje podrobny souhrn informaci о aktualne vybranem ramci. Okno Frame nezobrazuje obsah zadneho z vybranych ramcu, ale spise obecne informace obsazene v zachycenych paketech pro vybrany ramec (viz tabulka 6.3).
248 Kapitola 6: Sniffovani bezdratovych siti pomoci Wiresharku Tabulka 6.3 Statisticke podrobnosti r^mcu Nazev pole Popis Nazev pro pouziti v zobrazovacim filtru Arrival Time Hodnota„Arrival Time" (Cas doruceni) pfedstavuje casove razitko zaznamenane stanici, ktera zachytava provoz pfi doruceni paketu. Pfesnost tohoto pole je stejna jako pfesnost casu na pfijimajici stanici. Pakety zachycene stanicemi s operacnim systemem Windows mohou obsahovat fasove udaje s pfesnosti na vtefiny; neni zde bohuzel podpora pro zlomky vtefin. frame.time Time Delta from Pre- Pole „Time Delta" urfuje cas, ktery uplynul mezi vybra- frame.time_delta vious Packet nym ramcem a ramcem, ktery mu bezprostfednd pfedchazel. Toto pole je aktualizovano pfi pouziti zobrazovaciho filtru, ktery pfedstavuje cas uplynuvsi od pfedchoziho ramce. Tato funkce muze byt velmi uzitecna zejmena pfi analyze provozu, ktery je pfena- §en v pevne danych fasovych intervalech (jako napf. signal™' ramce - beacon) pro urfeni interference, ktera zpusobuje zahazovani paketu. Time Since Reference or First Frame Pole„Time Since Reference" nebo„First Frame" udava frame.time_relative mnozstvi casu, ktery uplynul od zacatku zachytavani paketu do zachyceni aktualne vybraneho ramce. Toto pole neni pfi pouziti zobrazovaciho filtru aktualizova- no. Frame Number Pole„Frame Number" je sekvenfni citaf zacinajici cis- frame.number lem 1, ktery slouzi к jedinecne fiselne identifikaci aktu- alniho ramce. Toto pole je uzitedne pro pouziti zobra- zovaciho filtru tarn, kde ma byt jeden nebo vice ramcu vybran nebo odstranen ze zobrazenych ramcu. Packet Length Pole „Packet Length" odrazi aktualni delku celeho frame.pktjen paketu, bez ohledu na to, kolik dat z celeho paketu bylo zachyceno. Standardne je Wiresharkem i Airo- dumpem zachytava n cely paket. Capture Length Pole„Capture Length" udav£, kolik dat bylo zachyce- frame.capjen no na zaklad£ zadaneho poftu bajtu, ktere uzivatel pozadoval zachytit pro kazdy ramec (.snap length" - d£lka snimku). Standardne Wireshark pouziva delku snimku о velikosti 65 535 bajtu, ktere maji byt zachyce- ny z celeho obsahu ramce. Kdyz je zadana jina hod- nota delky snimku, muze byt objem zachycenych dat menSi, pokud je velikost ramce mens! nez delka snim- ku. Protocols in Frame Pole „Protocols in Frame* specifikuje vsechny pfitomne frame.protocols protokoly pofinaje hlavifkou IEEE 802.11.
дпа1уга bezdratoveho provozu 249 Tip: Udrzovani presneho fasu v systemu je dulezite pro mnoho druhu analyzy protokolu a obzvteS- te dulezite je tehdy, kdyz chcete hledat souvislosti mezi udalostmi na ruznych syst£mech. Zvazte pouzivani protokolu Network Time Protocol (NTP) na va$ich klientech s operac nimi systemy Linux nebo Windows, abyste se ujistili, ze mistni systemovy cas je vzdy spravny. Hlavicka IEEE 802.11 Sledovamm statistickych dat ramce Wireshark zahaji rozbor informaci protokolu pro vybrany paket. Hlavicka IEEE 802.11 je vehni komplexni; na rozdil od standardni hlavicky Ethernetu, ktera ma 14 bajtu, ma hlavidka 802.11 24 az 30 bajtu, dale pak ma tri nebo ctyfi adresy (na rozdil od Etherneto- vych hlavidek, ktere maji pouze dve) a take obsahuje mnohem vice poli pro specihkaci ruznych cast! informaci souvisejicich s bezdratovymi sitemi. Co vice - bezdratove ramce mohou mit dalsi pro- tokoly pfipojeny na konec hlavicky IEEE 802.11, vcetne voleb pro silrovani, volby pro kvalitu sluz- by (Quality of Service - QoS) a identifikator vestavenych protokolu (hlavicka IEEE 802.2), vsechny z nich pred ziskanim dat, ktera pfedstavuji protokoly vyssich sitbvych vrstev. Nastesti ale Wireshark tento proces analyzy usnadhuje pomoci inteligentni reprezentace dat v takovc forme, ve ktere se da snadno pohybovat a orientovat. Pouzijeme mnoho techto datovych poll, kdyz zacneme pouzivat zobrazovaci filtry na bezdratovy provoz a analyzovat skutecna zachycena data. Z toho duvodu bude vhodne zacit s analyzou kazdeho z poli v hlavicce IEEE 802.11 - viz tabulka 6.4. Tabulka 6.4 Pole hlavicky IEEE 802.11 Nazev pole Popis Type/Subtype Polejype/Subtype" neni v hlavicce IEEE 802.11 reprezento- vano jako data; spise je obsazeno jako pohodlny mechanis- mus pro jedinefnou identifikaci kombinace typu a podtypu v hlavicce tohoto ramce. Toto pole se bezne pouziva v zob- razovacich filtrech. Nazev pro pouziti ve zobrazovacim filtru wla n .fc.ty pe_su bty pe Frame Control Version Pole „Frame Control” je 2bajtove pole predstavujici prvni 2 bajty hlavicky IEEE 802.11. Wireshark toto pole dale rozebira do podoby dalSich 4 poli, jak je popsano nize. Pole „Version" je obsazeno v kontrolni hlavifce ramce a uda- va verzi hlavicky 802.11. V dob£ psani t£to knihy byla tato hodnota 0. wlan.fc wlan.fc.version Type Pole „Type" je obsazeno v kontrolni hlavicce ramce a udav£ typ ramce (data, management, control). Subtype Pole„Subtype" je obsazeno v kontrolni hlavicce ramce a ud^va funkci pro specifikovany typ ramce. Napriklad: je- -li typ ramce„management frame", pole „subtype” oznacuje typ tohoto.management гётсе (jako signal, pozadavek na ovdreni nebo disociace). wlan.fc.type wlan.fc.subtype
250 Kapitola 6: Sniffovani bezdratovych siti pomoci Wiresharku Flags Pole „Flags" je 1 bajtove pole v kontrolni hlavidce ramce, wlan.fc.flags ktere specifikuje osm ruznych voleb гётсе. Wireshark toto pole dale rozebira do poll, z nichz kazde obsahuje jedined- nou volbu, jak je popsano nize. DS Status Pole„Distribution System Status" pfedstavuje smer, ve kte- wlan.fcds rem ramec cestuje. Wireshark reprezentuje dvd jedinecna pole jako jeden zobrazeny zaznam: From DS a To D S Kdyz je From DS nastaveno na / a To DSje 0, гпатепё to, ze ramec cestuje z pfistupoveho bodu do bezdratove sit£. Kdyz je From DS nastaveno na 0 a To DSje 1, femec cestuje od bez- dfetoveho klienta smerem к pfistupovemu bodu. More Fragments Pole, More Fragments" v hlavicce pfiznaku se pouziva wlan.fc.flag pro urceni, zda se maji opetovne sestavit dalsf fragmenty мтсе, aby bylo mozno zpracovat cely ramec. Toto pole se nepouziva das to. Retry Pole„Retry" v hlavidce pfiznaku se pouziva pro urceni, zda je wlan.fc.retry aktualni ramec opakovane pfenaSen. Kdyz je ramec pfene- sen poprve, je bit retry vynulovan. Pokud paket neni korekt- пё prijat, vysilajici stanice ramec odesle znovu a nastavi bit retry tak, aby odpovidal aktualnimu stavu. Power Pole „Power Management' v hlavicce pfiznaku se pouziva wlan.fc.pwrmgmt Management pro urceni, zda se stanice chysta vstoupit do stavu „spanku* ve kterem snizi miru sve ucasti v siti, cimz se pokusi usetf it vykon. More Data Pole„More Data" v hlavicce pfiznaku je pouziv^no pi istupo- vym bodem a urduje, ze stanice pfijimaji'ci ramce ma v buf- feru vice ramcu dekajicich na dorudeni. Pole„More Data" se dasto pouziva po probuzeni stanice z usporneho rezimu pro doruceni veskereho docasne odlozeneho provozu. wlan.fc.moredata Protected Pole.Protected" v hlavicce pfiznaku je pouzivano pfistu- povym bodem pro oznadeni, ze obsah ramce je sifrovan pomoci Sifrovaciho mechanismu IEEE 802.11. Vdase psani teto knihy pole „protected" udavalo, zda je datovy naklad Sifrovan s pouzitim protokolu Wired Equivalent Privacy (WEP),Temporal Key Integrity Protocol (TKIP) nebo Coun- ter Mode s Cipher Block Chaining Message Authentication Code Protocol (CCMP). wlan.fc.protected Order Pole „Order" v hlavicce pfiznaku se pouziva pro sdeleni, wlan.fc.order ze pfenos ramcu by se mel odehrat v pfesnё stanovenem pofadi, coz stanici zabranuje ve zmene pofadi dorudeni ramcu pro zlepSeni vykonu nebo operadni spfevy.Toto pole se nepouziva dasto.
Analyza bezdratoveho provozu 251 Nazev pole Popis Nazev pro pouziti ve zobrazovacim filtru Duration Pole„Duration“ nasleduje po kontrolni hlavicce ramce a ma jednu nebo dve funkce. Ve vetSine ramcu pole.Duration" specifikuje mnozstvi Casu potfebneho к dokonCeni pfeno- su ramce v mnozstvi mikrosekund. AvSak pri asociaci s pfi- stupovym bodem pole„Duration* oznacuje asociaCni iden- tifikator (tzn. jedinecnou hodnotu pfifa. enou kazde stanici pripojene к pfistupovemu bodu). wlan.duration Address Fields HlaviCka IEEE 802.11 obsahuje jedno pole„Address Field* (adresa pfijimaCe nebo cile), pokud je typ ramce kontroln zprava, a tfi pole „Address Field* pro bezna data nebo pro- voz spravy (zdroj, cil a zakladni SSID [BSSID]). Bezdratove site LAN, ktere propojuji nekolik siti dohromady, take obsa- huji Ctvrtou adresu. Aby to nebylo tak jednoduche, pofadi techto adres neni staid a zmeny zalezi na nastaveni pfizna- ku From DS a To DS v kontrolni hlavicce ramce. NaStesti vsak Wireshark spravne reprezentuje vsechna tato pole, Cimz nam umoznuje pouziti filtru se spravnym nazvem pro zob- razeni. wlan.da (cil), wlan. sa (zdroj), wlan.bssid (BSSID), wlan.ra (pfi- jimaC) Fragment Num- ber Pole „Fragment Number* (FN) je dislo v posloupnosti, ktere se pouziva pro jedinecnou identifikaci fragmentu ramce a zacina vzdy Cislem 0. Toto pole se nepouziva casto. wlan.frag Sequence Num- ber Pole„Sequence Number* (SN) je cislo v posloupnosti, ktere se pouziva pro identifikaci celeho ramce a zaCina Cislem 0. Kazdy ramec pfenaSeny stanici by mel mit sekvenCni cislo, ktere je о 1 vetsi, nez Cislo u pfedchoziho ramce, dokud se CitaC u hodnoty 4095 nezalomi. wlan.seq Jak bylo drive uvedeno, existuji dalsi pole hlavicky, ktera nasleduji po hlavicce IEEE 802.11, a Wireshark analyzuje obsah i techto hlavicek. Nase znalosti poli v hlavicce IEEE 802.11 vyuzijeme v dalsi sekci, kde na zachycena data aplikujeme uzitecne zachytavaci filtry. Potential zobrazovacich filtru Jednou z nejvykonnejsich a nejuzitecnejSich funkci Wiresharku je schopnost pouzivat inkluzivni a exkluzivni zobrazovaci filtry na zachycene pakety, diky kterym je mozne zmensit pocet paketu jen na ty, ktere obsahuji uziteCna data. Pfi zachytavani provozu v bezdratovych sitich snadno dojde к tomu, ze budete pfehlceni obrovskym mnozstvim zachycenych dat. (Jako absolutni minimum muzeme u bezdratovych siti povazovat hodnotu 10 ramcu za vtefinu predtim, nez se jedina stanice pripoji к siti.) S pouzitim zobrazovacich liltru muzete vyloucit nezajimavy datovy provoz a odhalit tak uzitecne informace nebo prohledat velky pocet zachycenych paketu pro specificke informace. V teto sekci si ukazeme pouziti nekolika uzitecnych zobrazovacich filtru pro analyzu bezdratoveho provozu. Soustredime se na pouziti nasich znalosti hlavicek IEEE 802. Ila statistickeho obsahu ramcu к pouziti filtru specifickych pro bezdratova data, ktere muzeme vyuzit v praxi.
252 Kapitola 6: Sniffovani bezdratovych siti pomoci Wiresharku Provoz pro urcity Basic Service Set Bezdratova sit’ standardu IEEE 802.11 s pfistupovym bodem poskytujicim konektivitu vice klien- tum je znama jako Basic Service Set (BSS - Sada zakladnich sluzeb). Je to nejbeznejsi implementace bezdratovych siti LAN a pouziva se temef vsude, od firemnich siti po prostfedi hotspotu a vysoce zabezpecene vladni instituce. Kazdy bezdratovy pfistupovy bod je jedinecne oznacen identifikatorem Basic Service Set Identifier (BSSID). Pfipomenmesi, ze BSSID je jednou z adres, ktere najdeme v hlavicce IEEE 802.11, a jepfi- tomen v kazdem datovem ramci nebo ramci pro spravu pfenasenim bezdratovou stanici nebo pfi- stupovym bodem pro jedinecnou identifikaci bezdratove site LAN. Kdyz je provoz zachytavan v monitorovacim modu, bezdratova karta hlasi vsechny platne ramce IEEE 802.11 pro specificky kanal, bez ohledu na BSSID nebo pouzivany nazev site. Tyto ramce mohou obsahovat i provoz ze sousednich kanalu, nebot’ mnoho bezdratovych karet ma dostatecnou citli- vost pro zachytavani provozu z blizkych frekvenci (neni vzacnym ukazem, kdyz bezdratova karta na kanalu 3 zachytava data z kanalu 1, 2, 3, 4 a 5). Tip: Adresa BSSID je casto stejna jako adresa Medium Access Control (MAC) bezdratove karty na pristupovem bodu, kdyz je nakonfigurovan jeden nazev site. Pri pouziti vice nazvO site nebo kdyz jsou nastaveny virtual™ pristupove body, adresa BSSID muze byt podobna adrese MAC bezdrato- ve karty pristupoveho bodu s mirnou odchylkou (casto je zmenen posledni bajt adresy). Kdyz provadite analyzu v ramci feseni problemu, tak chcete tuto analyzu omezit na provoz smerovany na konkretni pfistupovy bod nebo pochazejici z nej, pficemz tento pfistupovy bod poskytuje sluzby problematickemu klientu. S pouzitim zobrazovacich filtru muzete snadno vyloucit provoz blizkych pfistupovych bodu a zamefit se na analyzu specifickeho pfistupoveho bodu. V tomto zobrazovacim filtru je cilem identifikovat vsechen provoz pro jediny pfistupovy bod. Urceni adresy MAC stanice Zacneme ziskanim adresy MAC stanice, u ktere se snazime vyfesit problem, nebo jakekoliv stanice, ktera je pfipojena к cilovemu BSS. Na systemech Windows muzeme tuto informaci ziskat zadanim pfikazu ipconfig/all v pfikazovem fadku (viz obrazek 6.4). Na linuxovych systemech pouzijte pfikaz ifconfig -a, kterym zjistite adresu MAC (viz obrazek 6.5). Obrazek 6.4 Informace о adrese MAC na syst£mu Windows
Analyza bezdratoveho provozu 253 Obrazek 6.5 Informace о adrese MAC na systemu Linux Jakmile jsme urcili spravnou adresu stanice, muzeme ji pouzit pro aplikaci zobrazovaciho filtru na zachycene pakety. Filtr pro adresu MAC stanice Kdyz otevrete soubor zachycenych dat, aplikujte zobrazovaci filtr pro zobrazeni provozu pouze z kli- entske stanice s pouzitim zobrazovaciho nazvu pole wlan.sa. Za pfedpokladu, ze adresa MAC stanice je 00:09:5b:e8:c4:03, by zobrazovaci filtr vypadal takto: wlan.sa eq 00:09:5b:e8:c4:03 Pfiklad zachycenych paketu zobrazujici vysledky tohoto filtru je znazornen na obrazku 6.6. Obrazek 6.6 Filtrovani podle zdrojove adresy MAC
254 Kapitola 6: Sniffovani bezdratovych siti pomoci Wiresharku Z okna Display Filter vidime, ze z celkoveho poctu 1141 ramcu bylo vraceno 125 ramcu. Kdyz vsak prozkoumame okno Packet Details pro vybrany ramec, vidime, ze BSS1D je adresa vsesmeroveho vysilani To proto, ze vybrany ramec je paketem probe request (zadost о sondaz), ktery je pouzivan klientem jako mechanismus pro objeveni siti v dane oblasti. Muzeme nas zobrazovaci filtr upravit tak, aby vracel pouze provoz urceny pro konkretni pristupovy bod. Vylepsime tedy zobrazovaci filtr tak, aby vracel pouze ramce s adresou MAC nasi stanice jako zdroiem, ktere nejsou urceny pro BSSID vsesmeroveho vysilani. Zobrazovaci filtr bude nyni vypadat takto: wlan.sa eq 00:09:5b:e8:c4:03 and wlan.bssid ne ff:ff:ff:ff:ff:ff Aktualizovany filtr muzete videt na obrazku 6.7. Filtrovanipodle BSSID Z pfedchoziho filtru vidime, ze BSSID stanice se specifikovanou zdrojovou adresou je 00:ll:92:6e: cf:00. Muzeme pouzit tuto informaci к aplikaci filtru pouze pro toto BSSID, abychom vyloucili pro- voz ze vsech dalsich pristupovych bodii: wlan.bssid eq 00:11:92:6e:cf:00 Posledni filtr vylouci veskery provoz, ktery neni urcen konkretne tomuto pfistupovemu bodu, coz nam umozni soustfedit nasi analyzu na tuto konkretni sit’. Obrazek 6.7 Filtrovani podle zdrojove adresy MAC a BSSID
Analyza bezdratoveho provozu 255 Obrazek 6.8 Filtrovani podle BSSID Provoz pro specificky Extended Service Set Filtrovani pro konkretni BSS je uzitecne, kdyz potfebujete zuzit feseni problemu na konkretni pfistu- povy bod; nejprve byste se vsak meli na vasi sit’ podivat ze sirsiho uhlu pohledu a vyhodnotit provoz vsech pfistupovych bodu ve vasem souboru zachycenych dat. Skutecne mnoho problemu bezdratovych siti ma co do cineni s tzv. roamingem mezi pfistupovymi body, coz nas nuti ke zhodnoceni provozu z vice pfistupovych bodu. Nastesti zobrazovaci filtry Wiresharku nam mohou opet pomoci. Kdyz nastavite a nasadite do provozu bezdratovou sit’, kazdy pfistupovy bod je nakonfigurovan s jed- nim nebo vice nazvy site (nebo SSID), take znamymi jako Extended SSID (ESSID). Kdyz nasadite nekolik pfistupovych bodu, ktere maji umoznit klientum plynule pfechazeni mezi temito pfistupo- vymi body, na vsechny pfistupove body se stejnym SSID je nahlizeno jako na ucastniky v Extended Service Set (ESS). V pfikladu se zobrazovacim filtrem bylo nasim cilem identifikovat vsechen provoz pro specilicky ESS identifikovany pomoci SSID nebo nazvu site. Bohuzel vsak nemuzeme pouzit filtr pro urceni vsech ramcu pro dane SSID, nebot’ mnoho ramcu pro spravu a vsechna data kontrolnich ramcu neobsa- huji informaci о SSID. Namisto toho muzeme provest vycet vsech BSSID pro specificky SSID, aby- chom vytvofili inkluzivni filtr. Filtrovanipodle SSID Frvnim krokem je pouziti filtru pro cilovy SSID. Jak bylo dfive zmineno, takto nam budou vraceny pouze ramce pro spravu, ktere obsahuji element informace SSID; avsak takto ziskame seznam vsech pfistupovych bodu pouzivajicich tento SSID pro dalsi filtrovani.
256 Kapitola 6: Sniffovani bezdratovych siti pomoci Wiresharku SSID je obsazen v datovem nakladu signalnich ramcu, ramcu odpovedi na sondaz a ramcu se zadosti о ovefeni. Presurite se do tohoto pole pomoci vyberu libovolneho signalniho ramce, bezte do okna Packet Details a pote do IEEE 802.11 Wireless LAN Management Frame -» Tagged Parameters -> SSID Parameter Set Tag Interpretation. Zobrazovaci nazev tohoto pole bude odkryt jako wlan_ mgt.tag.interpretation (viz obrazek 6.9). Muzeme pouzit zobrazovaci filtr pro identifikaci vsech paketu, ktere obsahuji SSID ,,NOWIRE“: wlanjngt.tag.interpretation eq "NOWIRE" Dulezite: Vsechny retezcove odkazy ve Wiresharku vcetne SSID jsou case-sensitive. Pfi pouziti libovolneho filtru, ktery obsahuje fetezec, se ujistete, ze zadavate fetezec se spravnou velikosti pisma (tedy mala ci velka pismena). Obrazek 6.9 Zobrazeni znackovaneho parametru SSID Vylouceni kazdeho BSSID Jakmile jsme pouzili filtr podle SSID, zachytavani bylo omezeno na ramce pro spravu (vetsinou sig- nalni ramce). Protoze nas cil je identifikace veskereho provozu pro ESS, potfebujeme upravit filtr tak, aby identifikoval provoz pro kazdou BSS. Nastesti zobrazovaci filtr pro SSID odhalil seznam pfistupo- vych bodu se specifickym SSID, coz nam umoznuje identifikovat BSSID pro kazdy pfistupovy bod. Abychom se ujistili, ze mame uplny seznam vsech BSSID, zacneme pouzitim exkluzivnich filtru pro kazdy BSSID. Klepnete na libovolny signalnt ramec a pfesunte se do pole BSSID klepnutim na IEEE 802.11 BSS Id. S pouzitim zobrazovaciho nazvu pole, wlan.bssid, pridejte exkluzivm zobrazovaci filtr к existujicimu zobrazovacimu filtru pro dany BSSID. Napfiklad pokud BSSID je 00:02:2d:37:4f:89, nas zobrazovaci filtr bude vypadat takto:
Analyza bezdratoveho provozu 257 wlan_ mgt. tag. interpretation eq " NOWIRE" and !( wlan. bssid eq 00: 02: 2d: 37: 4f: 89) Vsimnete si, ze v tomto zobrazovacim filtru pouzivame vykricnik jako operator negace a testovani na BSSID je rovno zadane adrese. Takto nam budou efektivne vraceny vsechny ramce s odpovida- jicim SSID krome tech pro zadane BSSID. Protoze nasim cilem je zahrnout pouze provoz z techto BSSID, negujeme zobrazovaci filtr vykricnikem, coz snadno zvrati efekt zobrazovaciho filtru pros- tym odstranenim vykficniku. Nyni tento krok zopakujemc pro kazdy ze zbyvajicich ramcu v zachycenych paketech, a to vyberem dalsiho BSSID a jeho pfidanim do seznamu vyloucenych polozek. Napfiklad pokud je dalSim BSSID 00:40:05:df:93:c6, bude pfidan do seznamu vyloucenych polozek: wlan_mgt.tag.interpretation eq "NOWIRE" and ’(wlan.bssid eq 00:02:2d:37:4f:89 or wlan.bssid eq 00:40:05:df:93:c6) Opakujte tento proces, dokud nedojde к tomu, ze ve zobrazenych datech nebudou zadne zbyvajici pakety. Inverzni filtr Nyni by nas zobrazovaci filtr nemel zobra/ovat zadne pakety. Podai ilo se nam efektivne urcit kazdy pristupovy bod v zachycenych paketech, ktery je asociovan se zadanym SSID. Nyni muzeme upravit soubor zachycenych dat, aby obratil exkluzivni filtr na poli wlan.bssid tak, aby zahrnoval vsechny zadane adresy. Napfiklad pokud nase zachycene pakety nyni vypadaji takto: wlan_mgt.tag.interpretation eq "NOWIRE" and ’(wlan.bssid eq 00:02:2d:37:4f:89 or wlan.bssid eq 00:40:05:df:93:c6 or wlan.bssid eq 00:40:96:36:80:f0) muzeme je upravit tim, ze odstranime filtr na poli wlan_mgt. tag. inter pre tat ion a take vykricnik pfed seznamem BSSID: (wlan.bssid eq 00:02:2d:37:4f:89 or wlan.bssid eq 00:40:05:df:93:c6 or wlan.bssid eq 00:40:96:36:80:f0) Pouziti tohoto iiltru vrati vsechen provoz pro zadane BSSID, efektivne vylucujici vsechen provoz sou- sedicich siti, ktere nejsou casti puvodne zadaneho SSID. To nam umozni soustfedit analyzu pouze na provoz na sitich asociovanych s pocatecnim SSID. Tip: Po pouziti duleziteho zobrazovaciho filtru (jako toho ukazaneho v priklad u) je rozumn£ ulozit vysledne pakety do noveho souboru zachycenych dat. Takto muzete zhodnotit vysledek vaseho filtru pozdeji bez nutnosti opakovani filtrovacho procesu. Extrahovane pakety ulozite klepnutim na polozku File -> Save As a naslednym klepnutim na tlacitko Displayed. Zadejte prisluSny nazev souboru pro vysledky zobrazovaciho filtru a klepnete na tlacitko Save. Muzete take ulozit samotny zobrazovaci filtr klepnutim na Analyze -» Display Filters. Zadejte n^zev zobrazovaciho filtru v textovem poli„Filtername“ a klepnete na tlacitko Save. Kdyz chcete pozdeji vyvolat tento filtr, bezte na Analyze Display Filters a poklepejte na nazev pozadova- neho zobrazovaciho filtru. I tehdy, kdyz neni к siti pfipojena zadna stanice, bude pfistupovy bod vysilat alespon deset paketu za vtefinu, kterymi ohlasuje svou pfitomnost a moznosti site. Tyto signaim ramce jsou zcela zasadm soucasti jakekoliv bezdratove site, avsak mohou komplikovat vyhodnocovani zachycenych paketu, pokud vas tyto signalni ramce nezajnnaji.
258 Kapitola 6: Sniffovani bezdratovych siti pomoci Wiresharku Nastesti muzeme snadno pouzit zobrazovaci filtry pro vylouceni techto ramcu. V окпё Packet Details Wireshark identitikuje pole type a subtype v hlavidce IEEE 802.11. Vybranim signalniho ramce muzeme videt. ze type ma hodnotu 0 a subtype ma hodnotu 4 (viz obrazek 6.10). Obrazek 6.10 Hodnoty Type a Subtype signalniho ramce Tyto ramce muzeme vyloucit pouzitim zobrazovaciho filtru uvedeneho nize: I(wlan.fc.type eq 0 and wlan.fc.subtype eq 8) Wireshark nam take dava к dispozici pole „Type and Subtype Combined", ktere muzeme rovnez pouzit pro filtrovani. Namisto pouziti filtru podle poh Type a Subtype muzeme pouzit filtr podle pole Combined Type and Subtype timto zpusobem: wl an.fc.type_subtype ne 8 Nastroje a pasti Vyjadreni typu bezdratovych гатей Pfi vyhodnocovani paketu zachycenych v bezdratovych siti Wiresharkem se bezne pouzivaji zobrazovaci filtry pro vyhledani nebo vylouceni urcitych ramcu podle typu a podtypu ramcu dekinovanych v IEEE 802.11. Pokud zkousite vyloucit ramce ze zachycenych dat, muzete snad- no identifikovat pole Type a Subtype presunutim do okna Packet Details a pouzitim hodnot pro vas filtr. Pokud vsak hledate konkretni typ ramce, musite si zapamatovat bud’ hodnoty Type a Subtype, nebo hodnoty Combined Type/Subtype prifazene Wiresharkem. Necekame, ze si /apamatujete vice nez 35 hodnot pro ruzne typy ramcu, vypsali jsme je tedy do nasledujici tabulky:
Analyza bezdratoveho provozu 259 Typ nebo podtyp гйтсе Management Frames Control Frames Filtr wlan.fc.type eq 0 wlan.fc.type eq 1 Data Frames Association Request Association Response wlan.fc.type eq 2 wlan.fc.type_subtype eq 0 wlan.fc.type subtype eq 1 Reassociation Request Reassociation Response Probe Request wlan.fc.type_subtype eq 2 wlan.fc.type_subtype eq 3 wlan.fc.type subtype eq 4 Probe Response Beacon wlan.fc.type_subtype eq 5 wlan.fc.type subtype eq 8 Announcement Traffic Indication Map (ATIM) Disassociate wlan.fc.type_subtype eq 9 wlan.fc.type subtype eq 10 Authentication Deauthentication Action Frames wlan.fc.type_subtype eq 11 wlan.fc.type_subtype eq 12 wlan.fc.type subtype eq 13 Block Acknowledgement (ACK) Request Block ACK_____________ Power-Save Poll Request to Send wlan.fc.type_subtype eq 24 wlan.fc.type_subtype eq 25 wlan.fc.type_subtype eq 26 wlan.fc.type_subtype eq 27 Clear to Send ACK wlan.fc.type subtype eq 28 wlan.fc.type subtype eq 29 Contention Free Period End Contention Free Period End ACK Data + Contention Free ACK Data + Contention Free Poll Data + Contention Free ACK + Contention Free Poll wlan.fc.type_subtype eq 30 wlan.fc.type subtype eq 31 wlan.fc.type_subtype eq 33__________________ wlan.fc.type. subtype eq 34 wlan.fc.type_subtype eq 35 NULL Data______________________________ NULL Data + Contention Free ACK NULL Data + Contention Free Poll NULL Data + Contention Free ACK + Conten- tion Free Poll wlan.fc.type_subtype eq 36 wlan.fc.type_subtype eq 37 wlan.fc.type .subtype eq 38 wlan.fc.type_subtype eq 39 QoS Data QoS Data + Contention Free ACK QoS Data + Contention Free Poll QoS Data + Contention Free ACK + Contenti- on Free Poll wlan.fc.type_subtype eq 40 wlan.fc.type_subtype eq 41__ wlan.fc.type_subtype eq 42_____________ wlan.fc.type_subtype eq 43 NULL QoS Data______________________ NULL QoS Data + Contention Free Poll NULL QoS Data + Contention Free ACK + Contention Free Poll wlan.fc.type_subtype eq 44________ wlan.fc.type_subtype eq 46 __ wlan.fc.type_subtype eq 47
260 Kapitola 6: Sniffovani bezdratovych siti pomoci Wiresharku Pouze datovy provoz Vylouceni signalnich ramcu (beacon) snizi mnozstvi provozu v objemu zachycenych paketu, ale take zanecha mnoho dalsich typu paketu vcetne jinych ramcu pro spravu, kontrolnich ramcu a datovych ramcu. V nekterych pfipadech muzete chtit zkoumat pouze datovy provoz, abyste vcas odhalili pfi- padna rizika vyzrazem informaci v siti nebo v pripade mefeni efektivity klientskeho provozu. Proces pouziti zobrazovacich filtru na datovy provoz je podobny filtrovani signalnich гатей. Pfe- sunte se na datovy paket a prozkoumejte okno Packet Details, abyste videli pole paketu Type and Subtype Combined (viz obrazek 6.11). Obrazek 6.11 Typ a podtyp datoveho ramce Na obrazku 6.11 vidime, ze hodnota pole Type and Subtype Combined je 32. MGzeme pouzit toto pole pro aplikaci zobrazovaciho filtru, ktery zobrazi pouze pakety tohoto typu: wlan.fc.type_subtype eq 32 Zatimco zobrazovaci filtr je efektivnim fesenim pro vylouceni urciteho typu provozu, muze byt pro nektere analyticke йкопу pfilis omezujici. Pamatujte, ze pole Type and Subtype Combined je jedinec- ny identifikator pro obe hodnoty pole. Kdyz pouzijeme filtr pro zobrazeni pouze tech ramcu, ktere maji hodnotu pole Type and Subtype Combined rovnu cislu 32, vyloucime dalsi typy ramcu vcetne tech oznacenych jako QoS. Alternativni zobrazovaci filtr prozkouma pouze pole typu IEEE 802.11 bez odkazu na pole podtypu: wlan.fc.type eq 2 Priklad tohoto zobrazovaciho filtru muzete videt na obrazku 6.12.
Analyza bezdratoveho provozu 261 Obrazek 6.12 Pn'klad zobrazovaciho filtru S upravenym zobrazovacim filtrem muzeme videt vsechny datove ramce, bez ohledu na pole Subtype. V tomto pfikladu muzeme videt bezny datovy provoz (jako zadosti a odpovedi protokolu Internet Control Message Protocol), ale take mame datove ramce NULL. Datove ramce NULL jsou pouzi- vany nekterymi pfistupovymi body a kartami stanic pro vstup do energeticky usporneho rezimu, pfipadne se pouzivaji tesne pred pfepnutim frekvence pro skenovani dalsich blizkych siti. Pokud datove ramce NULL nejsou pro vasi analyzu uzitecne, muzete je vyloucit upravenim zobrazovaciho filtru do nasledujici podoby: wlan.fc.type eq 2 and 1(wlan.fc.subtype eq 4) Pokud tento zobrazovaci filtr odhali vice datovych podtypu, nez je nezbytne pro vasi analyzu, pfidejte dalsi filtry pro vylouceni techto dat mezi zavorky a oddelte je klicovym slovem or. Pouze nesifrovany datovy provoz Dalsi beznou analytickou technikou je identifikace bezdratoveho provozu, ktery neni sifrovan. Muze to byt uzitecne ve snaze odhalit spatne nakonfigurovana zarizeni, ktera by mohla odhalit citlive informace pfenasene po siti v nesifrovane podobe nebo pri auditu, jehoz cilem je pfesvedcit se, ze veskery bezdra- tovy provoz je sifrovan. Tato technika najde uplatnem take pri odhalovani neautorizovanych pfistupo- vych bodu, nebof vetsina techto nezadoucich zarizeni je nasazena bez pouziti sifrovani. Jak je mozno videt z analyzy hlavicky IEEE 802.11, jeden z bitu kontrolni hlavicky ramce je znam jako protected bit (puvodne znam spise pod nazvem WEP bit nebo privacy bit). Pokud je pouzit sif- rovaci mechanismus standardu IEEE 802.11 jako WEP, TKIP nebo CCMP, je protected bit nastaven na hodnotu /, v opacnem pfipade je to 0. Muzeme pouzit filtr s pouzitim tohoto pole pro identifi- kaci veskereho nesifrovaneho bezdratoveho provozu: W1 an.fc.protected ne 1
262 Kapitola 6: Sniffovani bezdratovych siti pomoci Wiresharku Obrazek 6.13 Vylouceni Sifrovanych ramcu Vzorek dat zachycenych s pouzitim tohoto zobrazovaciho filtru je videt na obrazku 6.13. Zatimco tento filtr ukazuje nesifrovany bezdratovy provoz, neni to prave nejefektivnejsi zobrazovaci filtr, protoze take odhaluje neSifrovane ramce pro spravu a kontrolni ramce. Protoze tyto typy ramcu jsou vzdy neSiirovane, mOzeine zobrazovaci filtr rozSifit tak, aby identifikoval nesifrovane datove ramce (nikoliv ramce pro spravu), a my tak ziskame skutecne podstatna data: wlan.fc.protected ne 1 and wlan.fc.type eq 2 Poznamka: V dobe vzniku teto knihy dostupne Sifrovaci mechanismy standardu IEEE 802.11 pro bezdratove site Sifrovaly pouze datove ramce,. pficemz neposkytovaly zSdnou formu ochrany duvernosti ramcu pro spravu. Toto by se vsak melo zmenit schvalenim dodatku к standardu IEEE 802.11 w, ktery byl navrzen pro rozsifeni zabezpeceni na datovy provoz spojeny s rezii a spra- vou site. Skupina IEEE 802.11w by mela tento dodatek s nazvem Protected Management Frames schvalit v dubnu roku 2008. Identifikace skrytych SSID Mnoho organizaci zacalo pouzivat skryvani SSID nebo branit svym pfistupovym boduin v ozna- movam SSID kazdemu, kdo chce tuto informaci ziskat. I kdyz toto opatreni poskytuje samo о sobe alespon minimalni zabezpedeni, je to neefektivni mechanismus kontroly pnstupu к siti. Mel by byt pouzivan ve spojeni se silnym sifrovanim a ovefovacimi mechanismy.
дпа1уга bezdratoveho provozu 263 Kdyz chce pf istupovy bod skryt sve SSID na siti, neodpovida na zadosti о sddleni nazvu site a odstra- nuje oznamovani SSID ze signalnich ramcu. Protoze je zahrnuti nejakeho indikatoru nazvu site do signalnich ramcu povinne (at’ uz opravnene ci nikoliv), vyrobci pristupovych bodu implemento- vali ruzne konvence pro skryvani SSID tim, ze jej nahradi jednim nebo vice znaky mezery nebo bajty NULL (jedna nebo vice 0) nebo SSID s nulovou delkou. Priklad skryteho SSID znazorneneho Wiresharkem muzete videt na obrazku 6.14. Obrazek 6.14 Skryty SSID s parametry znadek V tomto pripade bylo SSID site nahrazeno prazdnou hodnotou nulove delky. Zatimco takto muzeme zabranit prozrazeni SSID nahodnemu pozorovateli, stanice stale po siti vysilaji SSID v podobe pros- teho textu pokazde, kdyz jsou asociovany s bezdratovou siti. V tomto pfikladu vidime, ze BSSID site je 00:0b:86:c2:a4:89; muzeme tedy pouzit zobra/ovaci riltr pro tento BSSID a ramce s zadostmi о asociaci pro prozkoumani nazvu SSID zaslaneho klientem: wlan.bssid eq 00:0b:86:c2:a4:89 and wlan.fc.type_subtype eq 0 S pouzitim tohoto filtru odhalime vsechny zadosti о asociaci pro dany BSSID. Klepnutim na IEEE 802.11 Wireless LAN Management Frame -> Tagged Parameters -» SSID Para- meter Set muzeme videt SSID urcene klientskou stanici, ktera nam odhaluje SSID site guestnet (viz obrazek 6.15).
264 Kapitola 6: Sniffovani bezdratovych siti pomoci Wiresharku Obrazek 6.15 Odhalene SSID skryte site Zkoumame vymeny EAP Doposud jsme omezili pouziti zobrazovacich filtru na hlavicky IEEE 802.11 a datove naklady pro spravu. Wireshark umi take identifikovat a pouzivat zobrazovaci filtry na dalsi protokoly bezdrato- vych siti, a to vcetne protokolu Extensible Authentication Protocol (EAP). Protokol EAP se pouziva ve spojeni se sifovymi ovefovacimi mechanismy IEEE 802.lx pro ovefova- ni uzivatelu na bezdratove siti pomoci jedne nebo vice metod protokolu EAP. Obvykle mezi metody protokolu EAP pain Protected Extensible Authentication Protocol (PEAP), Extensible Authentica- tion Protocol s protokolem Transport Layer Security (EAP/TLS), Tunneled Transport Layer Security (TTLS) a Lightweight Extensible Authentication Protocol (LEAP). Prozkoumanim vymeny dat pro- tokolu EAP pomoci Wiresharku muzeme resit problemy souvisejici s ovefovanim uzivatelu, vyhod- nocovat slabiny v zabezpeceni a objevovat soucasti podilejici se na sitbve architeklufe. Pro identifikaci provozu protokolu EAP v souboru zachycenych dat pouzijte filtr pro protokol EAP Over LAN: eapol Tento filtr vrati veskery provoz protokolu EAP pfitomny v souboru zachycenych dat, vcetne zados- ti о ovefeni, vyjednavani identity, vymeny klicu a vyjednavanf о sifrovani a take zpravy о uspechu ci selhani dane akce. Nyni prozkoumame kazdy z mechanismu pro vymenu dat pomoci protokolu EAP. ldentifikace typu protokolu EAP Kdyz provadite audit bezdratove site, abyste identifikovali pfipadne chybne nakonfigurovanc klient- ske systemy, muzete potfebovat identifikovat metody protokolu EAP pouzite temito klienty. Metoda
Analyza bezdratoveho provozu 265 ~ * tAP je hlasena ve vymene EAP v poli typu protokolu EAP. Muzeme pouzit zobrazovaci filtr, ktery nam zobrazi ramce obsahujici tuto informaci: eap.type po pouziti tohoto filtru vyberte ramec a pfesunte se do pole EAP type klepnutim na 802.lx Authen- tication Extensible Authentication Protocol -> Type v okne Packet Details. Wireshark identifi- kuje ciselnou hodnotu pro typ EAP a pfijmeni hlavniho autora z Internet Engineering Task Force (IETF), ktery vyvinul navrh popisu typu EAP. Na obrazku 6.16 muzeme videt, ze typ EAP ma hod- notu 25, coz znamena protokol PEAP. Vyhodnoceni rizika odhaleni uzivatelskych jmen Metody protokolu EAP, ktere spolehaji na overovani na zaklade uzivatelskeho jmena a hesla, zahrnuji PEAP, TTLS a LEAP. Tyto metody mohou odhalit informace о identite uzivatele (napf. uzivatelske imeno), ktere jsou bezdratovou siti pfenaseny v podobe prosteho textu. Tato skutecnost muze pro nektere organizace pfedstavovat riziko odhaleni informaci, nebof umoznuje utocnikovi ziskat seznam platnych uzivatelskych jmen, coz muze byt solidni zaklad pro dalsi utoky proti bezdratove siti. Wireshark umoznuje identifikaci uzivatelskych jmen, ktera jsou odhalena na siti, a to pomoci pro- zkoumani poli EAP Type a hledani specialni hodnoty signalizujici, ze v ramci jsou obsazeny infor- mace о identite. Mechanismus EAP pouziva pocatecni zadost EAP Identity Request od pfistupoveho bodu nebo klienta pro vyzadam informaci о identite. Po teto zadosti nasleduje zpravidla odpoved’ve forme EAP Identity Response, ktera obsahuje informace о identite. Muzeme pouzit zobrazovaci filtr, ktery nam vrati pouze zpravy EAP Identity Response pomoci filtrovam poli EAP type a EAP code: eap.type eq 1 and eap.code eq 2 Obrazek 6.16 Identifikace typu EAP
266 Kapitola 6: Sniffovani bezdratovych siti pomoci Wiresharku Ve vzorku zachycenych dat zobrazenem na obrazku 6.17 vidime, ze informace о identite byla odha- lena jako uzivatelske jmeno jwright. Obrazek 6.17 Odhaleni' identity EAP Obrazek 6.18 Odhaleni identity Cisco LEAP
Analyza bezdratoveho provozu 267 Vyznamnou vyjimkou z tohoto pravidla pro identifikaci informace о identite EAP je pfipad nestan- dardniho typu EAP; konkretne protokol LEAP. Pfi vymene informaci protokolem LEAP neprobiha vyrn£na informaci о identitd pomoci typu EAP Identity; spise je tato informace obsazena v ramcich zadosti a odpovedi protokolu EAP, resp. v jejich datovych castech. Muzeme nas zobrazovaci filtr upravit tak, aby byl schopen se tomuto rozporu pf izpusobit tim, ze bude identifikovat take provoz protokolu LEAP s doplnujici vyjimkou pro typ LEAP EAP (viz obrazek 6.18). Na obrazku 6.18 vidime, ze typem EAP je LEAP a informace о identite je odhalena jako CORP\ndo- anhuy. Z teto informace о identitd muzeme take odvodit, ze cilova sit’ pouziva infrastrukturu Micro- soft Windows s nazvem domeny CORP. Identifikace selhani ovefeni protokolem EAP fteseni problemu s ovefovanim na bezdratovych sitich muze pfedstavovat znacnou vyzvu a casto vyzaduje pouziti snifferu pro zjistem, zda к seihanim dochazi na strand klienta ci site. Wireshark samozfejme muze asistovat poskytnutim tdchto informaci pomoci identifikace zprav о selhani ove- feni protokolu EAP. Obrazek 6.19 Oznameni о selhani EAP Pole kodu protokolu EAP je pfitomno ve vsech paketech EAP a pouziva se pro urceni obsahu zprav, ktere nasleduji. V soucasnosti existuji ctyfi kody EAP: ♦ Code 1 - EAP Request - hodnota 1 v poli EAP Code znamena, ze ramec EAP pozaduje infor- maci od pfuemce. Tou muze byt informace о identitd, obsah vyjednavani sifrovani nebo text odezvy na vyzvu. ♦ Code 2 - EAP Response - hodnota 2 v poli EAP Code znamena, ze ramec F.AP odpovida na ramec EAP Request.
268 Kapitola 6: Sniffovani bezdratovych siti pomoci Wiresharku ♦ Code 3 - EAP Success - hodnota 3 v poli EAP (iode znamena, ze predchozi ramec EAP Respon- se byl uspeSny. Primarne se tato zprava pouziva jako odpoved’na ovefovaci zpravy. ♦ Code 4 - EAP Failure - hodnota 4 v poli EAP Code znamena, ze predchozi ramec EAP Respon- se selhal pfi ovefovani. Pro identifikaci selham protokolu EAP muzeme pouzit zobrazovaci filtr: eap.code eq 4 Vysledek tohoto zobrazovaciho filtru na vzorku zachycenych paketu je zobrazen na obrazku 6.19. Na obrazku 6.19 muzeme videt tri chyby ovefovani oddelene pfiblizne 8- a 7vtefinovymi interval» Take muzeme videt, ze bit From DS je nastaven v hlavidce IEEE 802.11 a znamena, ze zprava о chy- be pfichazi z pfistupoveho bodu. Z techto taktu muzeme odvodit, z.e zprava о selhani pochazi z kli- entskeho systemu, a nikoliv ze site. Identifikace vlastnosti vyjedndvdni klicu Nektere metody protokolu EAP vyjednavaji tunel protokolu Transport Layer Security (TLS) pfed vymenou ovefovacich informaci, aby tak ochranily citliva data ovefovacich protokolu. Aby mohl byt tunel TLS vytvofen, musi byt pfenesen z pfistupoveho bodu ke stanici alespoii jeden certifikat. Muzeme pouzit Wireshark к prozkoumani tohoto certifikatu a pripadne take ke zjiStdni dalsich cit- livych informaci о siti, vdetnd nazvu a adresy organizace. Nejprve pouzijte zobrazovaci filtr pro urceni tech dasti vymeny dat EAP, ktere slouzi к vymene obsa- hu digitalnich certifikatu protokolu Secure Sockets Layer (SSL): eap and ssl.handshake.type eq 11 Obrazek 6.20 Obsah digit£lniho certifikatu SSL
Analyza bezdratoveho provozu 269 Tento filtr zobrazi pouze provoz protokolu EAP s vestavenou informaci protokolu SSL, ktera obsa- huje i typ vymeny SSL handshake zahrnujici digitalni certifikat (typ 11). Po vyberu ramce se pre- sunte do okna Packet Details a klepnete na 802.1 lx Authentication -> Extensible Authentication Protocol Secure Socket Layer TLS Record Layer: Handshake Protocol: Certificate Certifi- cate -> Certificate -> signedCertificate -> Extensions -> AuthorityKeyldentifier Item directo- ryName -> rdnSequence. Takto odhalite obsah digitalniho certifikatu, v nemz najdete nazev zeme, statu a pfipadne i adresu a nazev organizace, ktere byl tento certifikat pfidelen. Vzorek zachycenych paketu, ktery odhaluje obsah certifikatu, je znazornen na obrazku 6.20. Na obrazku 6.20 vidime, ze certifikat obsahuje nazev organizace Internet Widgits Ply Ltd s identifi- katorem zeme AU (Australie) a nazev statu nebo provincie je Sotne-State. Identifikace bezdratovych sifrovacich mechanismu Skupina pro analyzu IT odvetvi Gartner zvefejnila zpravu, ve ktere se mimo jine fika, ze 70 procent uspesnych iitoku proti bezdratovym sitim LAN je kvuli nespravne konfiguraci pnstupovych bodu a bezdratovych klientu. Neni tak tezke teto prognoze uvefit; mnoho organizaci nasazuje bezdratove site, aniz by je po zprovozneni podrobily auditu pomoci nastroje, jakym je napfiklad Wireshark. Kvuli komplexite bezdratovych pfistupovych bodu a klientskych systemu je velmi snadne udelat chybu pfi nastavovani systemu, ktera vystavi zafi/em na milost ci nemilost slabym siirovacim mechanismum, nebo dokonce zadnemu sitrovani. Pomoci Wiresharku muzeme zhodnotit zachycene pakety a identifikovat tak bezpecnostni mecha- nismy pouzite pro ochranu site. Naucili jsme se, jak identifikovat pouzite overovaci mechanismy prozkoumanim provozu protokolu EAP, takze nyni muzeme prozkoumat i sifrovaci mechanismy pomoci zobrazovacich filtru. Bezne Sifrovaci mechanismy bezdratovych siti zahrnuji standardni protokoly pro sifrovani bezdrato- vych siti LAN, jako jsou WEP, TKIP, CCMP, a take sifrovaci mechanismy vyssich vrstev jako Secure Internet Protocol (IPSec) a Virtual Private Network (VPN). Prozkoumame vsechny tyto mechanismy a podivame se, jak muzeme pomoci analyzy zachycenych dat zjistit pouzite sifrovaci protokoly. Identifikace protokolu WEP Protokol WEP je pfevladajicim sifrovacim mechanismem pouzivanym к ochrane bezdratovych siti, zaroven je vsak povazovan za nejmene bezpecny protokol. Wireshark jednoznacne identifikuje pro- voz sifrovany protokolem WEP pomoci dekodovani 4bajtove hlavicky WEP, ktera nasleduje po hla- vidce IEEE 802.11. Provoz WEP muzeme urcit identifikaci libovolnych ramcu, ktere obsahuji povin- ny inicializacni vektor (IV): wl an.wep.i v Vzorek zachycenych paketu, na ktere byl pouzit tento zobrazovaci filtr, vidite na obrazku 6.21. ireshark identifikuje hlavicku WEP a hodnotu IV spolecne s hodnotou indexu klice a hodnotou kontroly integrity (ICV - Integrity Check Value).
270 Kapitola 6: Sniffovani bezdratovych siti pomoci Wiresharku Obrazek 6.21 Identifikace provozu WEP Identifikace protokolu TKIP a CCMP Protokol TKIP je nastupcem protokolu WEP a je navrzen jako softwarovy upgrade hardwarovych zarizeni, ktera jsou sestavena s podporou protokolu WEP. Protoze TKIP byl navrzen tak, aby pracoval i na starsich zarizenich pouzivajicich WEP, pouziva TKIP stejny zakladni sifrovaci protokol, kterym je RC4. A zatimco RC4 je stale povazovan za bezpecny, neni jiz prijatelny jako sifrovaci mechanis- mus pro pouziti vladnimi agenturami USA. Alternativou je pouziti protokolu CCMP, ktery vyuziva sifru Advanced Encryption System (AES). Stejne jako WEP, TKIP i CCMP pouzivaji hlavicku sifrovaciho protokolu umistenou za hlavickou IEEE 802.11. Tato hlavicka je upravena ze stare hlavicky WEP a umoznuje nam identifikovat, zda je pouzit protokol TKIP nebo CCMP, ale neumoznuje mezi nimi rozlisovat; prozkoumanim hlavicky muzeme pouze zjistit, ze je jeden z techto protokolii pouzivan. Muzeme pouzit zobrazovaci filtr pro identifikaci teto hlavicky tim, ze budeme liltrovat rozsifene pole IV: wlan.tkip.extiv Prestoze v tomto zobrazovacim filtru pouzivame tkip, neni mozne prozkoumanim hlavicky zjistit rozdil mezi TKIP a CCMP. Vzorek zachycenych dat zobrazenych po pouziti filtru a hlavicku TKIP/ CCMP vidite na obrazku 6.22. Diky pouziti tohoto filtru nyni vime, ze pro tento BSS se pouziva protokol TKIP nebo CCMP. Aby- chom vsak zjistili, ktery z techto protokolu se pouziva, budeme muset prozkoumat data v signalnim ramci. Signalm ramec teto site zjistime pomoci zobrazovaciho filtru s pouzitim BSSID urceneho timto filtrem a prozkoumanim paketu s typem/podtypem ramce oznacujicim signalni ramec. wlan.bssid eq 00:0f:66:e3:e4:03 and wlan.fc.type_subtype eq 8
Analyza bezdratoveho provozu Obrazek 6.22 Identifikace provozu TKIP nebo CCMP Obrazek 6.23 Identifikace sifrovacich sad pro provoz vicesmeroveho a jednosmeroveho vysilani - ovefovaci mechanismus Po pouziti tohoto filtru se pfesunte na oznaceny informacni element signalniho ramce klepnutim na (EEE 802.11 Wireless LAN Management Frame Tagged Parameters. Najdete informacni ele
272 Kapitola 6: Sniffovani' bezdratovych si'ti pomoci'Wiresharku ment oznaceny jako „Vendor Specific: WPA” nebo „RSN Information’. Informacni element „Wi-Fi Protected Access” (WPA) znamena, ze pfistupovy bod prosel testovacim certifikacnim programem navrzenym organizaci WiFi Alliance (WFA), znamym jako WiFi Protected Access (WPA), zatimco informadni element RSN znamena, ze pfistupovy bod ma implementovan standard Robust Secu- rity Network (RSN) do doplnku 802.1 li. V obou pfipadech rozbalte informacni element a poznate sifrovaci mechanismus pouzivany pro provoz jednosmeroveho i vicesmeroveho vysilani (bud AES indikujici sifru CCMP, nebo TKIP). Muzeme take zjistit mechanismus pro odvozovani klice (zpu- sob, jakym jsou generovany dynamicke klide) pouzivany na siti, a to prozkoumanim hodnoty vedle fetezce auth key management suite-, najdete zde bud’hodnotu PKI oznacujici pre-shared key (sdileny klic), nebo WPA urcujici odvozeni klice podle serveru Remote Authentication Dial-In User Service (RADIUS) pomoci IEEE 802.lx. Vzorek zachycenych paketu na obrazku 6.23 demonstruje informacni element signalmho ramce ozna- cujici informace о sifrovani. V tomto pfikladu vidime, ze informacni element „Vendor Specific: WPA”, ktery oznacuje sifrovaci sady jak pro jednosmerovy, tak vicesmerovy provoz, pouziva algoritmus TKIP spolecne s Pre-Shared Key (PSK) jakozto sadu mechanismu pro spravu ovefovacich klicu. Identifikace IPSec/VPN Nektere bezdratove site nepouzivaji standardni sifrovaci mechanismy standardu IEEE 802.11 a mis- to toho upfednostnuji sifrovaci mechanismy vyssich vrstev, jako napf. protokol IPSec. Wireshark umi tento typ sifrovacich mechanismu identifikovat pomoci zobrazovacich filtru pro jakykoliv pro- tokol spojeny s IPSec, jako Internet Security Association and Key Management Protocol (ISAKMP), Encapsulation Security Payload (ESP) nebo protokol Authentication Header (AH). Abyste urcili pro- voz protokolu IPSec, pouzijte nasledujici zobrazovaci filtr: isakmp or ah or esp Tento filtr vrati vsechny asociovane protokoly IPSec, jak muzete videt na obrazku 6.24. Obrazek 6.24 Identifikace provozu IPSec/VPN
Analyza bezdratoveho provozu pale si na obrazku 6.24 vsimnete, ze ve vypisu je take paket ICMP Destination Unreachable. Je tomu tak, protoze Wireshark take dekoduje protokol vnofeny uvnitf paketu ICMP, ktery obsahuje infor- mace ESP. Doposud jsme videli, jak vykonne mohou byt zobrazovaci filtry Wiresharku. Uzitecnost zobrazova- cich filtru je omezena pouze poli, ktera mohou byt urcena zobrazovacim nazvem, a take vasi kreati- vitou ve vyuzivani vyhod tohoto mocneho nastroje. Co vice - zobrazovaci filtry mohou byt pouzity pro dalsi klasiiikacni a identifikacni mechanismy, vcetne schopnosti barevneho rozliseni paketu vyhovujicich jakymkoliv podminkam zobrazovacich filtru. Potential barevneho odliseni zobrazenych paketu Kdyz se podivate na sled paketu, kterych je vice nez pouha hrstka, muze se vam naskytnout pomer- ne desivy pohled. Pokud nevite presne, co hledate v souboru zachycenych dat, jste casto zanechani s moznosti slepe klepat na pakety a prozkoumavat jejich obsah nebo muzete zacit pouzivat pfedde- finovane zobrazovaci filtry v nadeji, ze se vam podafi identifikovat песо uzitecneho. Abyste si zkoumani paketu usnadnili a byli schopni vyhodnotit urcite informace о paketech uz na prvni poliled, Wireshark umoznuje upravu barev paketu v окпё Packet List. Tato casto pfehlizena funkce muze byt vehni uzitecna pri vyhodnocovani zachycenych paketu a pro zjednoduseni procesu feseni problemu s bezdratovym pfipojenim, kdyz je pouzita spolu se zobrazovacimi filtry. Oznacovani From DS a To DS Pfi zkoumani zachycenych paketu byva uzitecne urcit, zda provoz pochazi z metalicke nebo bezdra- tove site. Vidite-li napfiklad provoz pochazejici z mistni adresy IP, nemusi byt nezbytne tento provoz z bezdratove stanice; muze pochazet ze stanice pfipojene kabelovou siti, ktera komunikuje s bezdra- tovou stanici nebo se stanici pfipojenou kabelem zasilanim provozu vsesmeroveho vysilani. Muzeme zjistit, zda provoz pochazi z bezdratove site pomoci prozkoumani pfiznakii v kontrolni hla- vicce ramce a hledanim bitu From DS a To DS. Pokud je bit From DS nastaven a bit To DS je prazd- ny, vime, ze data pochazeji z kabelove site (nebo pfistupoveho bodu). Pouziti teto logiky na pravidlo pro barevne odliseni, ktere oznacuje provoz pochazejici z kabelove site jednou barvou a provoz z bezdratove site jinou barvou, nam umoznuje zjistit, odkud datovy pro- voz pochazi. Toto dialogove okno pro nastaveni pravidel pro barevne odliseni otevfete klepnutim na View -> Coloring rules. Klepnete na tlacitko New, kterym vytvofite nove pravidlo pro barevne odliseni s nasledujicimi vlastnostmi: ♦ Filter Name: provoz z bezdratove stanice ♦ Filter String: wlan.fc.fromds eq 0 and wlan.fc.tods eq 1 Dale pak vyberte barvu popfedi a pozadi tak, aby jednoznacne identifikovaly provoz z Ье/х1га1оуё stanice. Dialogove okno Name a String bude aktualizovano, aby odrazelo vami vybrane barvy (viz obrazek 6.25). Pokud jste s vyberem spokojeni, klepnete na tlacitko OK.
274 Kapitola 6: Sniffovani' bezdratovych siti pomoci'Wiresharku Obrazek 6.25 Barevne filtrovani provozu z bezdratovd stanice Pote vytvorte druhe pravidlo pro barevne odliseni paketu, ktere bude oznacovat provoz pochazejici z kabelove site s pouzitim nasledujicich vlastnosti: ♦ Filter Name: provoz z kabelove site ♦ Filter String: wlan.fc.fromds eq 1 and wlan.fc.tods eq 0 Vyberte barvu popfedi a pozadi tak, aby jednoznacne identifikovaly tento provoz (viz obrazek 6.26). Display Colors Foreground Color... > -IT _ . Background Color... Qk Obrazek 6.26 Barevne filtrovani provozu z metalicke site Obrazek 6.27 Pouziti pravidla pro barevne odliSem provozu pochazejiciho z bezdratove a kabelove site
Analyza bezdratoveho provozu 275 Stisknutim tlacitka OK prijmete novy filtr a potom stisknete tlacitko Apply. Pokud chcete tento filtr ulozit pro budouci pouziti, stisknete Save; v opacnem pripade klepnete na tlacitko OK. kterym zavrete dialogove okno Coloring Rules. Wireshark pote automaticky aktualizuje zobrazeni paketu a pouzije barevne filtry (viz obrazek 6.27). Na obrazku 6.27 muzeme urcit ramce 52 a 58 jako provoz pochazeiici z bezdratove site a ramce 48. 50,54,56 a 60 jako ramce pochazejici z metalicke site. Zbyvajici ramce nemaji nastaveny ani bit From DS, ani To DS, coz je v pofadku pro ramce pro spravu. Oznacovani ruseneho provozu S tim, jak stale vice organizaci nasazuje bezdratove site, mnozstvi interference ze sousedicich siti roste, coz muze mit nepfiznivy efekt na vykon bezdratovych siti LAN. Zatimco mnoho organizaci se dostava do zavaznych problemu pfi vyberu kanalu, ktere maji minimalizovat interferenci pro dany BSS, neni neobvykle, ze pfistupovy bod sousedici organizace pouziva podobne trekvence a interfe- ruje s vasi siti. Dfive v teto kapitole jsme se naucili, jak vytvafet zobrazovaci filtry pro urceni vsech pristupovych bodu pro dany BSS. Muzeme pouzit tyto filtry na pravidla pro barevne odliseni ve Wiresharku ve spojeni s inverznim zobrazovacim hltrem, abychom snadno identifikovali provoz z interferujicich siti. Za pfedpokladu, ze nas seznam BSSID obsahuje 00:0J:66:c3:e4:03 a 00:0f:66:e3:25:92, vytvofte nove pravidlo pro barevne odliseni s nasledujicimi vlastnostmi: ♦ Filter Name: interlerujici site ♦ Filter String: '(wlan.bssid eq 00:0f:66:e3:e4:03 or wlan.bssid eq 00:0f:66:e3:25:92) and Iwlan. fc.type eq 1 Obrazek 6.28 Oznaceni ruseneho sit’oveho provozu
276 Kapitola 6: Sniffovani bezdratovych siti pomoci Wiresharku V tomto zobrazovacim filtru jsme vyloucili vsechen provoz, ktery pochazi z jednoho z uvedenych BSSID, stejne jako kontrolni ramce, protoze kontrolni ramce neuvadeji v hlaviice IEEE 802.11 hodnotu BSSID. Pote pfifad’te barvu popredi a barvu pozadi tak, aby identitikovaly toto pravidlo pro barevne odliseni, a klepnete na tlacitka OK a Apply. Wireshark aktualizuje zobrazeni tak, aby odrazelo nove pravidlo pro barevne odliSeni a umoznilo identifikaci interferujicich siti (viz obrazek 6.28). Oznacovani opakovanych pokusu Pro kazdy datovy ramec pfenaseny bezdratovou stanici nebo pfistupovym bodem musi pfijemce ode- slat potvrzujici ramec, ktery oznamuje uspeSne doruceni paketu. Pokud paket nebyl obdrzen nebo byl obdrzen poskozeny, pnjemce ceka, dokud odesilatel neposle paket znovu. Ve vsech opakovane odesilanych paketech je nastaven bit „retransmit" v kontrolni hlavicce ramce. Pfitomnost opakovane pfenasenych ramcu jednoznacne poukazuje na interferenci na siti, ktera zpu- sobuie selhani prvotniho dorudeni paketu. Muzeme vytvorit pravidlo pro barevne odliseni, ktere nam pomuze urcit opakovane prenasene ramce: ♦ Filter Name: opakovane prenasene ramce ♦ Filter String: wlan.fc.retry eq 1 Jakmile pouzijeme tento barevny filtr, Wireshark zvyrazni opakovane prenasene ramce (viz obra- zek 6.29). Obrazek 6.29 Oznaceni opakovanS prenaSenych ramcu Na obrazku 6.29 vidime, ze ramec 503 je opakovanym pfenosem ramce 502. VSimnete si, ze ramec 500 byl zaslan stanici na adrese 00:ll:50:78:0a:37 a pote potvrzen b£hem 0,002 vtefiny. Ramec 502 nebyl kladne potvrzen nebo zde byla interference, ktera zptisobila ztratu ramce ACK, jenz pote vyzadoval opetovny prenos.
Analyza bezdratoveho provozu 277 Kreativni vyuziti vlastnich pravidel pro zbarveni paketu muze analyzu paketii znacne zjednoduSit. pamatujte, ze pro vytvofeni pravidel pro barevne odliSeni muzete vyuzit libovolne zobrazovaci fil- try Wiresharku, coz cini tuto funkci jeste flexibilnejsi a efektivnejsi pfi identifikaci dulezitych vlast- nosti datoveho provozu. pridavani informacnich sloupcO Standardne Wireshark zobrazuje v okne Packet List sest sloupcu, a to cislo ramce, cas, zdroj, cil, pro- tokol a informacni fetezec. Wireshark umoznuje tento pohled upravit a take pfidat dais1 dva sloupce, ktere souvisi s daty zachycenymi v bezdratovych sitich: IEEE 802.11 RSSI a IEEE 802.11 TX Rate. Sloupec IEEE 802.11 Received Signal Strength Indication (RSSI) informuje о sile radioveho signahi vybraneho paketu, zatimco sloupec IEEE 802.11 RX Rate poskytuje informaci о rychlosti pfenosu, ktera byla pouzita pro pfenos tohoto paketu. Tato informace neni poskytnuta v zadne standardni hla- vicce IEEE 802.11, namisto toho je obsazena v hlavicce Radiotap nebo v obsahu hlavicky Linux Prism AVS. Diky tomu tato funkce nebude fungovat v zachycenych paketech, ktere neposkytuji doplnujici informace, vcetne zachycenych paketu pouzivajicich pouze typ spojeni standardu IEEE 802.11. Abyste tyto sloupce pfidali do okna Packet List, klepnete na Edit -> Preferences a vyberte v nabid- ce „User Interface" polozku Columns. Klepnete na New a do textoveho pole „Title" zadejte RSSI. Potom klepnete na rozbalovaci nabidku Format a vyberte polozku IEEE 802.11 RSSI. Opakujte tento postup pro pfidani sloupce data rate s pouzitim nazvu „Rate" a vyberte z rozbalovaci nabidky For- mat polozku IEEE 802.11 TX rate (viz obrazek 6.30). Obrazek 6.30 Editor sloupcu Wiresharku Dale klepnete na Save -> OK. Na rozdil od jinych nastaveni Wiresharku pfidani noveho sloupce vyzaduje restart aplikace, aby se zmena mohla projevit. Zavfete Wireshark a soubor zachycenych dat
278 Kapitola 6: Sniffovani bezdratovych siti pomoci Wiresharku klepnutim na File -» Quit a pote opet spustte Wireshark a otevfete soubor zachycenych dat. Pokud isou informace RSSI a TX Rate obsazeny v souboru zachycenych dat, Wireshark obsadi tyto nove sloupce patficnymi informacemi (viz obrazek 6.31). Obrazek 6.31 Zobrazeni' sloupcu RSSI a Rate Schopnost prohlizet tato pole muze byt uzitecna pri feseni problemu a pro zjistbvani pruniku do bez- dratovych siti. S tim, jak se stanice dostava dale od pfistupoveho bodu, hodnota TX Rate datovych ramcu se snizuje, aby udrzela spojeni s pfistupovym bodem. Pozorovani velkeho mnozstvi stanic vysilajicich pod optimalni hranici 11Mbps pro site IEEE 802.1 lb nebo 54Mbps pro site IEEE 802.11g nebo site IEEE 802.1 la je znamemm spatneho vyberu pfistupoveho bodu jmenem klienta (mOze zde byt к dispozici vice optimalmch pfistupovych bodu) nebo nespravneho nasazeni ci konfigurace pfi- stupoveho bodu. Prozkoumani informace RSSI umoznuje identiiikovat vypadky v sile signalu pro klienta, coz muze byt pf iznakem interference nebo dalsich vlastnosti ztraty signalu Radio Frequency (RF), coz ma take na vykon site nemaly vliv. Desifrovani provozu Jednou z vyzev analyzy provozu bezdratovych siti je schopnost prozkoumavat obsah sifrovanych dato- vych ramcu. Zatimco Wireshark ma schopnost dekodovat mnoho protokolu sit’ove vrstvy a vyssich vrstev, sifrovany provoz omezuje vase moznosti na analyzu paketfi a feseni sitbvych problemu. Nastesti Wireshark nabizi nektere moznosti pro analyzu dat sifrovanych protokolem WEP. Pokud nakonfigurujete Wireshark na pouziti spravneho klice WEP, budete moci automaticky desifrovat data protokolu WEP a provadet rozbor obsahu ramcu v podobe prosteho textu. Takto muzete pouzit zobrazovaci filtry, pravidla pro barevne odliSeni a vsechny dalsi funkce Wiresharku i na Sifrovany obsah ramcu.
Analyza bezdratoveho provozu 279 Aby Wireshark mohl desifrovat obsah paketu sifrovanych protokolem WEP, musi mit к dispozici spravny klic WEP pro danou sit’. Wireshark vam nepomuze pri prolamovani klicu WEP nebo pfi utocich na protokol WEP. Pokud jste vsak legitimnim administratorem bezdratove site, muzete ve Wiresharku nastavit patficny klic klepnutim na Edit -> Preferences, rozbalenim nabidky „Protocols" a vyberem IEEE 802.11. V okne Wiresharku Preferences zadejte jeden nebo vice klicu WEP v hexa- decimalnim tvaru oddelenych stredniky (viz obrazek 6.32). Po zadani jednoho nebo vice klicu zatrh- nete policko Enable Decryption. Kdyz jste hotovi, klepnete na tlacitko OK. Wireshark pote automaticky pouzije klid WEP pro desifrovani kazdeho paketu sifrovaneho pomoci WEP v zachycenych datech. Kdyz je paket spravne desitrovan, Wireshark pfida tabulkovy pohled do okna Packet Bytes a umozni tak vyber mezi sifrovanym a desifrovanym zobrazemm dat. Wireshark take provede rozbor obsahu nesifrovaneho ramce, cimz vam umozni prohlizet informace о vnofe- nych protokolech stejne, jako by ramec byl nesifrovan v jeho puvodnim stavu. Bohuzel v dobe vzniku teto knihy Wireshark nedisponoval podporou pro desifrovani paketu TKIP nebo CCMP. Muzete vsak pouzit jine nastroje jako utilitu airdecap-ng (obsazenu v sade open-source nastroju Aircrack-ng) pro pfepsani zachycenych paketu pouzivajicich protokol TKIP. Obrazek 6.32 Zadani klicu WEP Podobne jako schopnost Wiresharku desifrovat provoz WEP, airdecap-ngvyzaduje jistou znalost PSK nebo Pairwise Master Key (PMK), abyste mohli desifrovat provoz protokolu TKIP. Abyste airdecap-ng nainstalovali na vas system, musite stahnout a dokoncit instalaci celeho baliku Aircrack-ng. Stahnete si aktualni verzi Aircrack-ngze stranek www.aircrack-ng.org. Pro systemy W in- dows si stahnete bah'k zip pro Windows a rozbalte jej do slozky die vaseho vyberu. Uzivatele Linuxu musi sestavit aplikace s pouzitim kompilatoru jazyka C nebo mohou ziskat pfedkompilovane binar- ni soubory od dodavatele jejich linuxove distribuce.
280 Kapitola 6: Sniffovani' bezdratovych si'ti pomoci Wiresharku Obrazek 6.33 Prohlizeni sifrovaneho a nesifrovaneho provozu WEP Jakmile je Aircrack-ng nainstalovan, muzete pouzit Airdecap-ng pro desifrovani provozu WEP nebo TKIP a vytvafeni novych vystupnich souboru libpcap obsahujicich nesifrovana data. Pro Airdecap- ng neexistuje graficke uzivatelske rozhrani, takze je nul ne otevfit prikazovy fadek a spustit aplikaci airdecap-ng odtud (viz obrazek 6.34). Poznamka prekladatele; Pred dasem se na Internetu objevilo graficke rozhrani pro sadu nastroju aircrack-пд s nazvem AiroWizard. Ohlasy na tento pocin byly velice pozitivni, avSak zahy se cela situace kolem AiroWizardu ponekud zkomplikovala (pravdepodobne z duvodu licencnich pro- blemci). Ponekud sarkasticke vyjadreni autora AiroWizardu najdete na strance http://nazircon. googlepages.com. C:\WINDOWS\systetn32\cmd.exe Microsoft Win.<o^Txp lUoTT ion T.1.2600]------------------------------- <C> Copyright 1985-2001 Microsoft Corp. C:\Docunents and Sett ings\jwright >cd\aircrack\aircrack-ng-0.6. l~win\bin C:Xairc rack\aire rac k-ng-0. 6.1-win\b in >a irdecap—ng Airdecap-ng 0.6.1 - <C> 2006 Thonas d'Otreppe Original work: Christophe Deuine http://www.aircrack-ng.org usage; dirilcudp -ug (upliuiis) <puap f ile> “1 : don't renoue the 802.11 header -b bssid : access point MAC address filter ~k pnk : WPA Pairwise Master Key in hex ~e essid : target network ascii identifier -p pass : target network WPA passphrase -w key : target network WEP key in hex C: \a ire r ac k\a i rc r ac k-n g-0.6.1 -w in\b in > Obrazek 6.34 Parametry prikazu Airdecap-ng
Zachytavam' bezdratoveho provozu v praxi 281 jvluzete desifrovat provoz WEP zadanim khve WEP v hexadecimalnim tvaru s pouzitim pfiznaku - w. Take zadame pfiznak -/, abychom zachovali data hlavicky IEEE 802.11. Standardne airdecap-ng zahazuie hlavicky IEEE 802.11, cimz zpusobuje, ze se veskery provoz jevi, jako by pochazel z kabe- love site. Airdecap-ng desifruje provoz v urcenem souboru zachycenych dat a vytvofi novy soubor s pfiponou -dec v nazvu souboru a pfed koncovkou souboru (viz obrazek 6.35). Stejne jednoduse muzete desifrovat i pakety TKIP s pouzitim stejne techniky, prostym zadanim TKIP PMK s parametrem -k nebo zadanim PSK s parametrem -p. Pn desifrovani provozu TKIP musite take zadat SSID site (viz obrazek 6.36). Na obrazku 6.36 Airdecap-ng vytvafi vystupni soubor wpapsk-dec.dump, ktery obsahuje nesifrova- ne datove ramce. .•.'INDOW'Asysteni 1>\crnd exc C:\aircrack\aircrack-ng-0.6.l~win\bin>airdecap-ng -1 -w 0ef0a89505 ndl.dunp Total number of packets read 7 Total number of WEP data packets 7 Total number of WPA data packets 0 lumber of plaintext data packets 0 lumber of decrypted /ЕР packets 7 lumber of decrypted /РА packets 0 C:\aircrack\aircrack-ng-0.6.l~win\bin>dir ndl-dec.dump Uolume in drive C is I Btl PRELOAD Volume Serial Number is 001BC64B Directory of C:\aircrack\aircrack~ng~0.6.l~win\hin 10/02/2006 03:56 PM 751 ndl-dec.dump 1 File<s> 751 bytes 0 Dirts) 18,006,536,192 bytes free |C: \a ire rack\a ire rack -ng-0.6.1 winXbin> Obrazek 6.35 Desifrovani provozu WEP pomoci Airdecap-ng Obrazek 6.36 DeSifrov^ni provozu TKIP pomoci Airdecap-ng Jakmile jste desilrovali zachycene pakety pomoci Airdecap-ng, muzete je otevfit a prozkoumat ve Wiresharku. Zachytavani bezdratoveho provozu v praxi Ted, kdyz jste se naucili pouzivat funkce bezdratove analyzy ve Wiresharku, muzete prozkoumat zachyceny bezdratovy provoz ze skutecnych siti. Vsechna zachycena data pouzita v teto kapitole byla vybrana pro posileni znalosti nabytych v teto kapitole pomoci demonstrace technik, ktere muzete pouzit pro kontrolu vasi vlastni bezdratove site.
282 Kapitola 6: Sniffovani' bezdratovych si'ti' pomoci'Wiresharku Identifikace kanalu stanice Uvod Mnoho administratoru by souhlasilo s tim, ze rozhrani pro konfiguraci a spravu bezdratovych siti se ve Windows XP zlepsilo s kazdym service packem. Jednou ze zbyvaiicich frustraci v rozhrani pro bezdratove site Windows Zero Configuration (WZC) je neschopnost ohlasit aktualni bezdratovy kanal, na kterem klient prave pracuje. Tato intormace je nezbytna pro feseni problemu s konektivi- tou nebo kolisajicim vykonem na bezdratovych sitich I AN. Zjisteni cisla kanalu vyzaduje analyzu informacnich elementu pfenasenych pfistupovym bodem. I kdyz je mozne odhadnout cislo kanalu rucnim pfepinanim kanalu pomoci utility iwconfig na linuxovych systemech, bezdratove karty casto pi ijimaji ramce i z dalsich kanalu. V techto pfipadech muzete bezdratovou kartu nastavit na kanal 1 a sledovat provoz z bezdratove stanice; stanice vsak pfitom muze operovat na kanalu 3. V tomto souboru paketu zachycenych v realnem prostfedi prozkoumame moznosti identifikace aktu- alniho kanalu, na kterem bezdratova stanice pracuje. Ovlivnene systemy Zachytavani provozu Ize pouzit na vsech operacnich systemech jako obecny mechan ismus pro analyzu, ktery7 je uzitecny zejmena pro feseni problemu se siti. Zarizeni ucastnici se tohoto procesu zahrnuji cilovou bezdratovou stanici a pfistupovy bod. Stanice pro zachytavani bezdratoveho provozu bude pro tuto analyzu pouzivat channel hopping, protoze nevi, ktery kanal cilova stanice pouziva. Analyza V teto analyze dat zachycenych v realnem sitovem prostfedi pouzivame soubor wireless-rwc-l.cap. V tomto pfipade potfebujeme urcit kanal, na kterem pracuje stanice s adresou MAC 00:60:Id:If: c5:18. 1 *o otevfeni souboru zachycenych dat ve Wiresharku pouzijte zobrazovaci filtr pro urceni datoveho provozu pro cilovou stanici s vyse uvedenou adresou MAC: wlan.sa eq 00:60:Id:If:c5:18 and wlan.fc.type eq 2 Tento filtr vylouci z vyberu vsechen provoz krome toho, ktery pochazi z cilove stanice. Pouzijeme tento filtr, a tak budeme moci prozkoumat hlavicky protokolu IEEE 802.11 a zjistit tak adresu BSSID. Klepnete na libovolny ramec pochazejici od teto stanice a pfesunte se do okna Packet Details, kde klepnete na IEEE 802.11 -> BSS Id. BSSID pfedstavuje jedinecny identifikator teto site a pouzijeme jej pro dalsi analyzu. Jakmile zname BSSID dane site, muzeme smazat aktualni zobrazovaci filtr a vytvofit novy filtr pro urceni signalnich ramcu od pristupoveho bodu poskytujiciho sluzby urcene stanici: wlan.bssid eq 00:02:2d:09:c0:da and wlan.fc.type_subtype eq 8 Pouziti tohoto liltru zobrazi signalni ramce z pfistupoveho bodu. Na souhrnnem radku muzeme videt zdrojovou a cilovou adresu a souhrnnou informaci obsahujici SSID site. Pfesunutini do okna Packet Details a klepnutim na IEEE 802.11 Wireless LAN Management Frame -> Tagged Parameters -» DS Parameter Set -> Tag Interpretation muzeme prozkoumat obsah tohoto informacniho elementu. fato znacka pfedstavuje aktualni cislo kanalu pristupoveho bodu (viz obrazek 6.37).
Zachytavani bezdratoveho provozu v praxi 283 Obrazek 6.37 Znacene parametry - aktucilni kanal Prozkoumamm techto zachycenych dat muzeme videt, ze obsah signalnich ramcu z pfistupoveho bodu signalizuje provoz na kanalu 1. Diky asociaci s BSSID vime, Ze stanice pracuje take na kanalu 1. Sei han i bezdratoveho pripojeni Uvod Problemy s pfipojemm vytvafeji pro administratory bezdratovych siti mnoho pfilezitosti к feseni problemu. Casto se stava, ze chyby pozorovane na bezdratove siti nedorazi az ke klientskemu syste- mu takovym zpusobem, ktery by uzivateh inebo administratorovi) umoznil problem identifikovat. NaStesti vsak Wireshark muze pomoci pfi objasnovani i takovychto problemu ,,ve vzduchu", ktere brani uzivatelum v navazani spojent s bezdratovou siti. Protoze toto je pro administratory velice zavazny a casty problem, prozkoumame celkem tri ruzne scenare analyzy zachycenych paketu pro feSeni problemu s ovefovanim na vrstve IEEE 802.11 a dva problemy na vrstve IEEE 802.1x/EAP. Ovlivnene systemy Tato zachycena data se vztahuji ke vsem klientskym i serverovym operacnim systemum, ktere pod- poruji bezdratove site. Jeden soubor zachycenych dat se potyka s problemem ovlivnujicim sit’ pouzi- vajici protokol WEP a dalsi dva soubory se tykaji siti na protokolu LEAP. Uvedene principy se vzta- huji take na dalsi sifrovaci mechanismy (napr. TKIP, CCMP a EAP).
284 Kapitola 6: Sniffovani bezdratovych siti pomoci Wiresharku Analyza Soubor zachycenych dat 1 V teto analyze dat zachycenych v realnem sifovem prostfedi pouzivame soubor wireless-rwc-2a.cap. V tomto pripade se budeme zabyvat stanici s Windows XP SP2, ktera se nemiize pfipojit к bezdra- tove siti pomoci sifrovani protokolem WEP. Po prozkoumani standardnich zaznamu (napf. udalosti ve Windows) na stanici XP jsme nezjistili zadne problemy poukazujici na zdroj problemu. Zbezny pohled na konfiguraci klienta take nevypovida о nejakych problemech a klic WEP byl pro jistotu zadan znovu, abychom meli jistotu, ze je pouzit ten spravny. Okno Vlastnosti bezdratoveho pfipo- jeni je znazorneno na obrazku 6.38. Obrazek 6.38 Vlastnosti nastaveni bezdratove site kl ientskd stanice Ve snaze vyfesit problem na teto siti byl zachycen vzorek dat v prubehu klientova pokusu о pfipoje- ni к bezdratove siti. Otevfete ve Wiresharku soubor zachycenych dat s nazvem wireless-rwc-2a.cap a zacneme s analyzou provozu. Na vsech bezdratovych sitich zacina proces pf ipojeni tim, ze stanice odesle pruzkumny ramec, jehoz ukolem je identilikovat dostupne pfistupove body v oblasti. Pfistupovy bod odpovi ramcem s odpo- vedi na pruzkumnou zpravu (pokud neni nastaven na jine chovani), ktery informuje stanici, ze pfi- stupovy bod je dostupny. Po identifikaci dostupneho pfistupoveho bodu stanice pokracuje procesem pfipojeni a pokusi se о ovefeni a asociaci s pf istupovym bodem. Na sitich s protokolem WEP klient zasle pfistupovemu bodu zadost о ovefeni, coz vyvola odezvu na ovefeni. V pfipade site pouzivajici technologii sdileneho klice pfistupovy bod zasle nahodne gene- rovanou hodnotu zvanou vyzva, kterou klient zasifruje pomoci klice WEP a odesle ji zpet pfistupo- vemu bodu к ovefeni. Pote klient obdrzi zpravu о uspechu ci selhani ovefovaciho procesu. V pfi- pade siti s otevfenym ovefovanim je tato faze pfistupovym bodem vynechana a je rovnou zaslana zprava о uspesnem ovefeni. Po ovefeni je stanice asociovana s pfistupovym bodem zaslanim pake- tu se zadosti о asociaci. Pfistupovy bod odpovi paketem s odpovedi na asociacnf zadost, po jejimz obdrzeni jiz stanice muze komunikovat s bezdratovou siti.
Zachytavani bezdratoveho provozu v praxi 285 Jakozto logicky krok v prubehu feseni problemu ma urcite smysl ovefit kazdy z vyse uvedenych kroku pro identifikaci bodu, ve kterem doslo к selhani procesu pripojeni. Pro zmenseni poctu zob- razenych ramcu v zachycenych datech pouzijte nasledujici zobrazovaci filtr, ktery vylouci signalni ramce a vsechny typy kontrolnich ramcu: W1an.fc.type_subtype ne 8 and wlan.fc.type ne 1 Vysledky pouziti tohoto zobrazovaciho filtru muzete videt na obrazku 6.39. Obrazek 6.39 Filtrovani sign^lnich a kontrolnich ramcu - data zachycena v realnem sitovem prostredi 2a V ramci 34 zasila stanice zadost о sondaz pro SSID <no current ssid>; dalsi zadost о sondaz v ramci 35 je zamefena na vsesmerovy SSID. Tyto zadosti se opakuji bez odezvy az do ramce 70, ktery testuje SSID gogowepnet, ziska odezvu od pristupoveho bodu ve forme ramce s odpovedi na sondaz. Toto je normalni chovani, protoze stanice musi znat BSSID a dalsi informace о moznostech obsazene v ramci odpovedi na sondazni pozadavek pred samotnym pfipojenim к pfistupovemu bodu. Po sondaznich ramcich 74,76 a 77 vidime ovefovaci komunikaci. Muzeme fici, ze ramec 77 je opako- vanym zaslanim ramce 76, nebot’ pofadove cislo (3121) vypsane v informacnim sloupci je stejne pro oba pakety. Zacneme nasi detailni analyzu u ramce 74; klepnete na tento ramec a rozbalte vlastnos- ti spravy klepnutim na IEE 802.11 Wireless LAN Management Frame -> Fixed Parameters, lakto odhalime ovefovaci algoritmus jakozto mechanismus sdileneho klice, ovefovaci SN a stavovy kod. Protoze toto je prvni paket ovefovaci vymeny dat, stavovy kod je v tomto pfipade irelevantni. Nyni, kdyz zname pozadovanou informaci ovefovaciho algoritmu, podivejme se na ramec 77. V informacich о parametrech spravy vidime, ze ovefovaci algoritmus je stale sdileny klic, ale stavovy kod obsahuje zpravu „Responding station does not support the specified authentication algorithm (Odpovidajici stanice nepodporuje zadany ovefovaci algoritmus). Pfesne tato chyba brani klientovi v pfipojeni к pnstupovemu bodu.
286 Kapitola 6: Sniffovani bezdratovych siti pomoci Wiresharku Jako bezpecnostni opatfeni moderni pfistupove body pouzivajici WEP podporuji pouze otevfene ovefovani s sifrovanim WEP, protoze ovefovani sdilenym klicem pfedstavuje na siti dalSi bezpecnost- ni riziko. Protoze klient pozaduie ovefeni pomoci sdileneho klice, pfistupovy bod tuto zadost zami- ta a konci komunikaci chybou. Abyste tento problem vyfesili, nastavte klientsky systdm pro pouziti otevfeneho ovefovani pomoci WEP namisto sdileneho ovefovani. Soubor zachycenych dat 2 V teto analyze dat zachycenych v realnem sifovem prostfedi pouzivame soubor wireless-rwc-2b.cap Jedna se о dalsi pfiklad, kdy se klient nemtize pfipojit к siti. Otevfete soubor zachycenych dat wire- less-rwc-2b.cap a pouzijte stejny zobrazovaci filtr jako v pfedchozim pfipade pro vylouceni signal- nich ramcu a ramcu pro spravu: wlan.fc.type subtype ne 8 and wlan.fc.type ne 1 Vysledek pouziti zobrazovaciho filtru je zachycen na obrazku 6.40. Pohledem na okno Packet List, sloupec Information, muzeme urcit, ze stanice se uspesne pfipoju- je к pfistupovemu bodu. V ramcich 23 a 25 vidime zadost о sondaz a odpoved’ na ni, nasledovany dvema ovefovacimi ramci. Klepnutim na ramec 29 pro vyber druheho ovefovaciho ramce a naslednym klepnutim na IEEE 802.11 Wireless LAN Management Frame -> Fixed Parameters -» Status Code zjistime, ze ovefo- vaci sekvence byla uspesna. Obrazek 6.40 Filtrovani signalnich a kontrolnich ramcu - data zachycena v realnem sifovem prostfedi 2b Po ovefovacim sledu informaci nasleduje v ramci 31 zadost о asociaci a tn odpovedi v ramcich 34, 36 a 38. Pohledem na informacni sloupec v okne Packet List - konkretne tyto tri ramce - zjisti- me, ze pofadove cislo kazdeho paketu je 68, a ze jsou tedy opakovane pfenaseny z duvodu absence
Zachytavani bezdratoveho provozu v praxi 287 fcorektniho potvrzeni pnjemcem. Muzeme vybrat ramec 36 nebo 38 a klepnout na IEEE 802.11 -» Frame Control -> Flags -> Retry pro ovefeni, ze tyto ramce jsou jen opetovnym pfenosem, a to tak, ze prozkoumame hodnotu ph'znaku retransmit v kontrolni hlavicce ramce. Nejedna se о neobvyk- lou aktivitu, avsak muze znamenat, ze nejaky zdroj interference na siti brani pfedchozim ramcum ve spravnem doruceni. Prozkoumanim obsahu stavoveho kodu v poslednim asociacnim ramci (ramec cislo 38) klepnutim na IEEE 802.11 Wireless LAN Management Frame -» Fixed Parameters -> Status Code zjistime, ze proces asociace probehl uspesne ve smyslu vymen autentikace IEEE 802.11 a asociace. V tomto bode pfesne nevime, jaky problem bychom meli resit. Bylo by tedy mozna vhodne, kdyby- chom pouzili pravidla pro barevne odliseni pro vyhodnoceni provozu. Pouzijte pravidlo pro barevne odliseni paketu pochazejicich z kabelove site jednou barvou a jinou barvu pouzijte na pakety bezdratove site. Takto budete moci snadno zhodnotit zbyvajici ramce a iden- tifikovat provoz z pfistupoveho bodu nebo z klientskych systemu. Po ramci s odpovedi na zadost о asociaci vidime, ze zacatek ovefovaci sekvence EAP v ramci 41 pochazi z pfistupoveho bodu; tento ramec pozaduje informaci о identite od stanice, ktera je vrace- na v ramci 43 s odpovedi identity. V ramci 46 vidime novou zadost EAP indikujici, ze typem EAP je protokol Cisco LEAP. Muzeme prozkoumat podrobnosti о protokolu EAP v tomto ramci klepnutim na 802.IX Authentication -» Extensible Authentication Protocol. Prozkoumanim detailu tohoto ramce uvidime datovy naklad paketu EAP obsahujici 8bajtovou nahodnou hodnotu a nazev uzivatele ovefovaneho v siti. 8bajtova nahodna hodnota pfedstavuje fetezec vyzvy, ktery musi byt zasifrovan a vracen stanici, jez se pokousi о ovefeni. Ramec 51 pfedstavuje ramec NULL. Tento ramec neni soucasti komunikace EAP. Patfi spise к mecha- nismu, ktery se pouziva stanici ke vstupu do energeticky usporneho modu pfi soucasnem ohlaseni pfistupovemu bodu, ktery by mel ulozit vsechen provoz cekajici na zpracovani az do te doby, dokud se stanice nevrati do bezneho provozniho stavu. Tuto informaci muzeme ovefit prozkoumanim bitu pro spravu napajeni v kontrolnim ramci hlavicky a klepnutim na IEEE 802.11 -» Frame Control -» Flags -> PWR MGT. Protoze je hodnota nastavena na 1, vime, ze tato stanice vstupuje do usporne- ho rezimu. Pro nektere stanice se jedna о zcela beznou aktivitu, zejmena pro bezdratove karty plat- formy Intel Centrino, ktere jsou, co se uspory energie tyce, ponekud agresivnejsi nez karty jinych cipovych sad. Stanice se vraci z usporneho rezimu zpet v ramci 66 ramcem odpovedi EAP. Opet muzeme prozkou- mat obsah datoveho nakladu protokolu EAP klepnutim na 802.IX Authentication -> Extensible Authentication Payload. V datovem nakladu EAP vidime песо s nazvem „Peer Challenge [8] Ran- dom Value“; jedna se о nespravnou interpretaci Wiresharkem. Misto hodnoty vyzvy komunikacni- mu partnerovi se jedna о aktualni odezvu komunikacniho partnera. Navic hodnota odezvy partnera ma velikost 24 bajtu, nikoliv 8 bajtu. Tento ramec pfedstavuje odezvu od bezdratove stanice nasle- dujici po dfivejsi hodnote vyzvy. Po odezve EAP od stanice bychom normalne ocekavali, ze uvidime zpravu о uspechu EAP od pfistu- poveho bodu. V techto zachycenych datech v§ak vidime dalsi ramec NULL od stanice, ktery ukazuje na dalsi aktivity spravy napajeni, nasledovany ramcem vicesmeroveho vysilani protokolu Spanning Tree Protocol (STP) v ramcich 71 a 77. Namisto zpravy о uspechu komunikace EAP vidime nekolik deautentikacnich zprav od pfistupoveho bodu pro bezdratoveho klienta. lb znamena, ze ovefovaci komunikace LEAP nebyla uspesna a ze pfistupovy bod informuje stanici о jejim odpojeni od site.
288 Kapitola 6: Sniffovani bezdratovych si'ti pomoci Wiresharku Deautentikacm ramce jsou prenaseny nekolikrat, nebot’ nejsou korektne potvrzeny bezdratovou sta nici - mozna diky tomu, ze se stanice nachazi v ilspornem rezimu. V zachycenych paketech vidime, ze stanice uspdsne dokoncila autentikacni a asociacni komunikaci, ale nebyla schopna dokoncit proces autentikace IEEE 802. ]X. К teto chybd mezi klientem a pfistupo- vym bodem doslo opakovane a v zachycenych datech vidime tato selhani v ramcich 376 a znovu pak v ramci 724. Absence zprav о uspdchu EAP znamena, ze zde doslo к problemu s ovdfovanim, ktery zpusobil selhani komunikace EAP (pravdepodobne se jedna о dusledek nespravneho zadani hesla uzivatelem). Protoze Wireshark nam tuto domnenku nemuze potvrdit, muzeme pouzit dalsi zdroje informaci pro vyfeseni tohoto problemu, vcetne logu pristupoveho bodu a serveru sluzby RADIUS pouziteho к ovefovani uzivatelu. Soubor zachycenych dat 3 V teto analyze dat zachycenych v realnem sitovem prostfedi pouzivame soubor wireless-rwc-2c.cap. Jedna se о dalsi pfiklad, kdy se klient nemuze pfipojit к siti. Otevfete soubor zachycenych dat wire- less-rwc-2c.cap a pouzijte stejny zobrazovaci filtr jako v pfedchozim pfipade pro vylouceni signal- nich ramcu a ramcu pro spravu: wlan.fc.type_subtype ne 8 and wlan.fc.type ne 1 Гаке pouzijte pravidlo pro barevne odliseni paketu pro identifikaci provozu z pristupoveho bodu a ze stanice. Vysledek tohoto zobrazovaciho filtru a pravidla pro barevne odliseni je zachycen na obrazku 6.41. Obrazek 6.41 Filtrovani signalnich a kontrolnich гётсй - skutef data zachycena v realnem sitovem prostredi 2b Stejne jako v drive zachycenych datech, i zde prozkoumanim obsahu informacniho sloupce v окпё Packet List, konkretne ramcu 24 az 29, zjisfujeme, ze stanice s adresou 00:20:a6:4f:01:40 je schopna
Zachytavani' bezdratoveho provozu v praxi 289 Jokoncit proces autentikace a asociace IEEE 802.11. Po ramci s odezvou na asociaci vidime zacatek komunikace EAP v ramci 30 obsahujicim EAP Identity Request, nasledovanem ramcem EAP Iden- tity Response. V ramcich 32 az 34 jsou obsazeny zadosti EAP od pfistupoveho bodu nekolikrat. Jedna se о dalsi pf i- klad situace, kdy stanice neodpovida okamzite ramcem ACK, cimz nuti pfistupovy bod к opetovne- mu odesilani ramcu, az dokud neni zaslana patficna odpoved’. V informacnim sloupci pro tyto ramce vidime, ze typ EAP je Message Digest 5 (MD5) Challenge, take znama jako EAP-MD5. To znamena, ze sit’ je nastavena pro pouzivani autentikace EAP-MD5 pomoci serveru RADIUS a ze pfistupovy' bod pfideluje vyzvy EAP-MD5 stanicim po sifrovani jako soucast ovefovaci komunikace. V ramci 35 se nachazi odpoved’ pochazejici od stanice, ktera pfedstavuje negativni ACK protoko- lu EAP, nebo take odpoved’ Negative Acknowledgement (NAK). Vsimete si, ze typem EAP je zpra- va NAK indikujici, ze pfi komunikaci EAP doslo к chybe. Po poli Type vidime datovy naklad EAP pfedstavujici pozadovany typ autentikace jako Cisco LEAP (viz obra/ek 6.42). Obrazek 6.42 Identifikace typu EAP - data zachycena v realnem sit’ovem prostfedt 2c V techto zachycenych datech seihalo pfipojeni stanice к bezdratove siti, protoze byla nakonfigurovana pro pouziti autentikace LEAP, zatimco sit’byla nakonfigurovana pro pouziti autentikace EAP-MD5. Protoze zde neexistoval ovefovaci mechanismus EAP piijatelny pro klienta i pro server RADIUS, autentikace selhala, coz zpiisobilo, ze pfistupovy bod odesilal deautentikacni zpravu v ramci 90. Pro- blem by byl vyfesen prenastavenim klientskeho systemu pro pouziti spravneho ovefovaciho mecha- nismu, nacez by se klient mohl pfipojit к siti a byt v ru uspesne ovefen.
290 Kapitola 6: Sniffovani bezdratovych siti pomoci Wireshark<i PrOzkum bezdr.tovych siti Uvod Modern! software klientu bezdratovych siti je navrzen tak, aby koncovym uzivatelum usnadhoval udrzbu seznamu upfednostnovanych bezdratovych siti. Uzivatele se casto pfipojuji к vice nez jedne bezdratove siti (napf. v zamestnam se uzivatel muze pfipojovat к siti ,,CORPNET“, zatimco doma se muze pripojovat ke sve domaci siti „HOMENET"). Uzivatel na cestach muze vyuzit pfipojen! к hotelove be/dratove siti jako STSN nebo hhonors nebo к vefejnym hotspotiim siti jako PANERA nebo T-Mobile. Pro zjednoduSeni procesu pfipojovan i к jakekoliv z techto sit! vetSina klientu bezdratovych siti ucho- vava seznam preferovanych siti v tzv. Preferred Network List (PNL). Na operacnim systemu Win- dows XP je PNL dostupny po klepnuti pravym tlacitkem mysi na bezdratovy adapter v okne Sitbva pfipojen! a vyberu polozky Vlastnosti (viz obrazek 6.43). r" t .v»। к Connection Pro p’?f i u- General W»ele«» Network» Advanced L_J I----------1-------------------- 0 Use y/indow$ to configure my wieless network settings I Available networks: Tо connect to, disconnect from or fnd out more ricrmation about wireless networks n fangs click the button below. I View Wireless Networks Preferred networki Automatical connect to available rc+worl. in the order fisted below: i wpopl (Automatic) i STSN (Automate) 1 DUG J 2 (Automatic) 1 finksys (Automatic) Add. Properties Learn abou setting uo wirete»» network confutation Move down Advanced OK Cancel Obrazek 6.43 PNL v systemu Windows XP Na obrazku 6.43 je znazorneno, ze site linksys, DUG_12, STSN a wipopl jsou vSechny preferovanymi sitemi tohoto klientskeho systemu a umoznuji stanici snadne pfipojen! к libovolne z techto dostup- nych stanic bez interakce s koncovym uzivatelem. Pro urceni dostupnosti bezdratove site ze seznamu PNL bezdratova stanice pravidelne vystla ramce se zadosti о sondaz site se SSID zadanym v datovem nakladu ramce a ocekava odpoved’od jakekoliv stanice s vyhovujicim SSID. Tento princip muze pfedstavovat riziko nechteneho odhaleni informa- ce, protoze umoznuje utocnikovi sledovat a urcit vsechny nazvy siti nastavenych v PNL dane stanice prostym vyctem ramcu se zadosti о sondaz site. V techto zachycenych datech prozkoumame mechanismus vyctu siti nastavenych v PNL, abychom mohli vyhodnotit pfipadna rizika vyzrazen! informaci nebo pomoci identifikace podezfelych SSID identifikovat stanice, ktere se pfipojuji к bezdratovym sitim bez autorizace.
Zachytavani' bezdratoveho provozu v praxi 291 ОуНупёпё systemy podpora pro PNL je obsazena jak ve Windows XP, tak i v operacnim systemu Mac OS X. Oba tyto operacni systemy pravidelne zkoumaji site uvedene v tomto seznamu. Standardni linuxove systemy neobsahuji podporu PNL, avsak nektere aplikace tfetfch stran mohou obsahovat podporu teto funk- ce v prostfedich jako KDE nebo GNOME. Analyza V tomto rozboru zachycenych dat budeme pouzivat soubor wireless-rwc-3.cap. Otevrete tento sou- bor zachycenych paketu ve Wiresharku a podivame se na jeho obsah. Abychom mohli urcit nazvy siti ze seznamu PNL, potfebujeme prozkoumat ramce se zadosti о pru- zkum prichazejici z klientskych systemu. Soubor zachycenych paketu v tomto pfikladu jiz byl prefil- trovan tak, aby obsahoval pouze ramce se zadosti о pruzkum, ale mohli bychom pouzit zobrazovaci filtr pro urceni pouze tohoto typu ramce: wl an. fc.type .subtype eq 4 Zachycene pakety jsou znazorneny na obrazku 6.44. V ramci 1 je zachycen provoz od stanice s adresou 00:90:4b:le:da:ca odesilajici ramec se zadosti о sondaz na adresu vsesmeroveho vysilani. V informacnim sloupci v okne Packet List vidime, ze pozadovany nazev SSID v zadosti о pruzkum je rogers. V ramci 2 se nachazi jiny ramec se zadosti о pruzkum, tentokrat hledajici SSID Rogers (nazvy SSID jsou rozlisuji mala a velka pismena). SSID „Rogers" je opakovano az do ramce 8, kde SSID meni na vsesmerove SSID. Vsesmerove SSID pozna- me podle maleho poctu SSID nebo jeho nulove delky. Obrazek 6.44 Rozbor obsahu zadosti о pruzkum - data zachycena v realndm sit'ovem prostredi 3
292 Kapitola 6: Sniffovani' bezdratovych siti pomoci Wiresharku Po vyberu ramce 8 si tuto skutecnost muzeme ovefit prozkoumanim obsahu pole SSID klepnutim na IEEE 802.11 Wireless LAN Management Frame -> lagged Parameters -> SSID Parameter Set -» Tag Length. Muzeme pokracovat pruzkumem SSID uvedenych v souboru zachycenych paketu pomoci posouva- ni napfic celym souborem zachycenych paketu. Zobrazovaci filtry Wiresharku bohuzel neobsahu- ji schopnost pouzit „jedinecny* filtrovaci mechanismus, kde by byla zadana pouze jedna hodnota kazdeho unikatniho SSID. Miizeme vsak ziskat tentyz vysledek pouzitim textove orientovane verze Wiresharku spolecne s beznymi nastroji Unixu pro zpracovani textu. Z pfikazoveho fadku muzete prozkoumat obsah souboru zachycenych paketu wireless-rwc-3.cap pomoci tsharku nasledujicim zpusobem: tshark -r wireless-rwc-3.cap -R "wlan.fc.type_subtype eq 4й -V lento zapis fika tsharku, aby cetl (-r) ze souboru zachycenych paketu s pouzitim zobrazovaciho filtru (-R) wlan.fc.type_subtype eq 4 (zobrazit pouze ramce se zadosti о pruzkum) a podrobnym vystupem dekodovani (-V). Tshark zpracuje a zobrazi obsah souboru zachycenych paketu (viz obrazek 6.45). Tip: Unixove operadni systemy jsou sireny s nekolika nastroji pro zpracovani textu, ktere usnad- nuji parsovani a ziskcivani dat z textove orientovaneho vystupu. Mnoho z techto beznych n^strojO muzete stahnout take pro systemy Windows, kdyz navsti'vite webove stranky projektu GNU uti- lities for Windows na adrese http://unxutils.sourceforge.net. Stahndte si soubor UnxUtils.zip a roz- balte jej do slozky uvedend ve vast mistni ceste pro spousteni programCi, jako napf. C:\Windows, nebo vytvofte novou slozku, jako napf. CABIN, urcenou pro tyto nastroje a pfidejte tuto slozku do vasi systemove cesty. Systemovou cestu muzete zmenit pomoci klepnuti pravym tlacitkem mysi na Tento Pocitac a vyberem polozky Vlastnosti Upresnit -» Promenne prostfedi. V sekci Sys- temove promenne najdete promennou path, poklepejte na hodnotu teto promdnne a pfidejte novou slozku uvedenou za stfednikem (napf. ;C:\BIN). Obrazek 6.45 Vystup TSharku - data zachyceni v realnem sit’ovdm prostfedi 3
Zachytavani bezdratoveho provozu v praxi 293 V tomto vystupu vidime, ze radek zacinajici SSID parameter set oznacuje SSID v paketu zadosti о sondaz. Nastroj pro zpracovani textu grep muzete pouzit pro filtrovani vystupu z tsharku tak aby vypsal pouze tento fadek, a pfedat vystup z programu grep utilite sort. Ta pote pfeda vystup z pro- gramu sort nastroji uniq, ktery odstrani duplicitni zaznamy pouzitim nasledujicich argumentu pfi- kazoveho fadku: tshark -r wireless-rwc-3.cap -R "wlan.fc.type_subtype eq 4" -V | grep "SSID para- meter set:" | sort | uniq Zpracovamm vystupu z tsharku pomoci nastroju grep, sort a uniq muzeme ziskat jedinecny seznam SSID urcenych z ramcu zadosti о pruzkum: C:\wireshark>tshark -r wireless-rwc-3.cap -nV | grep "SSID parameter set:" | sort | uniq SSID parameter set: "hhonors" SSID parameter set: "linksys" SSID parameter set: "matrix" SSID parameter set: "rogers" SSID parameter set: "Rogers" SSID parameter set: "turbonet" SSID parameter set: "wldurel" SSID parameter set: Broadcast C:\wi reshark> Pomoci teto techniky muzete ziskat vycet vsech SSID, ktere jsou testovany klienty v danem soubo- ru zachycenych dat. Zajima-li vas seznam PNL konkretniho klienta, upravte zobrazovaci filtr spe- cifikovany argumentem pfikazoveho fadku -R tak, aby urcoval adresu MAC ciloveho klienta. Napf. pokud je adresa MAC, kterou chcete podrobit analyze, 00:90:4b: le:da:ca, upravte zobrazovaci filtr pouzity v pfedchozim pftkladu: wlan.fc.type_subtype eq 4 and wlan.sa eq 00:90:4b:le:da:ca Tento druh analyzy muze byt uzitecny pfi identifikaci chybne nakonfigurovanych klientskych sys- temu, ktere maji neschvalene bezdratove site stale obsazeny v jejich seznamech PNL, nebo take pro urceni stanic, ktere mohou porusovat zasady organizace pfipojovanim к neautorizovanym sitim. Sdileni uctu pro ov6rovani pomoci protokolu EAP Uvod Typy protokolu EAP zalozene na heslech jsou nejoblibenejsim ovefovacim mechanismem standardu IF.EE 802.lx pro bezdratove site. Mnoho typu protokolu EAP, vcetne PEAPvO, LEAP a EAP-MD5, muze odhalit uzivatelske jmeno ve forme prosteho textu jako soudast autentikacni komunikace. Го muze pro pfipadneho utocnika pfedstavovat znacnou vyhodu, ale uzitek z toho mohou mit i admi- nistratofi, ktefi diky teto informaci mohou zjistit identitu uzivatelu v bezdratove siti. Ovlivnene $у$1ёту Tato analyza se v/tahuje na bezdratove site pouzivajici autentikaci IEEE 802.lx pro bezdratove site typu EAP, ktery odhaluje informace о uzivatelskych jmenech ve forme prosteho textu jako soucast
294 Kapitola 6: Sniffovani bezdratovych siti pomoci Wiresharku autentikacni komunikace. Pfiklady typu EAP, ktere odhaluji tyto informace, zahrnuji EAP-MD5, LEAP a PEAPvO. Analyza V tomto rozboru zachycenych dat budeme pouzivat soubor wireless-rwc-4.cap. Otevfete tento sou- bor zachycenych paketu ve Wiresharku a podivame se na jeho obsah. Poznamka: Bylo nutne soubor wireless-rwc-4.cap ponekud upravit, aby mohl byt pouzit jako doplnek teto knihy. Prosim nevsimejte si dasovych informaci u kazd£ho гётсе, nebot' nejsou pro tuto analyzu platne. DalSi zdroje informaci v techto zachycenych datech byly take upraveny, aby neovlivnovaly vysledek analyzy. Abychom mohli prozkoumat informace о uzivatelskych jmenech odhalene ve forme prosteho textu, soustfedime se hlavne na provoz protokolu EAP. Pouzijte nasledujici zobrazovaci filtr pro prozkou- mani veskereho provozu EAP v souboru zachycenych dat: eap Pocatecni zobrazeni dat po pouziti zobrazovaciho filtru na zachycene pakety muzete videt na obraz- ku 6.46. Pfi pohledu na informacni sloupec si vsimnete, ze tato zachycena data jsou provozem Cisco LEAP (EAP-Cisco). Zatimco prvni dva ramce ve vysledku zobrazovaciho filtru neodhaluji informaci о uzivatelskych jmenech, vyberem ramce 12 (tfeti ramec zobrazeneho vysledku zobrazovaciho filt- ru) zobrazime fetezec nthom v окпё Packet Bytes. Klepnutim na 802.IX Authentication -» Exten- sible Authentication Protocol -» Identity ovefime, ze se jedna о uzivatelske jmeno osoby na teto pracovni stanici, ktera se ovefuje v bezdratove siti. Obrazek 6.46 Zobrazeni provozu EAP - skutedna zachycena data 4
Zachytavani bezdratoveho provozu v praxi 295 prozkoumanim obsahu hlavicky protokolu EAP muzeme zmensit pocet paketu vracenych nasim zobrazovacim filtrem tak, aby obsahovaly pouze provoz protokolu EAP typu identita a odpovedni kod s pouzitim nasledujiciho zobra/ovaciho filtru: eap.code eq 2 and eap.type eq 1 Vysledky takto aktualizovaneho tiltru nam umozni soustfedit se na uzivatelska jmena uvedena pro kazdy paket. Pfi prohlizeni paketu uvidime uzivatelske jmeno nthoni v ramci 12 a 13 pro stanici s adre- sou 00:09:b7:13:a8:27 a take uzivatelske jmeno plynn v ramcich 35 a 36 pro tutez stanici. To muze znamenat, ze nekolik uzivatelu sdili jednu pracovni stanici nebo take jedineho uzivatele, pokouse- jiciho se pfihlasit pod nekolika uzivatelskymi jmeny. Caste vyskyty tohoto typu aktivity by mely byt podrobeny podrobnejsi analyze, nebot pfedstavuji mozne naruseni zabezpeceni. Budeme-li pokracovat ve zkoumani vysledku vracenych zobrazovacim tiltrem, uvidime, ze uzivatel- ske jmeno hbonn je pouzivano ze stanice s adresou 00:0a:8a:47:db:7b v ramcich 77, 78, 84, 85, 101, 102, 210 a 211. Jeste zajimavejsi je opetovny vyskyt uzivatelskeho jmena nthoni v ramci 210 ze sta- nice 00:40:96:42:db:08. To znamena, ze jedno uzivatelske jmeno (nthoni) je pouzivano z vice stanic, coz je zfejmym dusledkem sdiJeni jednoho uzivatelskeho uctu vice uzivateli. Pokud vase organizace ma stanovene zasady, ktere zakazuji tyto aktivity, meli byste pouzit tento zpusob analyzy pro odha- leni stanic a uzivatelu nevyhovujicich temto zasadam. Utoky typu odepreni sluzby na protokol IEEE 802.11 Uvod Site IEEE 802.11 jsou zranitelne sirokym spektrem ruznych utoku typu odepreni sluzby (DoS), ktere umoznuji litocnikovi zabranit jednomu nebo vice uzivatelftm v pfistupu к mediu na neomezene dlouhou dobu. Pokud je uzivatel obeti utoku DoS, vi pouze to, ze neni schopen pfistupu к bezdra- tove siti, a netusi, zda je /trata konektivity dusledkem zakerne akce utocnika nebo sit’ove anomalie. Pouzitim Wiresharku pro analyzu sit’oveho provozu muze administrator odhalit, zda podminky DoS jsou vysledkem aktivity utocnika nebo technickeho problemu. Ovlivneite systemy Tato analyza se tyka bezdratovych siti, ktere jsou nachylne к utokum DoS, vcetne vsech bezdratovych siti, kde se pt ipadny protivnik muze vyskytovat ve fyzicke blizkosti site. Analyza V tomto rozboru zachycenych dat budeme pouzivat soubor wireless-rwc-5.cap. Otevfete tento sou- bor zachycenych paketu ve Wiresharku a podivame se na jeho obsah. Po otevfeni zachycenych paketu vidime, ze prvnim ramcem je ramec sondaze pochazejici z pfistu- poveho bodu. Prozkoumanim fadku seznamu paketu pro tento paket zjistime, ze zdrojova adre- sa MAC pfistupoveho bodu je 00:e0:63:82:19:c6 a ze pfistupovy bod se snazi skryt nebo maskovat nahrazentm legitimniho SSID znakem jedne mezery (0x20). Informacni sloupec okna Packet List nam take poskytuje dalsi informace, vcetne pofadoveho cisla paketu, FN a BI. (Zvlaste zajimave je pro nas pofadove cislo.) Viz obrazek 6.47. V sechny ramce pro spravu a datove ramce na siti IEEE 802.11 jsou pfenaseny s pofadovym cislem v obsahu hlavicky 802.11. Pofadove cislo je 12bitove pole pouzivane pro fragmentaci. Pokud vysilajici
296 Kapitola 6: Sniffovani' bezdratovych siti pomoci'Wiresharku stanice potfebuje fragmentovat velky paket do podoby nekolika mensich paketu, pfijimajici stanice vi, ktere fragmenty patfi к sobe, podle hodnoty pofadoveho disla. Kdyz je pfistupovy bod zapnut, zacne pouzivat pofadove cislo 0, ktere se zvysi о 1 pfi kazdem dalsim odeslanem paketu. Jakmile pofadove dislo dosahne hodnoty 4 095, pofadi se zadne poditat opet od 0. Pfi zkoumani zachycenych paketu by mel mit kazdy paket od jednoho zdroje pofadove dislo, ktere je kladne se zvysujici hodnotou pfirozeneho disla deleno 4 095. V nekterych pripadech mohou byt mezi pofadovymi cisly mezery (vetsinou kdyz vysilad pfepne na jiny kanal, aby mohl prohledavat dalsi site, a vast sitbve karte unikne nekolik ramcu, protoze karta zustava na jinem kanalu), ale hodnota by mela byt vzdy zvysovana о kladnou hodnotu, dokud se nevrati zpet na zadatek sekvence. Obrazek 6.47 Analyza obsahu informacniho sloupce - data zachycena v realnem sifovem prostredi 5 Toto chovani muzeme pozorovat na nekolika prvnich ramcich v souboru zachycenych dat, kde jsou tfi signalni ramce poslany v jednom sledu, pficemz pofadove cislo kazdeho z nich je zvyseno о jed- na (599, 600, 601). Tip: Koncept sledovani aktivity poradovych cisel vysilace je dulezitym rysem systemu pro detekci pruniku a pouziva se pro ruzne analyticke cinnosti. 1 *ri prohh'zeni dalsich paketu v seznamu v okne Packet List vidime pravidelnou aktivitu signalnich ramcu pochazejicich od pfistupoveho bodu, stejne jako nesifrovane datove ramce od mnoha stanice, vcetne pravidelnych paru zprav ICMP Echo Request a ICMP Echo Reply mezi stanicemi 10.9.1.48 a 10.9.1.20. V ramcich 45 a 46 vsak vidime deautentikacni a disociacni ramce wsflane pfistupo- vym bodem na adresu vsesmeroveho vysilani. Tyto ramce jsou legitimni soucasti specifikace IEEE 802.11 a jsou pouzivany pfistupovym bodem pro informovani stanic о tom, ze byly odpojeny od site. Jak deautentikacni, tak disociacni ramce obsahuji parametr v datovem nakladu ramce pro spravu
Zachytavani' bezdratoveho provozu v praxi 297 znamy jako reason code (kod duvodu), ktery urcuje duvod odpojeni stanice od site. Vyber ramce 45 a klepnuti na IEEE 802.11 IEEE 802.11 Wireless LAN Management Frame -» Fixed Parameter odhali kod duvodu pro deautentikaci jako 0x0002, coz znamena, ze drive uskutecnena autentikace jiz neni platna. Vyberem ramce 46 a pfesunem ke kodu duvodu zjistime, ze stanice byla odpojena, protoze pfistupovy bod nebyl schopen obslouzit vsechny aktualne pfipojene stanice (0x0005 (viz obrazek 6.48)). wireless rwc 5.cap Wireshark |« [|П|[Х File Е<& JAew fio Rapture Analyze statistics Help Enter: | Expression... ^lear Appt/ Tim#» Чгмггя Tnfn 4U 2Т8ВЗЗХЧ lu.^.j-.zu xir.9.±.4Ь ьспб Lpingj reply 412.969541 J0:e0:63:82:19:c6 ff:ff:ff:ff:ff :ff Beacon frame,SN-635,fn-0,bi-100, SSID: " " 42 3.071926 30:e0:63:82:19:c6 ff:ff:ff:ff:ff:ff Beacon frame,SN-636,FN-0,BI-100, SSID: ” ” 43 3.174329 30:e0:63:82:19:c6 ff:ff:ff:ff:ff:ff Beacon frame,SN-637,FN-0,Bl-100, SSID: " " 44 3.276712 30:e0:63:82:19:c6 ff:ff:ff:ff:ff:ff Beacon frame,SN-638,FN-0,Bl-100, SSID: ” " 45 3.362224 30:e0:63:82:19:c6 ff:ff:ff:ff:ff:ff Deauthentication,sn-1957,FN-0____________________ DissassQci axe,sn=195B,fn«G 47 3.379120 D0:e0:63:82:19:c6ff:ff:ff:ff:ff:ffBeacon frame,SN-639,FN-0,Bl-100, SSID: " ” 48 3.471535 49 3.479458 50 3.481496 51 3.482215 52 3.533666 SR R 5R5RAQ DO:00:de:ad:be:ef 30:00:de:ad:be:ef 30:e0:63:82:19:c6 30:04:28:43:0c:0a DO:00:de:ad:be:ef ЛП • ПП a rl ho • ₽₽ 00:60:ld:le:67:69 00:60:ld:le:67:69 ff:ff:ff:ff:ff:ff ff:ff:ff:ff:ff:ff 00:60:ld:le:67:69 ПП- АП-1 rl-1 p- A7- AQ Probe Response,SN-1959,FN-0,Bl-64, SSID: Bt Probe Response,SN-1960,FN-0,Bl-64, SSID: Br Beacon frame,SN-640,FN-0,Bl-100, SSID: " who has 10.9.1.204? Tell 10.9.1.20 Probe Response,SN-1961,FN-0,Bl-64, SSID: Br Prnho QA1 CMsO RT жA4 ^ТГ)1 Rr й Frame 46 (26 byres on wire, 26 bytes captured) t IEEE 802.11 - IEEE 802.11 wireless LAN management frame a Fixed parameters (2 bytes)____________________ Reason code: OisassDelated because ap is unable to handle all currently associated stations г > 0000 aO 00 do CO ff ff ff ff ff ff 00 eO 6382 19 c6 ................. ....c... 0010 00 eO 63 82 19 c6 60 7a BOB . .c...'z (Reason for unsokfced rotfration twk»n rngt.hxed reason cocle)/ 2 .. [p: 8459 D: 8459 M: 0 Obrazek 6.48 Analyzy kodu duvodu deautentikace a disasociace - data zachycena v realnem sitovem prostredi 5 Peclivym prozkoumanim okna Packet List muzeme narazit v zachycenych datech na nekolik neob- vyklych stavu: ♦ Signal v ramo 47 nasleduje po ramcich deautentikace a disasociace s neobvyklym pofadovym cislem. Pocinaje dvema signalnimi ramci pfedchazejicimi deautentikacnim rameum je sled pofa- dovych cisel 637 (signalni ramec), 638 (signalni ramec), 195” (deautentikace), 1958 (disasociace) a 639 (signalni ramec). Deautentikacni a diasociacni ramce byly vyslany ze stejne adresy MAC jako signalni ramce, avsak nedodrzuji standardni konvenci pro vyber pofadoveho cisla. ♦ Za ramcem 47 se nachazeji dva ramce s odpovedi na zadost о sondaz s pofadovymi cisly, ktera nasleduji pfedchozi deautentikacni a diasociacni ramce, avsak koliduji se signalnim ramcem. Tato situace je z pohledu pofadovych cisel neobvykla, nebot’ pozorujeme odpovedi, aniz bychom videli patficne ramce se zadostmi о pruzkum. Je vsak mozne, ze nas sniffer jednoduse zahodil ramce se zadostmi - s tim musime pocitat. ♦ Zdrojova adresa MAC ramce se zadosti о pruzkum je 00:00:de:ad:be:ef. I kdyz je to z formalniho hlediska platna adresa MAC, nem to puvodni adresa pfifazena stanici vysilajici tento paket. ♦ Obsah SSID ramce s odpovedi na zadost о pruzkum je odeslan na vsesmerove SSID (SSID nulo- ve delky znamena SSID odeslane vsesmerove). To je take neobvykle, nebof pfistupovy bod iniisi
298 Kapitola 6: Sniffovani' bezdratovych siti pomoci Wiresharku zahrnout SSID do ramce s odpovedi na zadost о pruzkum, i kdyz se jedna о skryte SSID. (Na teto siti je maskovane SSID reprezentovano znakem jedne mezery.) Vsechny tyto faktory poukazuii na skutecnost, ze deautentikacni a disasociacni ramce byly zfalso- vany a nejsou vysilany legitimnim zdrojem. Ramce s odpovedi na zadost о sondaz byly odeslany ve snaze zmanipulovat sit’ tak, aby nad ni utocnik ziskal urcitou kontrolu. Dalsim pruzkumem obsahu zachycenych paketu uvidime deautentikacni a disasociacni aktivity s neobvyklymi pofadovymi cisly, stejne jako nevyzadane odpovedi na zadosti о sondaz s nezvykly- mi zdrojovymi adresami MAC. Touto analyzou muzeme zjistit, zda stav DoS, ktery ovlivnuje uziva- tele, ma svuj puvod v utoku na sit a neni pouze dusledkem chybne komigurace klientu nebo dalsich beznych problemu se siti. Poznamka: Technika pouzita v teto pfipadove studii je znama jako utok NULL SSID DoS, kdy se utocnik pokousi prinutit klientske stanice ke zpracovani upravenych ramcu s odpovedi na zadost о pruzkum ve snaze modifikovat firmware na starsich bezdratovych sitovych kartach. Jako utok DoS je tato akce velmi efektivni, protoze zpiisobuje, ze klientske karty nejsou schopny pripoje- ni, dokud nedojde к jejich dplnemu vypnuti a opetovnemu zapnuti. Vice informaci о teto chybe najdete v databazi Wireless Vulnerabilities and Exploits Database jako danek WWE-2006-0064 (www. wve.org/en tries/show. wve-2006-0064). Utoky typu spoofing v sitich IEEE 802.11 Uvod Vyznamnou slabinou v zabezpeceni siti IEEE 802.11 je nedostatek kryptograhcky bezpecnych kont- rolmch mechanismu integrity pro provoz na bezdratovych sitich. Zatimco modernejsi sifrovaci pro- tokoly jako TKIP nebo CCMP poskytuji bezpecne mechanismy kontroly integrity prostfednictvim obsahu datovych ramcu, neumi zabranit v alespon castecne analyze ramce odesilaneho utocmkem se zfalsovanou zdrojovou adresou MAC. Tato slabina vystavuje bezdratove site hned nekolika typum utoku, vcetne utoku packet spoofing, kdy utocnik pfedstira totoznost legitimni stanice site. Ovlivneire systemy lato analyza se soustfedi na slabiny v sitich WEP, avsak principy analyzy pro identifikaci spoofova- neho provozu plati i pro site IEEE 802.11. Analyza V tomto rozboru zachycenych dat budeme pouzivat soubor wireless-rwc-6.cap. Otevfete tento sou- bor zachycenych paketu ve Wiresharku a podivame se na jeho obsah. Po otevfeni souboru zachycenych paketu uvidime provoz z nekolika stanic a signalni ramce pro SSID WEPNET. Po prozkoumani nekolika prvnich ramcu si mozna vsimnete neobvyklych kombinaci pofa- dovych cisel z adresy 00:13:ce:55:98:ef v ramcich 4 (SN=2651), 8 (2652) a 10 (591). Pfi vyhodnoceni obsahu ramcu je vsak dulezite prozkoumat take stav pfiznaku From DS a To DS, abychom zjistili, zda ramec pochazi ze stanice na bezdratove siti nebo zda je opakovane vysilan pfi- stupovym bodem dalsi stanici na siti. Vyberte ramec 8 a klepnete na IEEE 802.11 -> Frame Control -> Flags, diky cemuz budete moci prozkoumat obsah in formace о stavu DS (viz obrazek 6.49).
Zachytavani bezdratoveho provozu v praxi 299 Kdyz se podivame na fadek DS status, uvidime, ze ramec je vysilan distribucnimu systemu (To DS). To znamena, ze ramec 8 je pfenasen bezdratovou stanici pristupovemu bodu. Vyberem ramce 10 a pfesunem na stavovy fadek DS zjistime, ze ramec je pfenasen od distribucmho systemu (From pS) pfistupoveho bodu. To jeste neni pfiznakem utoku spoofovanim, ale spise toho, ze pfistupovy bod pfeposila ramce pochazejici od stanice, jez jsou urceny pro dalsi stanici spojenou s timto pfi- .tupovym bodem. Abychom prozkoumali sekvence poradovych cisel a nalezli pfipadne znamky spoofovacich aktivit, muzeme pouzit zobrazovaci filtr pro analyzu pouze toho provozu, ktery byl zaslan bezdratovou sta- nici distribucnimu systemu: wlan.fc.tods eq 1 and wlan.fc.fromds eq 0 Obrazek 6.49 Analyza poradovych cisel - data zachycena v realnem sit’ovem prostfedi 6 Po pouziti tohoto zobrazovaciho filtru muzeme zamefit pozornost na provoz z bezdratovych sta- nic. V prvnim paketu vidime ramec tunkce NULL s pofadovym cislem 3885 od bezdratove stanice. (Vzpomentc si, ze toto se casto pouziva pro spravu napajeni bezdratovych klientu pro oznameni pfi- stupovemu bodu, ze klient vstupuje do usporneho rezimu.) V ramci 4 mame datovy ramec s pofado- vym cislem 2651 odeslany na jednu adresu, nasledovany ramcem s dalsim pofadovym cislem v serii odeslanym na adresu vsesmeroveho vysilani. Dale mame dalsi ramec funkce NULL, ktery se vraci к puvodni serii pofadovych cisel. Pfi dalsim pohledu na obsah zachycenych paketu vidime dalsi datove ramce zaslane na adresy vsesme- roveho vysilani s pofadovy m cislem, ktere neni casti serie pouzite ramcem funkce NULL. \ yberem jednoho z techto zvlastnich paketu 1 napf. ramce 11) a klepnutim na IEEE 802.11 -> WEP Parame- ters zjistime, ze se jedna о sif pouzivajici protokol WEP. V tomto bode jsme zjistili, ze je zde stanice
300 Kapitola 6: Sniffovani bezdratovych siti pomoci Wiresharku vysflajici zfalsovane pakety sifrovane pomoci WEP na adresu vsesmeroveho vysilani - nasim dalsi'm ukolem bude vyhodnotit pfipadny dopad na nasi sit’. Wireshark umi vytvofit jednoduchy, ale dostatecne efektni graf vstupu a vystupu znazornujici cho- vani sifoveho provozu. Klepnete na Statistics -» IO Graphs, cimz otevfete okno IO Graphs (viz obrazek 6.50). Na obrazku 6.50 Wireshark znazornuje charakteristiky zachycenych paketu na zaklade nasich analy- tickych preferenci. Standardne Wireshark vykresluje cas jako osu X a pocet paketu na ose Y. Obrazek 6.50 Analyza v grafu vstupu a vystupu - data zachycena v realnem sifovem prostfedi 6 Tim nam umoznuje zjistit, ze po dobu prvnich 10 vtefin neprobihala na siti neiaka vetsi aktivita, ktera se vsak pozdeji zvysila na objem 1 000 paketu za vtefinu na dobu pfibli/ne 38 vtefin a pote se aktivita vratila opet do normalu, resp. na puvodni minimalni uroven. Muzeme zmenit zamefeni grafu tim, ze zmenime hodnoty os X a Y tak, aby umoznovaly co nejlepsi pohled na sifovou aktivitu. Zmente interval Tick na ose X na 0,1 vtefiny a take hodnotu pixels per tick na 2. Takto graf rozsifite a budete muset rolovat po cele jeho velikosti, abyste byli schopni zhled- nout aktivitu v prubehu celeho zachytavani. Poznamka: Abyste zi'skali lep§i zobrazeni obsahu grafu, muzete zvetsit Sifku okna IO Graphs na libovolne rozliseni podporovane vasi grafickou kartou. Standardne vstupne-vystupni graf znazornuje analyzu veskereho provozu v zachycenych datech. Muzeme pfidat dalsi grafy do tohoto pohledu podle kriterii, ktera zadame prostfednictvim zob- razovacich filtru Wiresharku. V tomto prikladu je uzitecne pfesne urcit, kolik provozu pochazi od bezdratovych stanic (To DS) a kolik provozu pochazi od pfistupoveho bodu (From DS). Klepnete na fadek Graph 2 v textovem poli Filter a zadejte nasledujici zobrazovaci filtr, kterym identifikujete datovy provoz pochazejici z bezdratovych stanic a urceny pfistupovemu bodu: wlan.fc.fromds eq 0 and wlan.fc.tods eq 1
Zachytavani bezdratoveho provozu v praxi 301 pote klepnete na tlacitko Graph 2, kterym aktualizujete zobrazeni vstupu a vystupu (viz obrazek 6.51). Obrazek 6.51 VstupnS-vystupnf graf / Provoz bezdratovych stanic - data zachycena v realnem sit'ovem prostredi 6 Radek s filtrem noveho grafu znazornuje mnozstvi a trekvenci paketu vysilanych z bezdratovych sta- nic na pfistupovy bod. Pf iblizne 30 procent provozu pochazi z bezdratovych stanic a zbyvajici provoz je tvofen provozem zasilanym z pfistupoveho bodu stanicnn nebo kontrolmmi ramci ci ramci pro spravu, ktere nemaji v kontrolni hlavicce ramce nastaveny bity From DS a To DS. Abychom se mohli lepe zamefit na spoofovane pakety, budeme chtit urcit jiste schema paketu a na jeho zaklade vytvofit zobrazovaci filtr, ktery zobrazi pouze tyto pakety. Zjistili jsme, ze vyznamny narust sit’ove aktivity zacal pf iblizne 10 vtef in od zacatku zachytavani dat, takze se muzeme pfepnout zpet do okna Packet List a najit tento bod v case v souboru zachycenych dat, abychom prozkoumali sitbvou aktivitu (viz obrazek 6.52). Nastesti byla tato data zachycena s informacemi hlavicky vrstvy Radio Link, coz nam umoznuje identifikovat dalsi informace о charakteristikach provozu za obsahem hlavicky 802.11 (napf. indi- kator sily signalu je zaznamenan s kazdym zachycenym paketem, stejne jako typ kanalu a informace о rychlosti prenosu). Vyberem paketu 624 a klepnutim na Radiotap Header SSI Signal odhalime silu signalu jako 33 decibelu (dB) pro tento paket funkce NULL, ktery by mel pochazet z legitim- ni stanice. Zopakovantm tehoz procesu pro ramec 629 zjistime, ze sila signalu je 60 dB pro datovy ramec, о kterem se domnivame, ze byl podvrzen. Testovani dalsich paketu odhali podobne infor- mace. Legitimni ramce maji silu signalu mezi 31 dB a 46 dB, zatimco podvrzene ramce maji silu sig- nalu mezi 54 dB a 67 dB. Tato vlastnost muze byl popsana ve zobrazovacim filtru, ktery se postara о zobrazeni pouze podvrzeneho provozu: wlan.fc.tods eq 1 and wlan.fc.fromds eq 0 and wlan.sa eq 00:13:ce:55:98:ef and radiotap.db_antsignal > 50 Tento novy zobrazovaci filtr vraci 12 574 ramcu a zda se, ze vsechny z nich jsou vysilany utocnikem pomoci techniky pro spoofovani paketu. I kdyz tyto ramce nemusi byt uplnym seznamem vsech pod-
302 Kapitola 6: Sniffovani bezdratovych si'ti' pomoci'Wiresharku vrzenych ramcu v souboru zachycenych paketii (je mozne, ze nektere ramce byly pfeneseny s nizsi si'lou signalu), je to dostatecne mnozstvi informaci pro dalsi analyzu. wireless rwc 6.cap Wireshark Fie Capture Analyze Statistics Help fiter: wlan fc tods eq 1 and wlan.fc fromds eq О ж Expression.., clear Apply No. , Time Source Destination Info 607 10.14550^ 00:13:ce:55:98:ef 00:0b:86:a7:3c:b2 NuT 60910.239299 00:13:ce:55:98:ef 00:0b:86:a7:3c:b2 Nul’ 612 10.247871 00:13:ce:55:98:ef 00:0b:86:a7:3c:b2 Nul‘ 61410.342037 00:13:ce:55:98:ef 00:0b:86:a7:3c:b2 Nul‘ 617 10.350303 00:13:ce:55:98:ef 00:0b:86:a7:3c:b2 Null 619 10.444786 00:13:ce:55:98:ef 00:0b:86:a7:3c:b2 Nul1 622 10.452662 00:13:ce:55:98:ef 00:0b:86:a7:3c:b2 Null 1 function (no data),sm-32,fn-0 1 function (no data),sn-33,fn-0 1 function (no data),sh-34,fn-0 1 function (no data),sn-35,FN-O 1 function (no data),sm-36,fn-0 1 function (No data),sm-37,fn-0 function (no data),sm-38,fn-0 I«44 «7-Д 626 10.471359 00:13:ce:55:98:ef ff :ff :ff :ff:ff :ff Data,sn-2676,fn-0 629 10.473752 00:13 :ce: 55:98:ef ff :ff :ff :ff :ff :ff Data,SN-1438,fn-0 t Flags: 0x02 Data Rate: 11.0 Mb/s Channel: 2412 (chan 1) Channel type: 802.11g (0x0480) Antenna: 2 ssi Signal: 33 dB 802.11 FCS: 0xlf3d9584 [correctJ - IEEE 802.11 Type/Subtype: Null function (no data) (36) г-, Ги лтл ГппГ rnl • AvA1 AQ 'i 0000 00 00 lc CO Of Sa 00 dd 65 ba ?4 fa 60 c2 бе ea ...........x.. e.t. ___ 0010 02 16 6c C9 80 04 02 И If 3d 95 84 48 01 02 01 .. 1.. . .Ц .-.. H. .. 0020 00 0b 86 a7 3c b2 00 13 ce 55 98 ef 00 0b 36 a7 ....<... .U...... 0030 3c b2 70 C2 <.p. 551 Signal (dB) (radiotap.<fc antr.‘gnal), 1 byte |P: 631770: 13067 M:0 Obrazek 6.52 Analyza zvysend sit’ove aktivity - data zachycena v realndm sitovem prostredi 6 Obrizek 6.53 Souhrn statistik rdmcu - data zachycend v redlnem sitovem prostredi 6
Zachytavani' bezdratoveho provozu v praxi 303 Se zobrazovacim filtrem pouzitym tak, ze jsou zobrazeny pouze podezfele ramce, muzeme vyuzit analyticke a souhrnne funkce Wiresharku pro shromazdem dalsich informaci о teto aktivite. Klep- nete na Statistics -» Summary a prozkoumejte souhrnne informace (viz obrazek 6.53). Spodni cast Souhrnneho okna Wiresharku urcuje nekolik metrik о provozu pro vsechny ramce v zachycenych datech a pro pakety vracene zobrazovacim filtrem. V tomto pripade nas zobrazovaci filtr ukazuje 37,5 vtefin provozu pro celkovy pocet 12 574 ramcu pfi rychlosti 335 paketu za vtefi- nu. Tato skutecnost nam dava jakousi pfedstavu о rychlosti utoku, ktery se zda die poctu paketu za vtefinu pomerne agresivnim. Kdyz se vratime zpet do okna IO Graphs, muzeme pfidat novy zobrazovaci filtr a graf na tfeti fadek, abychom znazornili spoofovany provoz a porovnali jej s provozem zaslanym klientskymi stanicemi. Zadejte stejny zobrazovaci filtr do textoveho pole Filtr u grafu 3 a klepnete na tlacitko Graph 3. Wireshark zpracuje novy zobrazovaci filtr a vrati novou kfivku ve vstupne-vystupnim grafu (viz obrazek 6.54). Diky teto nove kiivce vidime, ze temef veskery provoz poslany z bezdratove site je spoofovany pro- voz od utocnika. Obrazek 6.54 Vstupne-vystupni graf / Podvrzeny provoz - srovnani - data zachycena v realnem sifovem prostfedi 6 V tomto bode nasi analyzy jsme zjistili nekolik dulezitych faktoru: ♦ Bezdratova sif byla pomerne neaktivni po dobu prvnich 10 vtefin zachytavani paketu. ♦ Utocnik zacal vysilat nelegitimni ramce sifrovane protokolem WEP do bezdratove site, pficemz spoofoval zdrojovou adresu legitimni stanice. ♦ Datovy’ provoz utocnika pfedstavuje temef 100 procent bezdratovych ramcu zaslanych pfistu- povemu bodu. ♦ Utocnik odesila data rychlosti priblizne 335 paketu za vtefinu. ♦ Utocnikova aktivita pomoci podvrzeneho provozu generuje mnozstvi paketu zasilanych pfistu- povym bodem v reakci na spoofovane zadosti.
304 Kapitola 6: Sniffovani bezdratovych siti pomoci Wiresharku S temito informacemi a zakladnimi znalostmi slabin v zabezpeceni siti WEP muzeme urcit, ze utocnik manipuluje sitovym provozem tak, aby byl tento provoz generovan rychleji. Toto je bezna technika pouzivana pfi prolamovani klicu WEP. Pokud je k pfistupovemu bodu pfipojena jen jedna stanice, ktera negeneruje pfilis mnoho sifrovaneho provozu, utocnikovi by mohlo trvat i nekolik tydnu, nez by nahromadil takove kvantum dat, ktere je potfebne pro prolomeni klice WEP. Manipulaci provozu timto zpusobem utocnik zvysil mnozstvi sitoveho provozu na vice nez 300 ramcu za vtefinu. Touto rychlosti bude mit utocnik dostatecne mnozstvi paketu (priblizne 150 000 iedinecnych sifrovanych paketu ie dostatecne mnozstvi pro prolomeni klice WEP) za mene nez 10 minut. Jako administratoii teto site byste meh znat klic WEP pouzivany pro desiirovani provozu. V tom- to pfikladu je klicem WEP fO:OO:fO:OO:fO. Muzeme tento klic poskytnout Wiresharku a zobrazit jak nesifrovany, tak sifrovany obsah kazdeho paketu. Sifrovaci klic zadate klepnutim na Edit -> Preferences -» Protocols -> IEEE 802.11. Zadejte f0:00: fO:OO:fO do dostupneho slotu pro klic WEP a zaSkrtnete pokcko Enable decryption (viz obrazek 6.55). Kdyz skoncite, klepnete na tlacitko OK. Pote co Wireshark opet nahraje zachycene pakety a desifruje kazdy z nich, vsechny pakety uspesne desifrovane pomoci daneho klice WEP budou obsahovat dve zalozky nazvane „Frame" a „Decrypted WEP Data" v okne Packet Bytes. Vyberte ramec 663 (jeden z podvrzenych paketu) a prozkoumejte okno Packet Details, abyste urcili povahu dat (viz obrazek 6.56). Obrazek 6.55 Zadani klicu WEP - skutefna zachycena data 6 Muzeme videt, ze datovy provoz vysilany utocnikem je opakujici se serii zadosti protokolu Address Resolution Protocol (ARP), ktere vyvolavaji pakety s odpovedi ARP od stanic na siti. Tato aktivita potvrzuje nas pfedpoklad, ze utocnik se snazi zvysit mnozstvi provozu na siti, aby mohl nahroma- dit dostatek paketu pro pouziti nastroje k prolamovani klicu WEP. Muzeme se vratit do pohledu se vstupne-vystupnim grafem a pfidat dalsi zobrazovaci filtr pro vyhodnoceni naSeho dfivejsiho zob-
Zachytavani bezdratoveho provozu v praxi 305 razovaciho filtru sily signalu, cimz ovefime, zda se nase prvotni analyza podvrzeneho datoveho pro- vozu shoduje se serif ramcu zadosti protokolu ARP na siti. Obrazek 6.56 Prozkoum^ni obsahu deSifrovanych ramcu - data zachycena v realnem sifovem prostredi 6 Vrafte se tedy do okna IO Graphs a pfidejte tfeti (a posledni) zobrazovaci filtr, ktery identifikuje pouze pakety zadosti ARP na kfivce 4: wlan.fc.tods eq 1 and wlan.fc.fromds eq 0 and wlan.sa eq 00:13:ce:55:98:ef and arp.opcode eq 1 Graph 21 Cc* filter: [Graphs Color filter: X Axis --------— ; Ткк interval: 0.1 sec v P&efe per tick 2 v Y Axis I tit: Packets/Tick v Scale ‘ I Auto "V Obrazek 6.57 Srovnani IO Graph / ARP Reguest Trafic - data zachyceni v геё1пёт sifovem prostredi 6
306 Kapitola 6: Sniffovani bezdratovych siti pomoci Wiresharku Zmente styl fadku pro tento graf z „Line" na „impulse", abyste graf viddli snadndji v kontextu s dal- sirni grafy (viz obrazek 6.57). Mu/eme videt, ze kfivky grahi 3 a 4 se temef shoduji, coz znamena, ze nase analyzy utocnikovy akti- vity zalozene na ukazatelich sily signalu a aktivity desifrovanych protokolu jsou obe spravne. Poznamka:Tato aktivita utoku se shoduje s mechanismem implementovanym v nastroji Aireplay, 'Cs ktery je dodavan v ramci sady nastroju pro prolamovanf klicu WEP a WPA-PSK Aircrack-ng. Tento nastroj ma skupinou Wireless Vulnerabilities and Exploits group prirazen identifikator WVE-2005- 0015. Vice informaci о tomto nastroji najdete na strance www.wve.org/entries/show/WVE-2005- 0015. Analyza poskozeneho datoveho provozu Uvod Dosavadm vyvoj sagy zabezpeceni bezdratovych siti je pouziti tzv. fuzzingu protokolu IEEE 802.11 proti bezdratovym stanicim, aby mohly byt identifikovany chyby v ovladacich. Fuzzing je techni- kou, kdy utocnik zasila zdeformovane pakety, ktere odporuji specifikacim protokolu khentovi nebo serveru. Pokud server nebo klientsky software neni naprogramovan tak, aby byl schopen zpracova- vat neplatne pakety, muze byt takto nekdy navozen chybovy stav v aplikaci, ktery muze byt utocni- kem zneuzit. Dalsi informace Г i Fuzzing protokolu IEEE 802.11 Dalsim rozsifenim seznamu technik, ktere mohou byt pouzity pro kompromitaci zabezpe- ceni bezdratove site, je pouziti fuzzingu protokolu IEEE 802.11. Fuzzing je technika pouzi- vana pracovniky v oblasti vyzkumu zabezpeceni, ale take utocniky pro identifikaci slabin softwaru, kteremu jsou pfedlozena neocekavana data. Tato technika je casto pouzivana pro identifikaci pfipadnych bezpecnostnich slabin v programech, u kterych by zneuzit! techto , slabin mohlo vest к prospechu utocnika. Jakmile utocnik urci sekvenci dat, ktera zpusobi, ze se napadeny system zacne chovat jinak, nez jak pfedpokladal autor aplikace, tato posloup- nost akci je transformovana do podoby tzv. exploitu, ktery muze byt opakovane pouzivan proti zranitelnym stanicim. V pfipade bezdratovych siti LAN IEEE 802.11 se fuzzing pouziva j pro identifikaci slabin v ovladacich zarizeni, ktere po obdrzeni deformovanych dat nebo dat necekanych hodnot ci formatu vykazuji ruzne anomalie. Tyto ramce mohou byt delbrmova- ny napf. porusenim pravidel danych specifikaci IEEE 802.11 nebo narusenim ocekavaneho pofadi a casovani jinak legitimnich paketu. Pouziti fuzzingu nemusi byt vzdy nutne motivovano zlym umyslem. Pokud vyzkumnik pouzi- ; va tuto techniku к identifikaci pfipadnych chyb v ovladacich stanic a pouziva eticke zpusoby odhalovani ziskanych ii iformaci о chybach vyrobci ovladacu, budou vsichni uzivatele daneho bezdratoveho produktu profitovat z vyssi kvality jinak chyboveho softwaru. Pokud vsak dotyc- ny vyzkumnik nema v umyslu etickym zpusobem informovat о slabine, ale misto toho spise vytvafet exploity pro svuj vlastni prospech nebo к prodeji jinym osobam, ktere tyto exploity I
Zachytavani bezdratoveho provozu v praxi 307 vyuziji se zcela jinou motivaci, nez je eticke chovani, stava se riziko organizace pouzivajici takoveto chybne zarizeni dosti vyznamnym. I Na bezdratove siti LAN plati, ze kazdy utocnik, ktery se dostane do fyzicke bhzkosti site obeti, muze injektovat pakety, ktere budou prijimany bezdratovymi stanicemi bez ohledu na pouzite sifrovaci nebo ovefovaci mechanismy. Pokud utocnik muze urcit zranitelnost v procesu zpra- covam paketu, muzete toho pro ochranu site udelat skutecne malo. Tato neblaha situace je umocnena faktem, ze existuje jen malo softwaru, ktery by dokazal ochranit integritu klient- skych systemu na vrstve bezdratove site LAN (v modelu OSI je to vrstva 2). Vetsina firewallu a dalsich nastrojft pro zabezpeceni (napr. nastroje pro prevenci pruniku na urovni hostitele) zacina vyhodnocovat provoz az na tfeti vrstve a vyse, cimz casto nechava stanice zranitelne a slepe к utokum na druhe vrstve. Nastesti vsak nezavisli vyzkumnici v oblasti zabezpeceni aktivne vyhledavaji a identifikuji tyto slabiny a sdeluji je vyrobcum ovladacu ve snaze vyresit problemy jeste pfedtim, nez budou slabiny zneuzity utocniky. Organizace dbajici na bezpecnost by mely venovat zvlastni peci ovladacum, resp. jejich pravidelne aktualizaci, a take analytickym nastrojum vyssich vrstev (jako systemum pro detekci pruniku) pouzivanym pro identifikaci spornych aktivit na kom- promitovanych systemech (napr. informace IRC nebo znamky intekce spywarem ci dalsiho neautorizovaneho pouzivani site) a pripadne sledovam napadenych stanic. Ovlivneire systemy lato analyza se tyka bezdratovych siti LAN, kde se utocnik muze dostat do fyzicke bh'zkosti bez- dratove site. Analyza V tomto rozboru zachycenych dat budeme pouzivat soubor wireless-rwc-7.cap. Otevrete tento sou- bor zachycenych paketu ve Wiresharku a podivame se na jeho obsah. Tyto zachycene pakety obsahuji 4baitovou FCS na konci kazdeho ramce, avsak Wireshark nema jak vedet, ze zde FCS je. Abychom mohli analyzovat obsah techto zachycenych dat, oznamime Wireshar- ku, aby ocekaval informace FCS. Klepnete na Edit -> Preferences -» Protocols -> 1EFE 802.11 a ujis- tete se, ze je vybrana polozka „Assume packets have FCS“. Klepnete na tlacitko OK. Po otevreni zachycenych paketu uvidime provoz ze site s SSID Lexie a NETGEAR stejne jako nesit- rovane datove ramce v podobe zadosti a odpovedi zprav ICMP echo. Pfi rolovani seznamem pake- tu si vsimnete informacniho sloupce u ramce 42, ktery je oznacen jako „Reassociation Response, SN=4027,FN=0[Malformed packet]". Toto je mechanismus Wiresharku pro indikaci toho, ze tento paket neni v souladu s pravidly pro ramovani paketu podle specitikace IEEE 802.11. lakmile Wireshark narazi na paket, jehoz obsah je vyhodnocen jako neplatny, zastavi dalsi zpracovani ramce a vlozi sti- tek „Malformed Packet ‘. Muzeme se pfesunout do okna Packet Details a urcit obsah. diky kteremu byl ramec oznacen jako neplatny, a to tak, ze se podivame na konec okna Packet Details. V ramci 12 klepnete na IEEE 802.11 Wireless LAN Management Frame -> Tagged Parameters -> Reserved Tag Number. Wireshark se pokusi dekodovat tuto informaci, jak muzete videt na obrazku 6.58:
308 Kapitola 6: Sniffovani bezdratovych siti pomoci Wiresharku Obrazek 6.58 Posouzenf deformovanych гётсй - data zachyceni v realndm sitovem prostredi 7 V tomto pfipade vidime, ze informacni element datoveho nakladu ramcu pro spravu neni Wireshar- kem spravne vyhodnocen. Vsechny znackovane parametry v paketech pro spravu IEEE 802.11 jsou formatovany nasledujicim zpusobem: Typznafky (1 bajt) Delka znacky (1 bajt) Data (ruzna delka odpovidajici deice znaCky, mezi 0 a 255 bajtu) V tomto pfikladu Wireshark urcuje cislo znacky jako 755 nebo 0x9b s delkou 65 bajtu (0x41). Avsak na konci paketu pred FCS zbyva jen 8 bajtu, nikoliv 65, jak je urceno parametrem delky ramce. Tato skutecnost zpusobila, ze Wireshark oznacil paket jako deformovany. Poznamka: Wireshark oznacuje tento paket jako deformovany, protoze ohlaSen^ delka pfesahuje podet zbyvajicich bajtu v paketu a protoze Wireshark vi, ze obdrzel 100 procent bajtu v paketu, jak udava informace о ddlce гётсе a informace о deice zachycenych dat. Wireshark vSak take identi- fikuje tento znadkovany parametr jako parametr pouzivajici vyhrazene cislo znadky. V prubehu vyvoje Wiresharku autori ruznych disektoru udrzovali software aktualni vzhledem к podporovanym protokolum a hodnotam pouzivanym v techto protokolech. Avsak v prubehu dasu standardizacni organizace jako IEEE a IETF mohou vymezit drive vyhrazene hodnoty pro nove pouziti v existujicich protokolech. Proto tedy Wireshark nepredpoklada, ze je paket neplat- ny jen proto, ze by nevedel, jak interpretovat pozorovanou hodnotu, jako napfiklad cislo znacky 155 v tomto prikladu. Pozorovani jedineho deformovaneho ramce je§te nemusi nutne znamenat, ze zachycena data jsou produktem fuzzingovych technik nebo dalsich pfipadnych nepfatelskych aktivit. Je mozne, ze dany ramec byl prost£ poskozen pfi prenosu nebo ze stanice vysilajici tato data je vadna a posila neplatne
Zachytavani' bezdratoveho provozu v praxi 309 ramce. Zkontrolovanim obsahu pole FCS muzeme snadno zjistit, zda duvodem deformace ramce je prvni ze dvou vyse uvedenych podminek. V ramci 42 klepndte na IEEE 802.11 -> Frame Check Sequence. Vidime, ze Wireshark hlasi hodnotu FCS jako 0x4e2e3e6f, kterou hodnoti jako spravnou pro tento paket. I kdyz je mozne, ze paket mohl byt modifikovan se soucasnym zachovanim platne- ho FCS, je to vysoce nepravddpodobne. Muzeme tedy pfedpokladat, ze paket byl pfijat pfesne tak, jak byl odeslan. Zustava nam druha moznost, a to moznost chybne implementace, ktera by rovnez vedla к domnen- ce, ze bychom videli vice paketu, ktere sdileji charakteristiky vyhrazeneho cisla znacky s delkou, ktera nem vetsi nez pocet bajtu dostupnych v zachycenych datech. Muzeme pouzit zobrazovaci filtr pro urceni dalSich ramcu, ktere jsou podobne ramci 42, abychom se pokusili dokazat nebo vyvratit tuto teorii. Klepndte pravym tlacitkem mysi na Reserved Tag Number a vyberte Prepare a filter -> Selected. Takto do pole Filter umistite nasledujici text: frame[174:10] == 9b:41:66:6f:11:22:53:d6:d2:9f Tento filtr sdeluje Wiresharku, aby zacal hledat od 174. bajtu lObajtovou sekvenci 9b:41:66:6f:l 1:22:53: d6:d2:9f (vsimnete si, ze 0x9b je vyhrazena znacka nebo 155, 0x41 je neplatna delka [65] a zbyvajici bajty predstavuji aktualni data nasledujici po teto znacce). Klepnuti na tlacitko Apply vyzve Wireshark ke zpracovam tohoto zobrazovaciho filtru a zobrazi pouze ramce, ktere vyhovuji teto charakteristi- ce. Kdyz je zobrazovaci liltr pouzit, vidime jen jediny ramec s tdmito vlastnostmi, coz cini moznost chybne nnplementace generujici tento deformovany ramec mene pravddpodobnou. Nastesti Wireshark ma schopnost provedeni expertni informacni analyzy, aby identifikoval anoma- lie jako deformovane ramce v zachycenych paketech. Namisto prohlizeni zachycenych dat a hledani informacnich fadku, ktere by poukazovaly na neplatne ramce, muzeme pouzit funkci Expert Infor- mation klepnutim na Analyze Expert Info Composite. Wireshark zhodnoti obsah paketu a ote- vfe nove okno (viz obrazek 6.59). Obrazek 6.59 Analyza expertnich informaci - data zachycena v re£ln£m sitovem prostredi 7 Vidime, ze Wireshark detekoval 407 neplatnych ramcu v tdchto zachycenych paketech. Rozsifenim seznamu neplatnych ramcu klepnutim na tlacitko plus (+) ve sloupci skupiny odhahme seznam paketu, ktere jsou neplatne. Klepnutim na libovolny identifikator paketu se aklualizuje okno Packet List a zobrazi obsah vybraneho paketu. Klepnutim na zalozku Details zobrazime daUi informace pro kazdou z detekovanych chyb (viz obrazek 6.60).
310 Kapitola 6: Sniffovani bezdratovych siti pomoci Wiresharku Obrazek 6.60 Analyza expertnich informaci' - okno s podrobnymi informacemi - data zachycena v realnem sifovem prostfedi 7 Zde muzeme videt, ze kazdy z neplatnych ramcu ma vyjimku v analyze protokolu IEEE 802.11. Vyber- te ramec 67 а к1ерпё1е na IEEE 802.11 Wireless LAN Management Frame -> Tagged Parameters, abyste videli seznam znackovanych parametru. Opet se Wireshark pokousi provest rozbor obsahu znackovanych parametru, ale charakterizuje kazdou zna£ku jako vyhrazene cislo znacky. Rozbaleni posledni znacky v datovem nakladu pro spravu odhaluje, ze pouziva cislo znacky 64 s delkou 62 bajtu, prestoze v datovem nakladu paketu zbyva pouze 28 bajtu (krome 4 bajtu pro zaverecny FCS). Po navratu do hlavniho okna Wiresharku muzeme pouzit funkci zobrazovaciho filtru pro zobrazeni pouze neplatnych ramcu pomoci nasledujiciho filtru: malformed Obrazek 6.61 Filtrovani neplatnych r^mcii - data zachycena v геё1пёт sit’ov£m prostfedi 7
Zachytavani bezdratoveho provozu v praxi 311 Zadejte tento zobrazovaci fetezec do textoveho pole Filter a klepnete na Apply. Wireshark zobrazi seznam vsech ramcu, ktere byly identifikovany jako neplatne (viz obrazek 6.61). V tomto zobraze- ni zkoumame pouze neplatne ramce, ktere nam о nekterych zachycenych paketech davaji ponekud kuriozni informace: Ф Kazdy neplatny ramec ma konzistentni zdrojovou a cilovou adresu MAC. > Ramce jsou ruznych typu vcetne odpovedi na reasociaci, zadosti о reasociaci, zadosti о sondaz, akce, odpovedi na sondaz, signaly atd. To je neobvykle, nebot’ ramce, ktere by mely byl vysflany pouze pfistupovym bodem (signalni ramce, odpovedi na reasociaci, odpovedi na sondaz), jsou smichany s ramci, ktere by mely byt vysilany pouze stanicemi (zadosti о sondaz, zadosti о rea- sociaci, asociacni zadosti). ♦ Jednotlive ramce obsahuji nepfilis verohodne hodnoty. Ramec 278 ukazuje signalni interval о dei- ce 42 281 milisekund (ms) (BI=42281), coz znamena, ze pfistupovy bod vysila signaly' kazdych 43,3 vtefin, a to je hodnota odlisna od standardni desetivtefinove konvence. Podobne ramec 472 hlasi signalni interval 18 146 neboli signal kazdych 18,1 vtefin. Vyber jednotlivych ramcu odhaluje vice abnormalnich aktivit (napf. ramec 311 je identitikovan jako ramec akce, novy typ ramce pro spravu navrzeny pro podporu pracovnich skupin standardu IEEE 802.1 Ih, IEEE 802.1 Ik a IEEE 802.1 Ir). Bajt s pfiznaky v kontrolni hlavicce ramce pro tento ramec ma nastaven bit To DS a bit From DS je prazdny, coz znamena, ze jde о bezdratovou stanici, a niko- liv о pfistupovy bod, ale take ma nastaven bit pro spravu napajeni (znamenajici, ze stanice se chys- ta vsloupit do usporneho rezimu) a nastaven je rovnez bit „more data" (dalsi data) (znamenajici, ze jde о pfistupovy bod, ktery ma docasne ulozene pakety cekajici na doruceni cilove stanici). Dale je nastaven i bit pro striktni pofadi, ktery se obecne v implementaci IEEE 802.11 nepouziva a mel by byt prazdny. Tip: Skvelym mistem, kde ziskat informace о nadchazejicich standardech IEEE 802.11, je stran- ka IEEE 802.11 timelines, kde kazda z pracovnich skupin poskytuje strucny prehled svych aktivit a odhad planovaneho schvalem standardu nebo doplnku. S kazdou Okolovou skupinou je spojen formulcif zadosti о autorizaci projektu a schvalovaci dopis, ktery dokumentuje zcimery pracovni skupiny a podrobnou stranku о stavu aktivit dane skupiny. Stranka IEEE 802.11 timelines je dostup- na na adrese http://grouper.ieee.Org/groups/802/11/Reports/802.11_Timelines.html. Nase analyza poukazuje na pfitomnost fuzzingu protokolu IFEE 802.11. Nas zobrazovaci filtr pro deformovane pakety odhalil pfes 400 paketu, ktere maji nastaveny konfliktni hodnoty poli a hodnoty ve vyhrazenych polich. Dalsi analyza vsak take indikuje, ze techto 400 ramcu nejsou jen pakety, ktere se zdaji byt vysledkem fuzzingu. Pou/ijte nasledujici zobrazovaci liltr pro identifikaci vsech ramcu s konzistentni zdrojovou a cilovou adresou, ktere jsme oznacili v tomto datovem provozu. wlan.sa eq 00:07:0e:b9:74:bb and wlan.da eq 00:20:a6:4c:d9:4a Pouziti tohoto filtru nam vrati 4 580 ramcu (viz obrazek 6.62). I kdyz mnohe z techto ramcu nejsou Wiresharkem rozpoznany jako deformovane ramce, zdaji se mit podobne charakteristiky, ktere nas vedou к tomu, abychom uvefili, ze jsou vysledkem fuzzingu protokolu IEEE 802.11. Napfiklad ramec 55 je ohlasen jako fragmentovany paket - песо, co na bez- dratove siti LAN nevidime casto. Avsak tento ramec take indikuje, ze stanice se chysta vstoupit do usporneho rezimu, cimz vlastne fika: „Tady je prvni cast paketu, ted’jdu spat, takze bud’ tak laskav a pohlidej mi to zatim."
312 Kapitola 6: Sniffovani bezdratovych siti pomoci Wiresharku Z pohledu bezpecnostniho vyzkumnika je Wireshark nepostradatelnym nastrojem pro analyzu vysled- ku fuzzingovych aktivit, a to zejmena svou schopnosti zmensit objem dat na ta data, ktera pusobi nespravne chovani cilovych stanic. Z pohledu analyzy pruniku neni pravdepodobne, ze byste takovyto druh provozu na sve siti videli, protoze vetsina techto paketu nevyvola odezvu u cilovych stanic. Spise system pro detekci pruniku mistni bezdratove site bude pozorovat nekolik гатей zaslanych dtocni- kem, ktery se snazi reprodukovat identifikovanou zranitelnost, aby mohl napadnout system obeti. Obrazek 6.62 Filtrovani konzistentnich zdrojovych a cilovych adres - data zachycena v realnem sitovem prostredi 7
Rychla reseni 313 Shrnuti Sniffovani paketu na bezdratovych sitich pfedstavuje jedinecne vyzvy, ktere se lisi od tech, s nimiz se muzeme setkat pfi zachytavani dat na kabelovych sitich. Nastesti mnoho bezdratovych karet podporuje schopnost zachytavani bezdratoveho provozu bez nutnosti pfipojovat se к siti, a to diky monitorovacimu modu. S pouzitim dostupnych nastroju a ovladacu pro systemy Windows i Linux muzete pouzit standardm bezdratove karty pro zachytavani provozu na bezdratovych sitich pro podrobnou analyzu. Schopnosti bezdratove analyzy Wiresharku vyrostly a dospely ve velmi obhbene a velmi vykonne nastroje pro feseni problemu a analyzu bezdratovych protokolu. Diky zobrazovacim filtnim Wireshar- ku a vykonnym disektorum protokolu muzete prosevat obrovska kvanta bezdratoveho provozu a iden- tifikovat urcite podminky nebo hodnoty poli, ktere hledate, nebo vyloucit nechtena data, dokud vam nezustanou jen ta data, ktera potrebujete pro vyhodnoceni vaseho sitoveho provozu. V teto kapitole jsme probrali nekolik pfikladu zobrazovacich filtru ziskanych na zaklade potfeb provadeni analyzy v praxi, ktere muzete pouzit pro analyzu vasi vlastni site. Wireshark se pfi analyze bezdratove site neomezuje na pouzivani zobrazovacich filtru; muzeme take vyuzit vyhody dalsich analytickych J unkci zabudovanych ve Wiresharku pro zjednoduseni analyzy bezdratovych siti. Funkce jako napf. barevne odliseni paketu nam umoznuji vyuzivat zobrazovaci filtry к unikatnimu zbarveni paketu v okne Packet List, diky сети/ muzete provest prvotni vyhod- noceni zachycenych dat uz na prvni pohled. Pokud vase zachycena data obsahuji take informace о sile radioveho signalu nebo pfenosove rychlosti, Wireshark muze tyto informace zviditelnit take, a to pfidanim vizualni informace о kondici a robustnosti konektivity bezdratoveho klienta. Nakonec, je-li Wireshark nakonfigurovan pomoci spravneho klice WEP, muze dynamicky desifrovat provoz a jeste vice tak zjednodusit ukol feseni problemu se siti. Prozkoumali jsme take nekolik souboru zachycenych paketu pofizenych jak v realnem, tak labora- tormm prostfedi, abychom demonstrovali moznosti analyzy a feSeni problemu v bezdratovych sitich pomoci Wiresharku. Bez sebemensich pochyb muzeme fici, ze Wireshark je mocnym a vykonnym nastrojem pro vyhodnocovam a analyzu bezdratovych siti, ktery by mel byt soucasti sady nastroju kazdeho auditora, systemoveho ci sitoveho inzenyra a konzultanta. Rychla feseni Techniky proefektivni sniffovani bezdratovych siti ♦ Bezdratove karty mohou sniffovat pouze na jednom kanalu v danem okamziku. ♦ Channel hopping se pouziva pro rychle pfepinani kanalu a strucne zachyceni datoveho provo- zu. ♦ Interference miize zpusobit ztraty datoveho provozu a nekompletni zachyceni paketu. ♦ Umistete zachytavajici stanici pobliz sledovane stanice, zakazte vsechny rmstni vysilace a snizte vytizeni procesoru.
314 Kapitola 6: Sniffovani' bezdratovych siti pomoci Wiresharku Operacni mody bezdratovych karet ♦ Bezdratove karty pracuji v ru/nych modech, jako spravovany mod, master, ad-hoc a monitoro- vaci mod. ♦ V monitorovacim modu karta pasivne zachytava bezdratovy provoz, aniz by se pfipojila к siti. ♦ Bezdratove karty v monitorovacim modu bezne nevysilaji data. Konfigurace Linuxu pro zachytavani v bezdratovych sitich ♦ Ovladace kompatibilni s Wireless Extensions pouzivaji utilitu iwconjig pro konfiguraci monito- rovaciho modu. ♦ Linuxove ovladace MADWIFI pro karty Atheros pouzivaji utilitu wlanconfig pro konfiguraci monitorovaciho modu. ♦ Linuxove ovladace kompatibilni s Wireless Extensions a ovladace MADWIFI pouzivaji utilitu iwconfig pro specifikaci cisla kanalu. Konfigurace Windows pro zachytavani v bezdratovych sitich ♦ Operacni system Windows nema zabudovany mechanismus pro pouziti bezdratovych ovladacu v monitorovacim modu. ♦ Pro zachytavani provozu v monitorovacim modu muzete pouzit komercni ovladace AirPcap spo- lecne s adapterem ve forme USB donglu. Pouzivani disektorO bezdratovych protokolO ♦ Statisticka informace о ramcich je obsazena jako prvni skupina poli v okne Packet Details. ♦ Disektory protokolu extrahuji a vypisuji pole v hlavicce a datovem nakladu IEEE 802.11. ♦ Hlavicka a datovy naklad IEEE 802.11 mohou byt velmi komplexni, avsak data mohou byt snad- no vyhodnocena pomoci disektoru. Uzitecne zobrazovaci filtry pro bezdratove site ♦ Zobrazovaci filtry mohou byt pouzity na libovolna pole hlavicky nebo datoveho nakladu IEEE 802.11. ♦ Pfidanim podminek AND a OR do filtru muzete vytvorit velmi komplexni zobra/ovaci filtry. ♦ Pfi hledani specifickych kolekci dat muzete pouzit inkluzivni filtry, ale tyto filtry najdou uplat- neni i pfi odstranovani nezajimavych dat ze seznamu paketu. Vyuzivani funkci Wiresharku pro analyzu bezdratovych siti ♦ Pravidla pro barevne odliseni vyuzivaji zobrazovacich filtru pro identifikaci vyhovujicich pod- minek zobrazovacich filtru. ♦ Pouziti nekolika uzitecnych pravidel pro barevne odliseni muze proces analyzy velkeho objemu dat znacne zjednodusit.
Caste dotazy Nasledujici casto kladene otazky byly zodpovezeny autorem teto publikace a jsou zde umisteny proto, abyste mohli zhodnotit sve porozumeni danemu tematu, a take vam pomohou pfi uplatneni teore- tickych znalosti v podminkach realneho prostfedi. Otazka: Mohu pouzit Wireshark pro analyzu pruniku do bezdratove site? Odpoved: Funkce zobrazovacich filtru Wiresharku mohou byt pouzity pro identifikaci nekterych utoku na bezdratove site, jako napf. deautentikacni utok DoS (wlan.fc.type_subtype eq 12), utok pomoci falesneho AP (FakeAP) (wlan_mgt.fixed.timestamp < „0x000000000003d070“) a pouziti NetStumbleru (wlan.fc.type_subtype eq 32, llc.oui eq 0x00601d a llc.pid eq 0x0001), avsak nemuzeme fici, ze by Wireshark byl plnohodnotnou nahradou sofistikovaneho systemu pro detekci pruniku pro bezdratove site. Otazka: Mohu pouzit Wireshark pro prolomeni bezdratoveho sifrovaciho klice? Odpoved: Nikoliv, Wireshark neobsahuje zadne funkce pro prolamovani klicu. Wireshark muze desifrovat provoz protokolu WEP, ale jen kdyz je nakonfigurovan pomoci spravneho klice WEP. Otazka: Mohu pouzit Wireshark pro analyzu provozu zachyceneho programem Kismet? Odpoved: Ano, Kismet vytvafi nekolik typu vystupnich souboru vcetne souboru libpcap s pfiponou .dump. Wireshark umi tyto soubory otevfit a zpracovat soubory libpcap vytvofene Kismetem. Otazka: Mohu pouzit Wireshark pro analyzu provozu zachyceneho programem NetStumbler? Odpoved: Nikoliv. NetStumbler nezachytava data v monitorovacim modu a nevytvaf i soubory zachy- cenych dat ve formatu libpcap. Otazka: Ktera karta je nejlepsi pro bezdratovou analyzu? Odpoved: Bezdratove karty s cipovou sadou Atheros jsou zname jako efektivni pfi zachytavani bez- dratoveho provozu na linuxovych systemech a casto take umoznuji pfepinat mezi standardy IEEE 802.1 la, 802.1 lb a 802.11g. Navstivte databazi produktu Atheros na strance http://customerproducts. atheros.com/customerproducts/ResultsPageBasie.asp, kde muzete urcit, zda je urcita karta postavena na cipove sade Atheros. Pro pocitace s operacnim systemem Windows jsou idealni adaptery AirPcap, ktere take spolupracuji s Wiresharkem, avsak zatim nepodporuji kanaly IEEE 802.11a. Otazka: Mohu pouzit Wireshark pro zachytavani provozu, zatimco jsem pfipojen к pfistupovemu bodu? Odpoved: Kdyz je karta asociovana s pfistupovym bodem, pracuje ve spravovanem modu. Nekte- re ovladace umoznuji zachytavat provoz i ve spravovanem modu, ale data jsou reportovana, jako by pfichazela ze standardniho ethcrnetoveho rozhrani. Kvuli tomu neuvidite ramce pro spravu, kon- trolni ramce a data urcena pro jine site. Otazka: Umi Wireshark sniffovat na sitich IEEE 802.1 la/b/g/n? Odpoved: Wireshark neni omezen schopnosti sniffovani na fyzicke vrstve bezdratove site do te miry, do jake je ovladac kompatibilni s libpcap/winpcap a bezdratova karta podporuje monitorovaci mod v danem spektru. V dobe vzniku teto knihy se zacinaji objevovat site 802.11 n; pokud vase bezdrato- va karta a ovladac podporuji monitorovaci mod pro modulaci 802.1 In, Wireshark muze byt pouzit i pro zachytavani provozu na takoveto siti.
316 Kapitola 6: Sniffovani bezdratovych siti pomoci Wiresharku Otazka: Jak mohu prozkoumat informace о sile signalu v datech zachycenych Wiresharkem? Odpoved: Wireshark zobrazi informaci о sile signalu v kazdem souboru zachycenych paketu, ktery obsahuje tyto informace v obsahu hlavicek ramcu. Nektere soubory zachycenych dat mohou obsahovat pouze obsah hlavicek 802.11, ktery neobsahuje informace о sile signalu. Pri zachytavani dat na bez- dratove siti pouzivejte typy Radiotap nebo Prism AVS link pro zachyceni informace о sile signalu.
KAPITOLA 7 Zachytavani paketu v praxi Reseni v teto kapitole: ♦ Skenovani ♦ frojany pro vzdaleny pfistup ♦ Rozbor cervu ♦ Aktivni odezva ♦ Shrnuti ♦ Rychla feseni ♦ Caste dotazy
318 Kapitola 7: Zachytavani' paketu v praxi Uvod N\ ni, kdyz vfte, jak Wireshark pracuje a jak jej pouzivat, jste dostatecne vyzbrojeni a pfipraveni pro analyzu paketu zachycenych v prostfedi skutecne site. V teto kapitole probereme prakticke zachy- tavani paketu a datoveho provozu, ktery muzete sledovat na sve siti. Naucite se, jak cist zachycena data, na co se zamerit a jak rozeznat ruzne typy sitoveho provozu. Na webovych strankach Proje- ct Honeypot na adrese http://project.honeypot.org jsou к dispozici ruzne soubory zachycenych dat ktere jsou pouzity v teto kapitole. Tato data jsme take pfidali na doprovodne CD do slozky /captures. Na strance Project Honeypot mimo jine najdete skvelou vyzvu nazvanou Scan of the Month (Sken mesice), ve ktere muzete procvicit sve zachytavaci schopnosti. Skenovani Skenovani site se pouziva pro identifikaci dostupnych sitbvych prostfedku. Mozna jste se setkali take s alternativninu nazvy pro tuto cinnost, at’ uz je to pruzkum, objevovant ci enumerace. Skenovani muze byt pouzito к objeveni dostupnych hostitelu, portu nebo prostfedku na siti. Jakmile je jednou zranitelny prostfedek odhalen, muze byt zneuzit a zarizeni kompromitovano. Nekdy je za skenova- nim skutecny utocnik a jindy muze byt skenovani projevem aktivity sitoveho cerva. V teto sekci se zamefime na aktivni skenovani utocniku a aktivity cervu, ktere jsou popsany dale v teto sekci. Bez- pecnostni profesionalove pouzivaji skenovani siti take proto, aby jim pomohlo pfi zabezpecovani siti a provadeni jejich auditu. V teto sekci pouzivame soubor Scanl.log, ktery obsahuje nekolik ruz- nych typu skenu a byl poskytnut organizaci Honeypot Research Alliance jako cast projektu Scan of the Month bcziciho na webu Honeypot Project. Soubor Scanl.log najdete na doprovodnem CD ve slozce /captures. Poznamka: Protokol Transmission Control Protocol (TCP) je tzv. spojovany protokol a spojeni je zah^jeno tzv. tricestnym handshakem. Tricestny handshake protokolu TCP se sklada z poc^tecniho paketu zaslaneho s nastavenym priznakem SYN, v odpovedi na nej je zaslan paket s nastavenymi pnznaky SYN a ACK a tretim paketem v poradi je paket s priznakem ACK. Sken typu „TCP Connect" Prvni sken, kterym se budeme zabyvat, je sken TCP Connect, ktery se pouziva pro detekci otevfenych portu a sluzeb na nich naslouchajicich na cilovem zafizeni. Tento typ skenovani je zcela zakladni, protoze pracuje na principu vykonani uplneho handshaku TCP na otevfenem portu. Utocnik zasle paket s pfiznakem SYN a analyzuje odpoved*. Odpovedni paket s pfiznakem Reset (RST) a Acknow- ledgment (ACK) znamena, ze port je uzavfen. Pokud utocnik obdrzi paket SYN/ACK, znamena to, ze port je otevfen a Ize jeho prostfednictvim komunikovat. Pote utocnik odpovi paketem ACK nasledovanym paketem RST/АСК, kterymi spojeni bezprostfedne ukonci. Vyse popsany princip cini tento typu skenu snadno odhalitelnym, protoze pfi pokusech о pi ipojeni к portu muze byt zazna- menana chybova zprava. Obrazek 7.1 ukazuje, jak utocnik na adrese 192.168.0.9 posila cili na adrese 192.168.0.99 paket SYN. Vetsina portu odpovi paketem RST/АСК, av§ak zvyraznene pakety ukazuji odpoved’SYN/ACK a dal-
Skenovani 319 si ACK nasledovany zpravou RST/ACK na portu DNS. Take si vsimnete, ze cislo utocnikova portu se pri kazdem dalSim pokusu zvysuje о jedna. Obrazek 7.1 Sken TCP Connect * Obrazek 7.2 ukazuie aktivni porty ciloveho zarizeni. Mdzete je vyhledat pomoci filtru jako tcp.flags. syn==l&&tcp.flags.ack==l nebo tcp.flags==18, ktere zobrazi pakety s nastavenymi pfiznaky SYN a ACK. Filtr zobrazi vice odpovedi pro kazdy port, protoze bylo pouzito nekolika skenovacich metod. Duplicitni informace jsme odstranili ulozenim oznacenych paketu do souboru. Obrazek 7.2 Odpovedi SYN/ACK
320 Kapitola 7: Zachytavani paketu v praxi Poznamka: Filtr tcp.flags==18 zobrazi pakety s nastavenymi pfiznaky SYN a ACK, protoze binarni hodnota pole TCP s pfiznaky SYN/ACK je 00010010, coz se rovna cislu 18 v dekadicke soustave. Sken typu„SYN" Dalsi sken, kterym se zde budeme zabyvat, je sken typu TCP SYN, take znamy jako polootevreny sken, protoze v tomto pripade nedochazi к plnohodnotnemu navazani spojeni protokolu TCP. Pouziva se pro zjisteni otevfenych a naslouchajicich portu na cilovem zarizeni. Utocnik posle paket SYN a ana- lyzuje odpoved’. Pokud obdrzi odpoved’v podobe paketu RST/АСК, znamena to, ze port je uzavfen. Odpoved SYN/ACK naopak znamena, ze port je otevfen a nasloucha pfichazejicim pozadavkum. Utocnik pokracuje zaslanim paketu RST pro ukonceni spojeni. Sken SYN je take znamy jako skryty sken, protoze jen maloktera zarizeni zaznamenaji udalost tohoto typu spojeni, nebot’ to je navazo- vano jen castecne. Na druhou stranu by tato udalost nemela zustat bez povsimnuli modernimi fire- wally a systemy pro detekci pruniku (IDS). Na obrazku 7.3 utocnik z adres 192.168.0.9 posila cili 192.168.0.99 paket SYN. Vetsina portu odpovi paketem RST/ACK; zvyraznene pakety vsak ukazuji vymenu paketu odpovedi SYN/ACK a nasledneho paketu RST na portu http, lake vidite, ze utocnik tentokrat pouziva staticke porty, 52198 a 52199. Obrazek 7.3 Sken SYN Sken typu „XMAS" Sken typu XMAS slouzi ke zjisteni otevrenych portu posilanim paketu s neplatnymi pfiznaky cilove- mu zarizeni. Tento typ skenu je povazovan za skryty, protoze muze proniknout nekterymi firewally a IDS snadneji nez sken SYN. Sken XMAS posila pakety s nastavenymi pfiznaky Finish (FIN), Push (PSH) a Urgent (URG). Zavfene porty odpovi zaslanim paketu RST/АСК, zatimco otevfene porty paket jednoduSe zahodi a nereaguji na nej. Tento typ skenu vsak nefunguje proti nekterym syste-
Skenovani 321 mum Windows, Cisco IOS, BSDI, HP/UX, MVS a IRIX. Vsechny tyto systemy odpovi paketem RST, dokonce i z uzavfenych portu. Ma obrazku 7.4 vidite utocnika na adrese 192.168.0.9 odesilajiciho pakety cili na adrese 192.168.0.99, pficemz tyto pakety maji nastaveny pfiznaky FIN, PSH a URG. Vetsina portu odpovida zaslanim pake- tu RST/АСК, ale zvyraznene pakety pro port sunrpc neobdrzi zadnou odpoved. Tato nepfitomnost odpovedi poukazuje na skutecnost, ze port je otevfeny a paket byl zahozen. Take vidite, ze utocnik pouziva klamne adresy 192.168.0.1, 192.168.0.199 a 192.168.0.254. Klamne adresy slouzi ke skryti skutecne utocnikovy adresy IP, cimz komplikuji vystopovani skutecneho zdroje skenu. Blizsi pohled na pakety odhali stejnou adresu MAC pro vsechny pakety. Take si vsimnete, ze utocnik pouziva sta- ticke zdrojove porty, a to 35964 a 35965. Obrazek 7.4 Sken XMAS Sken typu „NULL" Sken typu NULL zjistuje otevrene porty pomoci zasilani paketu s nastavenymi neplatnymi pfizna- ky cilovemu zarizeni. "lento typ skenu je povazovan za skryty, protoze muze proniknout nektery- mi firewally a systemy pro detekci pruniku snadneji nez sken SY N. Sken ty pu NULL posila pakety, ktere nemap nastaven zadny priznak. Zavfene porty odpovi paketem RST/ACK a otevrene porty neposkytnou zadnou odpoved’ a paket zahodi. Tento typ skenu vsak nebude tungovat proti syste- mum Windows, Cisco IOS, BSDI, HP/UX, MVS a IRIX. Tyto system}' odpovi paketem RSI /АСК, dokonce i na zavfenych portech. Na obrazku 7.5 utocnik na adrese 192.168.0.9 posila pakety bez nastavenych pfiznaku (znazorneno hranatyrmi zavorkami) cili na adrese 192.168.0.99. Vetsina portu poskytne jako odpoved’paket RST/ ACK, avsak zvyraznene pakety pro port http nikdy nedostanou odpoved’, cimz prozrazuji otevreny port. Vsimnete si, ze utocnik pouziva staticke zdrojove porty 42294 a 42295.
322 Kapitola 7: Zachytavani' paketu v praxi Obrazek 7.5 Sken NULL Trojany pro vzdaleny pristup Termin Trojsky kun pochazi z feckeho eposu „Odyssea", jehoz autorem byl slavny Homer. V pfibe- hu о trojske valce zanechali Rekove pred branami Troji velkeho dfeveneho kone, jako nabidku miru obyvatelum oblehaneho mesta. Jakmile byl kun dopraven do mesta, objevili se recti vojaci skrvti v utrobach kone a leckou tak pomohli dobyt mesto. Na poli informacnf bezpecnosti se terminem trojan rozumf skodlivy software, ktery muze predstirat, ze je jinym programem, napfiklad nejakou vtipnou aplikaci, hrou, sitovou utilitou, a nekdy take dokonce programem pro odstraneni trojanu! Trojany jsou casto pouzivany pro sifeni programu typu backdoor, aniz by obef takoveho utoku mela о instalaci backdooru poneti. Backdoory pracuji na zaklade architektury klient/server a umoznu- jf utocnikovi ziskat uplnou kontrolu nad pocitacem obeti po siti. Trojany davaji utocnikovi pristup v podstate ke vsem funkcim pocitace, vcetne zaznamenavani stisknutych klaves, aktivace webove kamery, zaznamenavani hesel a nahravani nebo stahovani souboru. Jsou dokonce chraneny heslem a umi sifrovat komunikaci, aby lepe chranily napadene pocitace. Existuji stovky, mozna tisice tro- janu, ktere koluji Internetem, obvykle s mnoha modifikacemi v programu, ktere antivirovym syste- mum znesnadnuji detekci skodlive aplikace. SubSeven Legend SubSeven jejednim z nejbeznejsich backdoor trojanu na operacnim systemu Windows. Je to jiz stars! program a vetsina antivirovych aplikaci jej odhali, ale na Internetu existuje stale velke mnozstvi ruz- nych verzi. SubSeven je natolik schopny program, ze muze s utocnikem komunikovat pomoci pro- tokolu Internet Relay Chat (IRC), e-mailem a dalsimi zpusoby a informovat tak utocnika о zapnuti napadeneho pocitade. SubSeven pracuje na protokolu TCP s vychozim portem 27374, ale port muze byt nakonfigurovan jinak. SubSeven ma mnoho funkci, ktere utocnikovi umoznuji kompletne ovla- dat napadeny pocitac.
Trojany pro vzdaleny pnstup 323 Obrazek 7.6 ukazuje pakety zachycene v prubehu interakce klient/server programu SubSeven Legend. Verze SubSeven Legend je v podstatd jubilejnim vydantm programu SubSeven. Utocnik provozuje klientskou cast programu na pocitaci s adresou 192.168.1.1, ktery je pfipojen к serverove casti pro- gramu na adrese 192.168.1.200. Vsimnete si, ze server bezi na vychozim portu 27374 a klient ode- sila serveru data. Obrazek 7.6 Backdoor trojan SubSeven Legend Pouzitim funkce Wiresharku „Follow TCP Stream" uvidite, co se deje mezi klientem a serverem SubSeven. Obrazek 7.7 ukazuje datum pripojeni a verzi serveru SubSeven. Dale ukazuje take akce provedene utocnikem, tedy vypis obsahu disku C:\ a stazeni souboru secret.txt. Data tohoto soubo- ru jsou vsak skryta. Obrazek 7.7 Interakce klient/server programu SubSeven
324 Kapitola 7: Zachytavani paketu v praxi Net Bus Backdoor trojan s nazvem NetBus je take jednim ze starsich a obvyklejsich backdoor trojanu pro operacni system Windows. Je snadno odhalitelny antivirovym softwarem, ale stejne jako v pripade SubSeven i NetBus ma velke mnozstvi ruznych verzi. Pracuje na protokolu TCP s vychozim portem 12345 a 12346, ale tato cisla mohou byt zmenena. Stejne jako SubSeven ma i NetBus mnoho vlast- nosti a funkci, ktere utocnikovi davaji nad pocitacem obeti neomezenou moc. Obrazek 7.8 ukazuje pakety zachycene v prubehu interakce klient/server programu NetBus. Utocnik ma spustenou klientskou cast programu na pocitaci s adresou 192.168.1.1 a je pfipojen к servero- ve casti programu na pocitaci s adresou 192.168.1.200. Vidite, ze server bezi na vychozich portech 12345 a 12346, pficemz klient odesila data serveru. Dva ruzne zdrojove porty ukazun na pfitomnost dvou nezavislych spojeni protokolu TCP. Obrazek 7.8 Backdoor trojan NetBus Ft er Out The Stream Obrazek 7.9 Interakce klient/server programu NetBus Pouzitim funkce Wiresharku „Follow ГСР Stream" uvidite, co se deje mezi klientem a serverem Net- Bus. Obrazek 7.9 ukazuje verzi serveru NetBus a take skutecnost, ze utocnik stahl soubor C:\temp\
Trojany pro vzdaleny pristup secret.txt. Obrazek 7.10 ukazuje klienta odhahiuciho obsah stazeneho dokumentu! To znamena, ze । ikoliv pouze utocnik, ale kdokoliv, kdo na teto siti zachytava pakety, muze videt obsah souboru, ktery je pfenasen. Obrazek 7.10 Obsah souboru preneseneho mezi klientem a serverem RST.b RST.b je mene casto pouzivany backdoor trojan, ktery se vyskytuje zejmena na platforme operacni- ho systemu Linux. Tentobackdoor nasloucha vpromiskuitnim modu paketum protokolu UDP. Aby utocnik ziskal pristup к tomuto backdooru, zasle paket obsahujici datovy naklad ,,DOM“. Obrazek 7.11 ukazuje zachytavani paketu utocnika skenujiciho systemy zasazene trojanem RST.b. Vyfiltrovali jsme pakety protokolu UDP, abychom se mohli soustfedit na poslednich devet paketu UDP. Utocnik pouziva ruzne zdrojove adresy IP a nahodne cilove porty, aby unikl pfipadne pozor- nosti syst£mii pro detekci pruniku. Protoze trojan RST.b nasloucha v promiskuitnim modu, odpovi na paket protokolu UDP obsahujici datovy naklad ,,DOM“ na libovolnem portu. Obrazek 7.11 Sken backdooru RST.b
326 Kapitola 7: Zachytavani paketu v praxi Dalsi informace Trojan, virus a worm: jaky je v nich rozdil? Mnoho lidi nema zcela jasno о rozdilech mezi viry, cervy a trojany. Tyto terminy jsou casto volne zamenovany, ale ve skutecnosti se jedna о tri zcela odlisne typy programu. Kazdy z nich pouziva jiny zpusob pro napadani pocitacu a za pouzitim kazdeho z nich stoii jiny motiv. Virus je skodlivy program, ktery napada soubory tim, ze к nim pfipojuje svuj vlastni kod, a to bez vedomi uzivatele. Virus se muze sam spoustet i repbkovat do daEich souboru v pocita- ci, nejcasteji pfipojovanim sebe sama ke spustitelnym souborum, znamym v tomto kontextu jako hostitelske soubory. \ iry se mezi pocitadi sin spolu se soubory, ktere si vymenuji uziva- tele prostfednictvim ruznych medii, jakymi jsou napfiklad diskety. Viry muzeme rozdelit na dve zakladni kategorie: neskodne a skodlive. Neskodny virus se vyznacuje nedestruktivnim chovanim, jako napf. zobrazovanim zprav v urcitem case. Avsak i neskodny virus stale spotfe- bovava prostfedky pocitace jako procesorovy cas, pamef a misto na disku. skodlive viry jsou samozfejme mnohem nebezpecnejsi, nebot’ mohou zpusobil rozsahle poskozeni systemu, jako zmenu aplikaci nebo dat, mazani souboru nebo smazani celeho systemu. Avsak zadny virus nemuze poskodit hardware vaseho pocitace. Existuje nekolik typu viru, vcetne techto: ♦ Infektor souboru - virus, ktery se pfipojuje ke spustitelnym souborum. ♦ Boot sector - virus, ktery uklada maly kod do sektoru na disku poditace. Obsah tohoto sektoru je spousten pfi kazdem startu pocitace. ♦ Master boot record - virus, ktery infikuje prvni fyzicky sektor vsech disku. ♦ Hybrid™ virus - virus pouzivajici vice zpusobu к sifeni infekce. ♦ Makro-virus - virus, ktery se pfipojuje к ruznym dokumentum ve forme maker. Trojan je program, ktery v sobe nepozorovane ukryva dalsi, potencialnd skodlivy program. Trojan je casto vytvafen tak, aby se navenek jevil jako песо zabavneho nebo uzitecneho, jako napfiklad hra nebo uzitecna utilita. Kdyz vsak uzivatel tento program spusti, je take bez jeho vedomi spustena skryta aplikace. Ta pole bezi v pameti pocitace a muze ovladat pfistup к sys- temu formou backdooru nebo nicit systemova ci uzivatelska data. Trojan v sobe muze take nest skrytou hrozbu v podobe viru nebo cerva. ‘ rojany se samostatne nesifi; jsou vsak casto sifeny neznalymi uzivateli, kteii otevfou e-mailovou pfilohu a zahaji tak stahovani spustitel- neho souboru z Internetu. Cerv je program podobny viru, avsak list se od nej zejmena schopnosti replikace i bez pomoci hostitelskeho souboru. Aby vas pocitac byl napaden cervem, nemusite prijmout infikovany soubor nebo disketu; cerv napadne pocitac sam. Aktivne se replikuje a §iri prostfednictvim pocitacovych siti. Nejenze spotrebovava systemove prostfedky, ale pfi svem sifeni zahlcuje take sifku pasma sifoveho pfipojeni. Rozbor cervu V prubehu minulych let byla zaznamenana nejen zvysena aktivita cervu, ale take zvysena zavaznost jejich utoku na pocitacove systemy a site. Internetovi cervi jsou rychlejsi, chytfejsi a skrytejsi. Vet- sina cervu napada zranitelnost v aplikacich, pficemz pro tyto zranitelnosti byvaji nekdy к dispozici
Rozbor cervu zaplaty jeste pfed uvolnenim exploitu (exploit je metoda nebo aplikace, ktera zneuziva chyby v soft- waru к provadeni nezadoucich nebo neocekavanych akci - pozn. pfekl.). Zac maji se objevovat kom- plexnejsi cervi, ktefi umi vyuzivat hned nekolika ruznych /ranitelnosti a sifit se vice zpusoby, coz cini jejich rozbor formou reverzniho inzenyrstvi a obranu proti nim stale obtiznejsi. V teto sekci si rozebereme tfi dobfe zname dervy: SQL Slammer, Code Red a Ramen. Cerv SQL Slammer Qerv SQL Slammer se zacal Sifit Internetem 25. ledna 2003. Zneuziva zranitelnosti ve sluzbe Resolu- tion Service serveru Microsoft SQL Server 2000 a Microsoft Desktop Engine (MSDE) 2000. Je take znam pod nazvy W32.Slammer, Sapphire a W32.SQLExp. Vesel v povedomi pfedevsim rychlosti sveho sifeni - nejzranitelnejSi systemy napadl behem pouhych 10 minut. S tim, jak se derv sifil a napadal stdle vice systemu, Internet jevil znamky znacneho zpomaleni a zhorseni tunkce. SQL Slammer zneuziva chybu typu pfeteceni zasobniku, ktera umoznuje spustem libovolneho kodu. Jakmile je system uspesne napaden, derv se pokusi Sifit dale zasilanim paketu о deice 376 bajtu na port UDP 1434 na nahodne vybrane adresy IR Vsechny zjistene napadnutelne systemy jsou infiko- vany a take zacnou vyhledavat dalSi napadnutelne systemy. S timto exponencialnim rustem se nelze divit, ze se cerv dokazal rozsifit tak rychle. Tento typ sifeni vede к mnoha dalsim problemum, vcetne poklesu vykonu, padani systemu a odepfeni sluzby. Podrobnosti о cervu SQL Slammer, vdetne zapla- ty, instrukcf pro pouziti vstupnich a vystupnich filtru a pro obnovu napadenych systemu, najdete ve zprave organizace CERT na adrese www.cert.org/advisories/CA-2003-04.html. Obrazek 7.12 Pokus cerva SQL Slammer о slreni Soubor Scan3.log, poskytnuty organizaci Honeypot Research Alliance jako cast projektu Honeypot Project Scan of the Month, ukazuje pf itomnost derva SQL Slammer, ktery se snazi sifit dale. Soubor Scan3.log najdete v adresafi /captures na doprovodnem CD teto knihy. Kdyz otevfete soubor zachy- cenych dat ve Wiresharku, pouzijte filtr na pakety UDP s cilovym portem 1434 - uvidite skenovaci aktivity Slammeru tak, jak jsou ukazany na obrazku 7.12. Vsimnete si, ze je zde 55 paketu pochaze-
328 Kapitola 7: Zachytavani paketu v praxj iidch z nahodnych zdrojovych adres, ktere jsou zasilany formou paketu UDP na port 1434. Delka paketu UDP je 384 bajtu, coz je 376 bajtu dat a 8bajtova hlavicka. Vsechny pakety pfichazeji do cile na adrese 172.16.134.191 a zadny z teto adresy neodchazi, coz indikuje, ze system nebyl napaden uspesne, ale byl pouze cilem utoku jineho napadeneho systemu na jednu z nahodne generovam adres IP. Take si vsimnete, ze kazdy paket obsahuje data, a i kdyz vypadaji trochu chaoticky, muzete najit ruzne casti kodu exploitu jako ws2_32.dll, kerne32.dll, GetTickCount, socket a send to. Dalsi informace Proc se Slammer rozsfril tak rychle? SQL Slammer byl nejrychleji se sificim cervem sve doby. Podrobny rozbor sifeni cerva SQL Slammer najdete na adrese www.caida.org/analysis/security/sapphire. Toto rychle rozsifeni bylo podmineno nekolika kh'covymi vlastnostmi Slammera: ♦ Nahodne skenovani - nahodne skenovani provaddne cervem umoznilo pocatecni expo- nencialni sireni. ♦ Rychle a jednoduche skenovani - cerv byl schopen skenovat tak rychle, jak rychle sti • hal napadeny pocitac rozesilat pakety nebo jak rychle tyto pakety mohly byt pfenaSeny po siti. ♦ Mala velikost - velikost cerva SQL Slammer byla pouhych 376 bajtu. ♦ UDP - efektivni sireni bylo umozneno diky pouziti jedineho paketu UDP, a odesilajici system tedy nemusel cekat na odpoved’. Sireni Slammeru zpusobilo celosvetovy vypadek na dobu zhruba 10 minut. Rychle se sin- ci internetovi cervi jsou vyznamnym milnikem v oboru pocitacove bezpecnosti a realitou, s kterou by se melo pocitat vyuzitim vsech dostupnych protiopatfeni. Cerv Code Red Cerv Code Red byl puvodne objeven 13. cervence 2001 a od te doby se objevilo mnoho jeho variant, vcetne cervu Code Red II a Code Red III. Tento cerv napada systemy Microsoft Windows NT, 2000 a beta verze Windows XP, na nichz bezi sluzby weboveho serveru IIS 4.0 a IIS 5.0. Code Red zneu- zil zranitelnosti, ktera byla objevena 18. cervna 2001 organizaci eEye Digital Securityfl]. Code Red zneuziva zname zranitelnosti typu preteceni zasobmku ve sluzbe IIS Indexing Service, resp. souboru IDQ.DLL. Podrobnosti о cervu Code Red, vcetne zaplat, rad a navodu к zotaveni napadeneho syste- mu, najdete ve zprave organizace CERT s oznacenim CA-2001-13[2] a CVE-2001-0500(3]. System napadeny cervem Code Red se pokousi pfipojit na nahodne generovane adresy IP prostfed- nictvim portu 80. Pokud cerv na cilovem systemu odhali webovy server, pokusi se zneuzit zranitel- nosti zaslanim specialne upravene zadosti HTTP GET. V pfipade uspechu cerv vytvori na napade- nem systemu 100 vlaken pro svuj proces. Prvnich 99 vlaken slouzi к sifeni cerva, zatimco posledni slouzi к moditikaci webovych stranek takto postizeneho serveru. Jestlize je napadenym systemem verze Windows NT/2000 v jazyce U.S. English, cerv pfepise existujici webovou stranku textem ,,HELLO!Welcome to www.worm.com!Hacked by Chinese!" Nasledne cerv pokracuje ve sve cin- nosti pokusem о utok typu odepfeni sluzby na adresu IP 198.137.240.91, coz je adresa weboveho serveru Bileho domu.
Rozbor cervu 329 Adresy IP systemu, ktere se Code Red pokousi napadnout, jsou generovany nahodne. Avsak v prv- ni verzi tohoto cerva pouzival generator nahodnych cisel konstantni pocatecni hodnotu (seed), coz zpusobilo, ze vsechny napadene pocitace generovaly stejne adresy IP potencialnich cilu. V diisledku toho se napadene pocitace neustale napadaly navzajem, takze nechtenym produktem sifeni cerva byl i utok odepfeni sluzby na skupinu serveru, ktere takto napadeny byt nemely. Prvni verze cerva take nebyla tak destruktivni jako jeho druha verze. Nase analyza se tyka prvni verze cerva Code Red. Ve slozce /captures na doprovodnem CD najdete soubory CodeRed_Stage 1 a CodeRed_Stage2. Podrobnosti о cervu Code Red Cerv Code Red pracuje ve tfech fazich, jejichz aktivace je zavisla na case: sifeni, odepfeni sluzby a spanek. I kdyz existuje mnoho variant, obecny vzorec chovani vypada takto: Ф Mod sifeni - tato faze se odehrava behem prvnich 19 dni mesice. Infikovane systemy generu- ji nahodne adresy IP a pokouseji se na ne pfipojit pomoci portu HTTP 80. Pokud cerv zjisti, ze system je zranitelny, posle mu specialne upraveny pozadavek HTTP GET a webova stran- ka tohoto serveru bude pozmenena. Puvodni verze cerva zmenila originalni text webu na text: „HELLO! Welcome to www.worm.com!Hacked by Chinese!*1 Ale pozdejsi varianty cerva uz webove stranky nemodii ikovaly. Cerv umisti na napadeny system soubor C:\notworm, cimz signalizuje, ze tento pocitac byl iniikovan. Diky tomu v pfipade opetovneho napadeni cerv pfesel do casove neomezeneho stadia spanku. Pokud soubor cerv nenajde, jedna se tedy о nove napadeny system a cerv pokracoval ve sve cinnosti pokusy о sifeni. Tato faze trva az do 20. dne mesice. ♦ Mod odepfeni sluzby - tato faze zacina 20. dnem mesice a trva do 27. dne. V teto fazi se cerv pokusi zahltit pakety specifickou adresu IP urcenou v kodu, na kterou zasle velke mnozstvi dat protokolu HTTP na port 80. Prvnim cilem byla puvodne adresa IP 198.137.240.91, ktera patfi webovvm strankam Bileho domu. Diky tomu, ze utok byl smerovan na adresu IP webu, a ne na nazev DNS, bylo pro administratory stranek whitehouse.gov vcelku snadne utok ustat - proste zmenili adresu IP weboveho serveru a tim ztratil utok svou silu i efekt. ♦ Mod spanku - v teto fazi cerv vstupuje do spankoveho modu, ktery zacina 28. dne mesice a kon- ci posledni den mesice. Cerv zustane v pameti, ale nebude aktivni az do pocatku noveho cyklu, zacinajiciho prvni den nasledujiciho mesice. Prehled dat zachycenych od cerva Code Red Zachycena data ze souboru Code Red_Stagel (viz obrazek 7.13) ukazuji exploitaci a sifeni cerva Code Red prime v akei. Soubory zachycenych dat cerva Code Red byly poskytnuty L. Christopherem Pau- lem a muzete je take stahnout z adresy www.bofh.sh/CodeRed. Tato zachycena data byla vytvofena v laboratornich podminkach a slouzi к demonstraci ruznych stadii cerva Code Red, takze casove informace nemusi nutne reflektovat spravna data jednotlivych stadii. Cerv se sifi ze systemu s adre- souIP 192.168.1.1 a intikuje zranitelny cd na adrese 192.168.1.105. Nove napadeny system pote zacne skenovat nahodne adresy IP na otevfeny port 80 protokolu HTTP. Velmi zajimavym ramcem v techto zachycenych datech je ramec 4, „GET Zdefault.ida?NNNNNNNNN“, coz je vlastne samotny exploit cerva Code Red. Nahodne skenovani portu 80 zacinajici ramcem cislo 12 by melo vzbudit vasi pozor- nost: nejedna se zde о bezne prohlizeni webu, protoze zadny z cilu neodpovida.
330 Kapitola 7: Zachytavani paketu v praxi Obrazek 7.14 ukazuje vystup funkce „Follow TCP Stream" aplikovane na po^atecni exploitaci. Vsini- nete si exploitu v zadosti HT1P GET na zadatku a take kontroly na pfitomnost souboru C:\notwt» rn a modifikaci webove stranky na konci. Obrazek 7.13 Prvni stadium cerva Code Red - infekce a Sifeni X W.UWVUUM э o.moooo IM. 144.1. 1U> IM. IM.1.1 IW. IM. 1. 1 IM. IM. 1.105 ivr ТГ4 4 •044901 192.144.1.1 142.140.1.109 TO s o.ooooor IM.144.1.1 IM. IM. 1. IOS WTO • o.oioooo IM. IM. 1. IOS IM. IM. 1.1 ТГГ > 4.014004 IM. 144.1.1 IM. IM. 1.10$ TO • •.•14404 IM. IM. 1. IOS 142. IM. 1.1 ТСГ • •.094404 Ш.1М.1.1 IM. IM. 1. IOS TCI 10 19. МММ IM. 144.1.1 192. IM. 1. MS ТС» 11 14.4MMO 142.1 «*.1.105 192. IM. 1.1 ТГ4 Obrazek 7.14 Vystup exploitu cerva Code Red Data zachycena v prubehu druhe faze jsou ulozena v souboru CodeRed Stage2 (viz obrazek 7.15) a ukazuji fazi odepreni sluzby. Infikovany server na adrese 192.168.1.105 se pokousi zahltit pakety
Rozbor cervu 331 webove stranky Bileho domu na adrese 198,137.240.91. Protoze tento utok byl proveden v labora- tornim prostfedi, nebyl utok typu odepreni sluzby uspesne dokoncen. Obrazek 7,15 Druhe stadium cerva Code Red - odepreni sluzby Poznamka: Format pro zobrazeni casovych informaci muzete zmenit v nabidce View -> Time Podrobny rozbor zachycenych dat CodeRed Stagel V souboru zachycenych dat hraji svou roli tri systemy: ♦ 192.168.1.1 - infikovany system, ktery uspesne napada dalsi server (192.168.1.105) ♦ 192.168.1.105 - tento system je iniikovany systemem 192.168.1.1 a nastartuje sifeni cerva na nahodne adresy IP. ♦ 192.168.1.222 - dalsi system na siti. Prvni ramec dorazil v 17:51:57 dne 21. cervna 2001. Posled- ni ramec byl pfijat v 19:22:59 dne 21. cervna 2001. ♦ Ramec 1 - inlikovany system na adrese 192.168.1.1 posila paket SYN na adresu 192.168.1.105. Paket je urden pro port 80 ciloveho systemu a pochazi z tzv. vysokeho portu 7329 na napadenem systemu. Hodnota TTL (Time-To-Live) systemu 192.168.1.1 je 64. ♦ Ramec 2 - system na adrese 192.168.1.105, na jehoz portu 80 bezi webovy server, zasila odpoved v podobe paketu SYN/ACK infikovanemu systemu. Casova prodleva mezi pakety je nulova, pro- toze se jedna о laboratorni experiment. System 192.168.1.105 ma hodnotu TTL 128. ♦ Ramec 3 - tficestny handshake je dokoncen. Pocitac zvetsuje velikost okna TCP. ♦ Ramec 4-samotny utok Cerva prichazejiciz adresy 192.168.1.1 zacma zaslanim specialne uprave- ne dlouhe zadosti GET. Utok je zamefen na zranitelnost pfeteceni zasobniku v knihovne ida.dll na systemu 192.168.1.105. Vidite zde vzorovou signaturu cerva Code Red. Na systemu 192.168.1.105 tedy utok uspesne zapocal v 17:51:57 21. cervna 2001.
332 Kapitola 7: Zachytavani paketu v praxi ♦ Ramce 5 az 11 - kod exploitu je poslan zdrojem cerva nove infikovanemu systemu. V ramci 7 muzete videt podrobnosti stranky HTML, ktera ma modifikovat stavajici webovou stranku ser- veru. Ramec cislo 8 je tim, kterym nove infikovany system posila paket GET zpet zdrojovemu systemu, ktery jej infikoval. ♦ Ramec 12 a nasledujici ramce - system na adrese 192.168.1.105 byl zcela jiste napaden, protoze vidime serii pokusu о pfipojeni na port 80 nahodnych adres IP. Pfipojeni jsou iniciovana z vys- sich portu v rozsahu 1029 az 1140.1 kdyz infikovany system pouziva cisla portu, ktera se postup- ne zvysuji, v nekterych okamzicich dochazi к nahlym skokum mezi cisly portu, jak je ukazano v tabuice 7.1. Vsimnete si dlouhe prodlevy mezi ramci 11 a 12. ♦ Ramec 111 - tento ramec je poslednim ramcem, ktery ma ocividne se zvysujici cislo portu. ♦ Ramec 112 - toto je v ramci relace zachytavanych dat zvlastni bod. Je zde relativne velka casova prodleva о deice trvani 2,81 vtefiny, a to od okamziku odeslani pfedchoziho paketu do odeslani tohoto paketu. Zdrojovym portem je nyni 1105 a neni dalsim ocekavanym cislem aritmeticke posloupnosti. Casovou prodlevu muzeme vysvetlit - je zamerna. Ramec cislo 112 je 101. pokusem о pfipojeni к nahodne adrese IP. Po odeslani 100. paketu se cerv rozhoduje, zda spustit cast kodu, ktera ma na starosti modifikaci webove stranky. Toto rozhodovani je pficinou relativne dlouhe prodlevy. Kazde ze 100 cilovych adres IP se nyni odesle na druhy a potom i tfeti paket TCP SYN. Cili celkem probehnou 3 pokusy о navazani spojeni na port 80 kazde adresy IP. Ramec ] 12 je ve skutecnosti opakovanym pokusem ramce 80 a ramec 212 je tfetim pokusem. ♦ Ramce 113 a nasledujici ramce - intikovany system pokracuje v opakovanych pokusech о na- vazani spojeni na portu 80 cilovych systemu. ♦ Ramec 312 - pfichozi ramec, ktery dorazil 9,12 vtefin po odeslani 100. paketu. К webove sluzbe napadeneho serveru pfistupuje dalsi system z adresy 192.168.1.222, ktery hleda webovou stran- ku pomoci pfikazu GET. Stopa paketu neobsahuje vsechna pfenesena data. ♦ Ramce 313,314,315,316-v ramci 313 muzeme videt odpoved infikovaneho systemu v podo- be kodu HTTP s cislem 200 (indikuje uspech) adresovanou systemu na adrese 192.168.1.222. V ramci 314 system s adresou 192.168.1.222 posila zadost GET. V ramci 315 intikovany webovy server vraci zpravu HTTP s kodem 304. Stopa paketu neobsahuje vsechna pfenesena data, takze podrobnosti о datovem provozu nejsou znamy. ♦ Ramec 317a nasledujici ramce - od tohoto ramce dale infikovany pocitac opet pokracuje v poku- sech о nakazu dalsich systemu. Tentokrat se pouzije nova sada 100 nahodnych adres IP. Zdrojove porty, z kterych jsou pakety opet odesilany, maji po sobe jdouci cisla a zacinaji na hodnote 1141. Pamatujte, ze jsme v pfedchozim skenu pfestali u cisla 1140. Opet je v sekvenci jisty nesoulad, protoze cisla se nezvysuji striktne formou aritmeticke posloupnosti a obcas vidime zvysem cisla portu о 2. Infikovany system vykona 3 pokusy о pfipojeni na novou sadu 100 adres IP. Ramec 417 oznacuje pocatek noveho pruchodu a ramec 517 oznacuje pocatek tfetiho pruchodu. ♦ Ramec 617 a nasledujici ramce - od tohoto ramce dale infikovany pocitac opet zkousi napad- nout novou varku 100 systemu. Po pouziti portu 1252 v ramci 416 proces pokracuje pouzitim zdrojoveho portu 1253. ♦ Ramec 917 a nasledujici ramce - od tohoto ramce dale infikovany pocitac opet zkousi napad- nout novou varku 100 systemu. Po pouziti portu 1363 v ramci 716 proces pokracuje pouzitim zdrojoveho portu 1364. ♦ Ramec 1218 a nasledujici ramce - od tohoto ramce infikovany pocitad opet zkousi napadnout novou varku 100 systemu. Po pouziti portu 1471 v ramci 1016 proces pokracuje pouzitim zdro- joveho portu 1472. Pfi pohledu na vzorec si mozna vsimnete, ze tato sekvence je о jeden ramec
Rozbor cervu 333 posunuta. Mel byt zahajen novy sken v ramci 1217. Avsak do datoveho provozu se dostal jiny paket. Ramec 1217 ukazuje paket RST, ktery byl odeslan systemem 192.168.1.222 infikovanemu systemu. Tento paket ukoncil spojeni, ktere jsme videli v ramcich 312 a 316. Ramec 1518 a nasledujici ramce - od tohoto ramce dale in fikovany pocitac opet zkousi napad- nout novou varku 100 systemu. Po pouziti portu 1585 v ramci 1317 proces pokracuje pouzitim zdrojoveho portu 1586. 4 Ramec 1818 a nasledujici ramce - od tohoto ramce dale infikovany pocitac opet zkousi napad- nout novou varku 100 systemu. Po pouziti portu 1695 v ramci 1617 proces pokracuje pouzitim zdrojoveho portu 1696. 4 Ramec 2133 a nasledujici ramce - od tohoto ramce dale infikovany pocitac opet zkouSi napad- nout novou varku 100 systemu. Po pouziti portu 1807 v ramci 1917 proces pokracuje pouzitim zdrojoveho portu 1808. Vzhledem к predchazejici sekvenci by mel tento novy sken zacit ramcem 2118, avsak je zde dalsi pripojeni a vymena dat protokolu HTTP mezi systemem 192.168.1.122 a infikovanym systemem, a to v ramcich 1918-1928, jak jsme videli drive. Stale nevime, co pfe- nos dat ve skutecnosti dela, protoze nebyl zachycen cely obsah paketu. Je zde take paket FIN/ ACK v ramci 2129 odeslany ze systemu 192.168.1.1 infikovanemu pocitaci a pridruzena zadost a odpoved’protokolu ARP v ramcich 2130a2131. ♦ Ramec 2433 a nasledujici ramce - od tohoto ramce dale infikovany pocitac opet zkousi napad- nout novou varku 100 systemu. Po pouziti portu 1919 v ramci 2232 proces pokracuje pouzitim zdrojoveho portu 1920. Toto je posledni pokus о sifeni a skenovani, prave tak jako soubor zachy- cenych dat, konci ramcem 2732. V cislech souvisejicich s cervem jsou urcite zajimave struktury. Jedna z nich je vyjadfena cisly portu pouzitych infikovanym systemem. Tato cisla najdete v tabuice 7.1. Tabulka 7.1 Struktura ch'sel zdrojovych portu v ramcich 12-112 Cislo гётсе Cislo portu Cislo r£mce Cislo portu 12 1029 53-57 Postupne zvyseno 13 1030 58 Skoko2 na 1081 14-16 Postupne zvyseno 58-63 Postupne zvyseno 17 Skoko 2 na 1035 64 Skok о 2 na 1088 17-22 Postupne zvyseno 64-75 Postupne zvyseno 23 Skok о 2 na 1042 76 Skoko 2 na 1101 23-24 Postupne zvyseno 76-87 Postupne zvyseno 35 Skoko2 na 1055 88 Skok о 2 na 1114 35-46 Postupne zvyseno 88-93 Postupne zvyseno 47 Skok о 2 na 1068 94 Skoko2 na 1121 47-52 Postupne zvyseno 94-97 Postupne zvyseno 53 Skoko 2 na 1075 98 Skoko 2 na 1127 98-111 Postupn£ zvyseno 112 Reset na 1105
334 Kapitola 7: Zachytavani paketu v Dalsi struktura je patrna v casovem toku. Po 100. ramci vzdy nasleduje prodleva dana tim, ze cerv se pokousi pfipojit ke 100 nahodnych adresam IP nebo se pokousi skenovat novou sadu nahodnych 100 adres IP. Tabulka 7.2 poskytuje prehled cisel ramcu 101. paketu zasilaneho v ruznych mistech toku a casovou prodlevu mezi odesilanim 100. a 101. ramce. Napric ruznymi sadami 100 paketu je take jista struktura, ktera se blizi 3-, 6- a 12sekundovym prodlevam. Tato pfiblizna struktura 3- g. a 12 vterinovych prodlev je patrna ve sloupci Prodleva v tabuice 7.2. Kratsi prodlevy nastavaji, kdyz jsou stejne adresy IP skenovany podruhe nebo potfeti. К nejdelsim prodlevam dochazi na zacatku skenovam nove varky 100 adres IP. Poznamka: Pro vyhledani vsech ramcu odeslanych napfiklad tri vtefiny po pfedchozim ramci 'G pouzijte polozku nabidky Edit -> Find Packet. Vyberte string (fetezec) a v Packet Details hledejte „Time delta for previous packet: 3". Takto vyhledate vsechny pakety s prodlevou 3.x.x. Pro nalezeni vsech vyhovujicich paketu musite pokra- covat vyberem Find Next (Ctrl+N). Pfed provedenim tohoto kroku se ujistete, ze volba View -» Time Display Format je nastavena na Seconds Since Previous Packet. Take muzete pouzit filtr frame.time.deita pro vyhledani ruznych casovych rozdi'lu. Tabulka 7.2 Prodleva mezi 100. a 101. ramcem Cislo ramce Prodleva (ve vterindch) Cislo ramce 101. paketu 101. paketu Prodleva (ve vterin^ch) 112 2,81 1418 5,81 212 5,9 1518 11,92 317 2,66 1618 2,69 417 2,77 1718 5,71 517 5,8 1818 11,82 617 11,9 1918 2,03 717 2,77 2029 5,71 817 5,8 2133 11,48 917 11,91 2233 2,69 1017 2,79 2333 5,71 1117 5,8 2433 11,83 _ 1218 5,75 2533 2,5 1318 2,78 2633 5,51 Blizsi pohled na zdrojove porty zachycenych paketu take odhali zajimavou strukturu. Abyste lepe poro- zumeli zdrojovym portum, klepnete na sloupec Info v ramci Packet List. Takto budou ramce setfide- ny podle pole Info, ktere standardne obsahuje zdrojovy port jako prvni. Toto serazeni ukaze poradi od nejnizsiho zdrojoveho portu az po ten nejvyssi. Muzete videt nejnizSi a nejvyssi cislo zdrojoveho portu spolecne se strukturou tri pokusu na kazdy port. Tabulka 7.3 pfedstavuje ramce a posloupnost cisel zdrojovych portu. Prezentovana struktura je pouzita i dale na zbytek paketu.
Cislo paketu Cislo ramce Rozsah zdrojovych portu V phbliznem sledu Mimo sled 0 100 1029-1140 jL 112 । 1029-1140 100 211 1 0 317 1141-1252 100 416 0 417 1141-1252 100 516 0 517 1141-1252 100 616 0 617 1253-1363 100 716 0 717 1253-1363 100 816 0 817 1253-1363 100 916 Podrobny rozbor zachycenych dat CodeRed_Stage2 Soubor zachycenych dat pokryva druhou fazi aktivity cerva Core Red. V teto fazi se cerv pokousi о iltok typu odepreni sluzby proti adrese IP 192.137.240.91, ktera udajne byla adresou IP weboveho sidla Bileho domu a nyni je registrovana na Vykonnou kancelaf prezidenta Spojenych statu. \ tomto souboru zachycenych dat infikovany system zahlcuje pakety SYN adresu IP 198.137.240.91. Soubor obsahuje 299 ramcu. Infikovany system zacina odeslanim paketu / portu 1237 a postupne zvysuje cislo portu az na 1335 v ramci 99. Je zde relativne velka prodleva mezi odeslanim 99. paketu a 100. paketu a take mezi 199. a 200. ramcem. Deje se tomu tak, kdyz cerv podruhe a potreti spousti utok zahlcovani pakety SYN. Muzete si tuto skutecnost ovefit pouzitim filtru tcp.srcport a vyhleda- vanim ruznych zdrojovych portu. Ка/de cislo portu by se melo vyskytnout tfikrat. Radi bychom na tomto miste podekovali Deapeshi Misrovi za pf ispevek v podobe podrobne analyzy ramce po ramci a odhaleni struktur, umozhujici hlubsi pohled do problematiky. Odkazy [1] eEye Digital security Advisory al 20010717
336 Kapitola 7: Zachytavani paketu v praxi http://www.eeye.com/html/research/advisories/AL20010717.html [2] Cert advisory CA-2001-13. http://www.cert.org/advisories/CA-2001-13.html [3] CVE-2001-0500. http://cve.mitre.org/cgi-bin/cvename.cgi?name=CAN-2001-0500 Cerv Ramen Cerv Ramen je kolekci nastroju, ktere mohou zneuzit nekolik znamych zranitelnosti a samostatne se replikovat. Organizace CERT piivodni Zpravu о incidentu uvefejnila 18. ledna 2001 na strance www. cert.org/incident__notes/IN-2001 0l.html. Ramen se zamefil na systemy Red Hat Linux 6.2 a Red Hat Linux 7.0, obsahujici zranitelne verze nasledujicich aplikaci: ♦ wu-ftpd Tento program bezi na portu TCP 21a jeho zranitelna verze obsahovala chybu kontroly platnosti formatu fetezce vstupnich dat ve funkci site_exec(). ♦ rpc.statd Tento program bezi na portu UDP Illa zranitelna verze obsahovala chybu kontroly platnosti formatu fetezce vstupnich dat ve funkci syslog(). ♦ Lprng Tento program bezi na portu TCP 515 a zranitelna verze obsahovala chybu kontroly plat- nosti formatu fetezce vstupnich dat ve funkci syslogQ. Jakmile ie hostitel uspesne napaden, nastroje kolekce Ramen se zkopiruji do slozky /usr/src/.poop. Tyto nastroje jsou pote spusteny a ovladany serif shellovych skriptu. Nektere z dulezitych charakte- ristik cerva Ramen obsahuji i tyto: ♦ Webova stranka je modifikovana nahrazenim souboru index.HTML. Nova stranka obsahuje frazi „Hackers loooooooooooooooooooooove noodles" a obrazek baleni nudli Ramen. ♦ Je odeslan e-mail na adresy gb31337@yahoo.com a gb31337@hotmail.com. Zprava obsahuje text: „Eat your Ramen!" ♦ Seznam fizeni pfistupu tcpwrappers (ACL) je zakazan odstranemm souboru /etc/hosts.deny. ♦ Soubor /usr/src/.poop/myip obsahuje adresu IP mistniho systemu. ♦ Soubor /etc/rc.d/rc/sysinit ie pozmenen tak, aby obsahoval spousteci skript, ktery zahaji skeno- vani a exploitaci. ♦ Je pfidan novy program s nazvem asp, ktery nasloucha na portu TCP 27374. Tento port je pouzi- van к sifeni souboru s kolekci nastroju ramen.tgz na dalsi napadene pocitace. SubSeven take pouzival tento port. Je to nahoda? Neni jasne, proc by autor chtel pouzit jiz nechvalne znamy port, protoze vetsina systemu pro detekci pruniku by mela byt nastavena tak, aby aktivita na tomto portu vyvolala poplach. ♦ Do souboru /etc/ftpusers jsou pfidana uzivatelska jmena/tp a anonymous. Zakazanim anonym- niho pfipojeni FTP cerv vlastne opravuje zranitelnost, ktera je pou/ita pro napadeni systemu! ♦ Jsou ukonceny sluzby rpd.statd a rpc.rstatd a jsou smazany soubory /sbin/rpc.statd a /usr/sbin/ rpc.statd. Zadna sluzba s nazvem rpc.rstatd vsak neni. ♦ Jsou ukonceny sluzby Ipd a je smazan soubor /usr/sbin/lpd. Jakmile byl system takto modilikovan, cerv Ramen zacne skenovat a napadat nalezene zranitelne sys- temy. Cervgeneruje nahodne adresy IP tfidy B, ktere potom skenuje. Nasledne zasle paket s nastave- nymi pfiznaky SYN a FIN se zdrojovym a cilovym portem 21. Jakmile je zranitelny system uspesne napaden, provedou se nasledujici akce: ♦ Na napadenem pocitaci je vytvofena slozka /usr/src/.poop.
Rozbor cervu 337 Ф Do nove slozky a do slozky /tmp je zkopirovan soubor ramen.tgz. Slozka /Imp je slozkou, kde je ulozena sada nastroju Ramen, a soubor muze byt kopirovan na dal§i systemy. < Sada nastroju ramen.tgz je rozbalena do slozky /usr/src/.роор a je spuStdn uvodni skript shel- lu. V tomto okamziku je napadeni systemu kompletni a system zadne skenovat dalsi zranitelne pocitace. Soubor zachycenych dat ramenattack.gz byl stazen z adresy www.ouah.org/ramenworm.httn. Najde- te zde velmi podrobny rozbor cerva Ramen, jehoz autorem je Max Vision. Rozbor je dostupny pod nazvem „Ramen Internet Worm Analysis" spolu se zdrojovym kodem ramen.tgz. Soubor ramenat- tack.gz najdete take ve slozce /captures na doprovodnem CD teto knihy. Wireshark soubor automa- ticky po otevfeni rozbali. Nyni projdeme jednotlive dasti zachycenych dat a podivame se, jak cerv Ramen pracuje. 1, Na obrazku 7.16 intikovany system na adrese 192.168.0.23 provadi sken typu SYN/FIN, pficemz skenuje sit Indy B, tedy 10.0.0.0/24. Dostava odpoved SYN/ACK od systemu 10.0.0.23. Obrazek 7.16 Skenovani a Jireni derva Ramen 2. Dale v paketu 26 vidime, jak se derv pfipojuje к systemu, aby ziskal banner sluzby FTP, jeho/ pomoci cerv zjisti, zda je systemem server Red Hat 6.2 nebo 7.0. Banner vraceny systemem s Red Hat 6.2 vypada takto: 220 test2.whitehats.com FTP server (Version wu-2.6.0(l) Mon Feb 28 10:30:36 EST 2000) ready. 221 You could at least say goodbye. 3. Dale jsou proti potencialnimu cili spu&teny exploity wu-ftp a rpc.statd. Aktivita exploitu wu-ftp /adina paketem 137 a je neuspesna, zatimco exploit rpc.statd mel vice Stesti. Obrazek 7.17 uka- zuje datovy naklad paketu s exploitem rpc.statd. VSimnete si „vycpavky" v podobe fetdzce „90 90 90 90...“ a koncovky ,,/bin/sh“, ktera spusti prostfedi pfikazoveho fadku (shell). V paketu 289
338 Kapitola 7: Zachytavani paketu v prax: take uvidite, ze jakmile je sken SYN/FIN site 10.0.0.0/24 dokoncen, je systemu 10.9.9.9 odeslan na port 31337 paket SYN/FIN. "lento paket je po dokonceni skenovani zaslan na adresu www microsoft.de. Protoze byl cerv spusten a analyzovan v laboratornich podminkach, byl nazev ww\v microsoft.de pfifazen adrese IP 10.9.9.9. Obrazek 7.17 Exploit rpc.statd cerva Ramen 4. Take si vsimnete paketu 290, kde probiha akce pfipojeni na port 39168 ciloveho systemu. Exploit rpc.statd vytvof il na tomto portu napadeneho pocitace backdoor a ten je nyni pouzivan pro zaha- jeni pfenosu cerva a jeho spousteni. Take posila e-mailove zpravy na ucty hostovane servery spo- lecnosti Hotmail a Yahoo. Vypis tohoto pfenosu muzete videt na obrazku 7.18. Obrazek 7.18 SpuSteni cerva Ramen
Aktivni odezva 5 posledni pripojeni, ktere vidite na obrazku 7.17, zacina paketem 297 a pfedstavuje samotny pfe- nos sady nastroju Ramen. Pripojeni bylo zahajeno pfedchozim skriptem. Nove napadeny system se pfipoji zpet к utodnikovu portu 27374 a stahne si kopii cerva. 6 Nyni se na napadenem poditaci spusti cerv a zacne skenovat sit’ na nove zranitelne systemy. Celkove vzato je cerv Ramen snadno odhalitelny, zejmena diky tomu, ze pouziva dobfe zname dislo portu pro prenos cerva. Obsahuje nevysvetleny a neefektivm kod a ani se nesnazi svou cinnost skry- vat. Take v пет existuje nekolik mist, kde by jeho lunkdnost mohla byt vylepSena. Na druhou stranu tento cerv vyuziva nekolika ruznych zranitelnosti a umi se sam zdatne sif it, takze pred jeho pfipad- nou novou verzi byste se urdite meli mit na pozoru. Poznamka: Tzv. day-zero dtoky (v hackerskt- komunite se muzeme setkat s oznacenim 0-day - pozn. pfekl.) pfedstavuji exploity zranitelnosti, ktere jeste nejsou znamy a pro ktere neexistuje aktualizace programu, jez by zranitelnost odstranila. Aktivni odezva Jak system pro detekci pruniku (IDS) Snort, tak firewall Netfilter v linuxovem jadru disponuji schop- nosti zasilat pakety TCP RST pro nasilne ukonceni relace protokolu TCP. Tyto pakety RST jsou gene- rovany jako odezva na splneni podminky urciteho pravidla nebo kriteria, jako napfiklad skodliva data aplikacni vrstvy7 v jednom paketu protokolu TCP v ramci navazane relace TCP. Avsak mecha- nismy pouzivane aplikacemi Snort a Nettilter jsou pomerne odlisne, diky cemuz pfi podrobnem pru- zkumu ve Wiresharku uvidime v paketech RST znacne rozdily. Utocnik muze byt schopen prozkou- mat rozdily v aktivni odezve systemu a na zaklade techto rozdilu muze odvodit typ aplikace, kterou pouzivate. Tato data zachycena ve skute£nem sitovem prostfedi pouzijeme pro zkoumani paketu RST pochazejicich z detekcnich zasuvnych moduli) tlexresp a flexresp2 aplikace Snort a take z aplikace Netfilter REJECT target po odhaleni primitivniho pokusu klienta о zobrazeni souboru /etc/passwd prostfednictvim weboveho serveru (vSimnete si, ze nyni se zabyvame rozborem technologic odezvy, namisto pfedstaveni dalsiho exploitu). Ve vsech nasledujicich pfipadech spoustime pfikaz echo Jetd passwd” | nc webserver 80 pro zadani fetezce /etc/passwd v ramci relace TCP s webovym serverem (s nazvem „webserver"). Snimky obrazovky Wiresharku zobrazuji vysledne pakety RST pochazejici od aplikace Snort a od Netfilter REJECT target. Poznamka: Netfilter je system pro filtrovani paketu na urovni jadra, ktery je diky sv£mu rozsife- ni pro vyhledavani shody fetezcu schopen zkoumani obsahu paketu na urovni aplikacni vrstvy. Netfilter najdete na adrese www.netfilter.org. Protoze Netfilter je zcela specificky pro linuxove jadro, pakety TCP RST generovane funkcf Netfilte- ru REJECT target tedy mohou pochazet pouze z operacniho systemu Linux. Snort byl ale portovan na vice platforem, takze zde takove omezeni paketu RST zaslanych pomoci detekcnich zasuvnych modulu flexresp a flexresp2 neni. Nejprve prozkoumame paket RST zaslany zasuvnym modulem flexresp programu Snort pfi pokusu о zobrazeni souboru /etc/passwd prostfednictvim weboveho serveru. Abychom meli co zkoumat, musime nejprve pi idat zakladni pravidlo do aplikace Snort, ktera spohipracuje s modulem flexresp
340 Kapitola 7: Zachytavani paketu v praxj pro zaslani paketu RST. Vsimnete si pouziti khcoveho slova resp s argumentem rst_ all, ktery prika zuje Snortu zaslat paket RST klientske i serverove strane relace protokolu TCP: alert tcp any any -> any 80 (msg:"WEB /etc/passwd attempt"; content:H/etc/passwd"; sid:100226; rev:l; resp:rst_al1;) Po odeslani fetezce /etc/passwd v relaci protokolu TCP prostfednictvim weboveho serveru a zachyce ni tohoto provozu vidime paket RST ve Wiresharku tak, jak je znazornen na obrazku 7.19. Vsimnete si, ze paket RST vykazuje nekolik charakteristickych rysu vcetne hodnoty TTL 81 v hlavicce paketu protokolu IP Jsou nastaveny oba pfiznaky RST i ACK a velikost okna protokolu TCP je nastavena na nulu. Modul flexresp nastavuje hodnoty TTL nahodne mezi 64 a 255, ale vzdy nastavuje velikost oknaprotokoluT( P na nulu (tytopodrobnosti si muzeteovefitprozkoumanim souboru snort-2.6.0/ src/detection plugins/sp_respond.c ve zdrojovem kodu programu Snort). Obrazek 7.19 Paket RST modulu flexresp Modul flexresp2 pouziva pro ukonceni relace protokolu TCP jinou strategii - konkretne posle rych- ly sled paketu RST s pofadovymi cisly a cisly potvrzeni, ktera se nepatrne lisi, cimz se pokusi shodit spojeni do nepouzitelneho stavu. Syntaxe klicoveho slova resp je v modulu tlexresp2 rmrne odlisna od syntaxe v modulu flexresp. Argument reset_both opet pfikazuje Snortu zaslani paketu RST obema stranam ucastmcim se relace protokolu TCP: alert tcp any any -> any 80 (msg:"WEB /etc/passwd attempt"; content:"/etc/passwd"; sid:100226; rev:l; resp:reset.both;) Obrazek 7.20 ukazuje modul flexresp2 v akci. V tomto pfipade vidime pet paketu RST, ktere byly zaslany zpet klientovi (tyto byly podvrzeny Snortem tak, aby vypadaly iako pakety vygenerovane ser- verem). S vyjimkou pofadovych cisel a cisel potvrzeni protokolu TCP kazdy z techto paketu ma iden- tickou hodnotu TTL nastavenou na 128, vsechny maji nastaveny pfiznaky RST a ACK a take velikost okna protokolu TCP na hodnotu 181 (zvetseno). Modul flexresp2 vypocitava hodnoty TTL a veli- kost okna protokolu TCP na zaklade hodnot v paketu, ktere vyhovuji pravidlu aplikace Snort. (Pro vice informaci doporucujeme prozkoumat soubor snort-2.6.0/src/detection-phigins/sp_respond2.c ve zdrojovem kodu programu Snort.)
Obrazek 7.20 Paket RST modulu flexresp2 Jako posledni prozkoumame paket RST generovany programem Nctfilter REJECT target z jadra ope- racniho systemu Linux. Aby Netl ilter zaslal paket RST pfi pokusu klienta webove sluzby о ziskani souboru /etc/passwd, spustime na webovem serveru nasledujici pfikaz iptables: В # iptables -I INPUT 1 -p tcp --dport 80 -m string --string "/etc/passwd" --algo bm W -j REJECT --reject-with tcp-reset Kdyz se ted’pripojime к webovemu serveru a pokusime se zobrazit soubor /etc/passwd, bude paket RST vypadat jako ten z obrazku 7.21. Tentokrat je zde pouze jeden paket RST, cimz se REJECT target podoba modulu flexresp. Avsak je zde jeden podstatny rozdil (neni zobrazen, protoze stopa paketu je zachycena z klientskeho systemu), a to ten, ze Netfilter REJECT target umi vygenerovat paket RST pouze pro zdrojovou adresu IP paketu, ktery vyhovuje pravidlu pro shodu fetezcu; take nemuze zaslat paket RSI na cilovou adresu IP (v tomto pfipade adresa IP serveru). Na prvni pohled by se to mohlo jevit jako zavazne omezeni, protoze klientsky system muze proste iiltrovat pfichozi pakety RST jeste pfedtim, nez dorazi na mistni zasobnik protokolu TCP, v dusledku cehoz by spojeni nebylo ukon- ceno (pro toto filtrovani muze byt na strane klienta pouzit tfeba Netfilter). Avsak Netfilter RE JE( 1 target take zahazuje odpovidajici pakety (v tomto pfipade pakety obsahujici fetezec /etc/passwd), takze spojeni TCP se nikdy nedostane za bod, ve kterem se odesila /etc/passwd, protoze tuto zpravu server nikdy neobdrzi. Schopnost zahazovani paketu vychazi ze skutecnosti, ze Netfilter je firewall a jako takovy je clankem komunikacniho fetezce sitoveho provozu. Snort pakety zahazovat neumi, pokud neni nasazen v tzv. inline modu. I Nakonec je velikost okna protokolu TCP nastavena na nulu, a i kdyz zde vidime hodnotu TTL=64, vsechny verze Linuxu s jadrem starsim nez verze 2.6.16 pouzivaly hodnotu 255. Tyto hodnoty jsou pfifazovany uvnitf zdrojoveho kodu REJECTu v souboru linux/net/ipv4/netfilter/ipt_REJECT.c ve В zdrojovych souborech linuxoveho jadra. Tato data zachycena v realnem prostfedi byla poskytnuta Mikem Rashem. Dekujeme mu za jeho horlivy pfistup a skutecne odbornou analyzu.
342 Kapitola 7: Zachytavani paketu v praxi » i MO w » f«*< <r IX. «WI DUnk_ U *1 « Н» U o»t JS 4J 5* T<x * «Wl iftNMM (1Й iW.M D, №1 MN NUM1IM И» И > > 0iff«rv<»4«ad «'•lew «М» 1Ж> «М» OH eUn Mt* 1г» —a** «0 >•<*** « >k*ck«u» lev -*<*J -mWI rt«. >4».M*L < к <ч.и.1> OMtMwtiw IM.M.I (IK.HB M. i * ftMtMHx «m.U »v Ml «<• «. M «Ml. IM MM. «« B. • »•«: Wt» <- tBMWWUM l*t *»’•• *M»*S 1 tr«lrttv» M»KI МЙ*) >**<«> Mnyth: » «*«•• » MBlWMm r • «Mw Mixwi • 1*1» «•«>: |nrr«c«I Obrazek 7.21 Netfilter REJECT target - paket RST Shrnuti Rozbor paketu zachycenych v prostfedi skutecne site je vedou i umemm zaroven. Sitovy segment s velkym mnozstvim provozu muze analyzatoru pfedlozit tisice paketu obsahujicich stovky spojeni, relaci a protokolu. Funkce vestavene ve Wiresharku, jako napriklad schopnost rekonstrukce spojeni protokolu TCP, zobrazovaci filtry a barevne odliseni paketu, pomahaji zjednoduSit proces analyzy dat. AvSak stejne jako pfi prohlubovani libovolne dovednosti nebo znalosti musite tuto dovednost neustale cvidit, cvicit a zase cvicit. Pravidelna analyza sitbvych dat vam pomuze rychle zhodnotit, co je normalni a co neobvykle chovani. Pokud nemate moznost analyzovat vlastni sitbva data, muzete se licastnit ukolu na webu Honeypot Project Scan of the Month. Tyto ukoly zahrnuji analyzu sitbve- ho provozu, skodliveho kodu, exploitu a metodologie. Meli byste take byt schopni cist a interpretovat hexadecimalm vystup. Tato zkusenost se vam urcite hodi pfi analyze tzv. day-zero utoku a implementaci vasich vlastnich signatur. Systemy pro detekci pruniku casto hledaji signatury podle obsahu paketu v hexadecimalnim formatu. V teto kapitole jsme pfedstavili nekolik ruznych typu zachycenych dat a procesu pouzitych к jejich analyze. Meli byste vedet, jaky typ aktivity hledat v zachycenych datech a jak identifikovat ruzne typy sitoveho provozu. Spojeni teto schopnosti s metodologii feseni sitbvych problemu pfedstavene ve 2. kapitole teto knihy vam pomuze odhalit, analyzovat a rychle reagovat na dalsi velke rozsifeni skodliveho kodu.
Rychla reseni pychla reseni Skenovani Ф Skenovani site slouzi к detekci otevfenych portu systemu. Sken typu TCP Connect provadi uplny tricestny handshake TCP a muze byt snadno odhalen a zaznamenan. 4 Sken typu SYN byl dfive pouzivan jako skryta skenovaci technika, ale vetsina modernich fire- wallu a systemu IDS jej dokaze odhalit. Ф Sken typu XMAS je proti operacnim systemum finny Microsoft zcela neefektivni, protoze tyto systemy odpovidaji ze vsech portu paketem RST, a to i tehdy, kdyz jsou otevfene. ♦ Sken typu Null posila pakety, ktere nemaji nastaveny zadny pfiznak. Zavfene porty odpovi zpra- vou RST/ACK a otevfene porty paket proste zahodi. Trojany pro vzdaleny pristup ♦ Programy tvpu backdoor pro ziskam neopravneneho vzdaleneho pfistupu do systemu jsou casto doruceny duverivemu uzivateli jako dast programu typu trojan. ♦ Backdoory pro vzdaleny pfistup pracuji na architektufe klient/server, cimz utocnikovi umoznuji uplne ovladnuti napadeneho systemu. ♦ SubSeven muze utocnika formou IRC, e-mailu nebo jinym zpusobem informovat о tom, ze poci- tac obeti je online. ♦ NetBus je stars! backdoor trojan pro operacni system Windows. Je snadno odhalitelny antiviro- vym softwarem, ale stejne jako v pripade SubSeven existuje mnoho ruznych verzi. ♦ Trojan RST.b nasloucha v promiskuitnim modu a odpovi na paket protokolu UDP obsahujici datovy naklad ,,DOM‘' na libovolnem portu. Rozbor cervu ♦ Internetovi cervi se stavaji rychlejsi a komplexnejsi. ♦ Cerv SQL Slammer pouziva pro sve rychle sifeni protokol UDP. ♦ Puvodni cerv Code Red pracoval ve tfech fazich: sifeni, odepfeni sluzby a spanek. ♦ Cerv Ramen je sadou nastroju, ktere mohou zneuzit nekolik znamych zranitelnosli v utilitach wu-ttpd, rpc.statd a Iprng. Aktivni odezva ♦ Aplikace Snort i Netfilter aktivne reaguji na urcite udalosti ukoncenim relace protokolu 1< I’ zaslanim paketu RST. ♦ I tocnik muze byt schopen identifikovat program pro aktivni odezvu podle charakteristik pake- tu RST. ♦ Pakety RST pochazejici z aplikaci Snort flexresp, Snort flexresp2 a Netfilter jsou velmi odlisne.
344 Kapitola 7: Zachytavani paketu v praxj Caste dotazy Nasledujici casto kladene otazky byly zodpovezeny autorem teto pubhkace a isou zde umisteny proto abyste mohli zhodnotit sve porozumeni danemu tematu, a take vam pomohou pfi uplatneni teore* tickych znalosti v podminkach realneho prostfedi. Otazka: Proc je nekdy pfi klepnuti pravym tlacitkem mysi na paket volba „Follow TCP Stream** zasedla? Odpoved: Zakladovy protokol, ktery se snazite rekonstruovat, nepouziva pro pf ipojeni protokol TCP Muze pro pfipojeni pouzit nespojovany protokol UDP. Otazka: Mohu pouzit Wireshark pro objeveni trojana, ktery je zaslan nekomu na me siti? Odpoved: Nikoliv. Wireshark muzete pouzit pro odhaleni aktivniho pouziti programu pro vzdaleny pfistup, ktery je trojanem nainstalovan. Wiresharku i libovolnemu jinemu analyzatoru se bude pfe- nos trojana jevit jako prenos obycejneho spustitelneho souboru. Otazka: Mohu pouzit Wireshark pro odhaleni viru zaslaneho nekomu na me siti? Odpoved: Nikoliv. Stejne jako v pfipade pfenosu trojana se bude i pfenos infikovaneho souboru jevit jako pfenos obycejneho spustitelneho souboru. Wireshark nema moznost poznat, ze soubor je infikovan virem. Otazka: Existuji sit’ove aktivity, ktere mohou byt mylne vyhodnoceny jako utok skenovanim site? Odpoved: Ano, je mnoho aktivit, ktere mohou vyvolat dojem, ze na siti je provadeno skenovani. Kli- entska aplikace, ktera po svem spusteni automaticky vyhledava server, muze pokracovat zasilanim paketu SYN na cilovou adresu. Casto take cetna a rychla spojeni asociovana se stahovanim dat pro- stfednictvim protokolu FTP a HTTP pfipominaji skenovani site a mohou aktivovat alarm.
KAPITOLA 8 Vyvoj Wiresharku Re sent v teto kapitole: ♦ Podminky pro vyvoj Wiresharku ♦ Navrh Wiresharku ♦ Vyvoj disektoru ♦ SpouSteni disektoru ♦ Pokrocila temata ♦ Shrnuti ♦ Rychla feseni ♦ Caste dotazy
346 Kapitola 8: Vyvoj Wiresharku Uvod Protoze je Wireshark programem pouzivajtcim kod spadajici pod licenci open-source a je siren pod licenci General Public License, muze svou praci pfispivat к projektu Wireshark mnoho vyvo- jafu z celeho sveta. Tato spoluprace mnoha jednotlivcu ucinila z Wiresharku pro mnoho organizaci zivotne dulezity nastroj. Vyvojaf i Wiresharku pfispeli novy mi funkcemi к rostoucimu poctu nastroju dostupnych v distribuci Wiresharku, vcetne konzolove verze Wiresharku nazvane Tshark, stejne jako mnoha jinych nastroju jez jsou soucasti Wiresharku. Hlavni aplikaci Wiresharku je aplikace grafickeho uzivatelskeho rozhrani (GUI), ktera vyuziva kom- ponenty programu GNU’s Not UNIX (GNU) Image Manipulation Program (GIMP). Posledni verzi sady nastroju GIMP je GTK+, ktera je udrzovana jako samostatny projekt na strankach www.gtk. org. Wireshark pouziva knihovnu GTK pro implementaci sveho grafickeho uzivatelskeho rozhra- ni, a proto nove vlastnosti casto potfebuji provadet zmeny i v tomto GUI (napf. nove polozky nabi- dek nebo zmeny v existujicim vyberu nabidek). Jadro teto aplikace zahrnuje hlavni okno, nabidky, funkce utilit atd. Soucasti Wiresharku, ktere se zabyvaji rozborem (disekci) paketu, se nazyvaji disektory protokolu. Tyto soudasti jsou samostatnymi moduly zdrojoveho kodu, ktery sdeluje Wiresharku, jak analyzovat konkretni typ protokolu. Disektor muze byt vehce komplexni i pomerne jednoduchy - podle toho, pro ktery protokol je urcen. Nejvetsi skupinu pfispevku do distribuce Wiresharku tvofi prave nove disektory nebo rozsifujici lunkce tech stavajicich. Vyuzitim konceptu uvedenych v teto kapitole si osvojite zakladni postupy, diky kterym i vy budete schopni podilet se na projektu Wireshark. Z vaseho usili bude mit uzitek mnoho uzivatelu a vyvo- jafu po celem svete. Dalsi informace Podminky pro vyvoj Wiresharku Prvniin krokem vyvojoveho procesu je ziskani zdrojoveho kodu Wiresharku. Z webovych stranek Wiresharku muzete stahnout mnoho ruznych distribuci, jako tfeba aktualne uvolneny zdrojovy kod nebo posledni nocm zalohu zdrojoveho kodu. Muzete take vyuzit uloziste Subversion (SVN) pro udrzbu aktualnich dat v prubehu vyvoje. Pouzivani verze SVN je ve srovnani s pouzivanim uvolne- nych verzi Wiresharku tnnohem riskantnejsi, protoze kod techto verzi nebyl pine otestovan. ОЬеспё se vsak da fici, ze kod verzi SVN je vysoce kvalitni.
podnninky pro vyvoj Wiresharku 347 Mate-П problem s aktualni verzi kodu SVN, vetsinou se vam dostane podpory od £lena e-mailove Conference wireshark-dev@wireshark.org. SVN umoznuje pfistup ke zmenam k6du s tim, jak jsou •ahrnovany do tzv. master buildu (zdrojove kddy sestavene do podoby baliku, ktery bude mozno uvolnit к pouzivani - pozn. prekl.). Verze SVN jsou skutedne nejaktualnejsi, avsak dani za tuto aktual- nost mohou byt dosud neidenti'ikovane a nepopsane chyby. Mejte na pameti, ze distribuce SVN jsou pravidelne aktualizovany; muzete vyvijet svuj vlastni kod s pouzitim zakladm sady kodu Wireshar- ku a pozdeji pou/e /kontrolovat, ktere specificke dasti z tech, se kterymi pracujete, byly zmeneny komunitou kolem Wiresharku. Instrukce pro pouzivani poslednich verzi a uloziste SVN najdete na adrese www.wireshark.org. Pfedtim nez budete moci pfidavat песо do Wiresharku nebo jej upravovat, musite umet sestavit aplikaci ze zdrojoveho kodu. К tomuto sestaveni potfebujete dalsi knihovny a nastroje. Wireshark je multi-platformni aplikaci (tzn. umi pracovat na mnoha operacnich systemech); meli byste byt tedy schopni sestavit Wireshark na tom operacnim systemu, pro ktery Wireshark vyvijite. Je diilezite porozumet skutecnosti, ze Wireshark byl vyvinut a sestaven s vyuzitim ruznych programo- vacich jazyku, vcetne mnoha unixovych nastroju a skriptu shellu (napr. nekolik modulu ve Wireshar- ku je napsano v jazycich Perl a Python). I kdyz nemusite byt nutne expertem na vsechny programo- vaci jazyky, muze nastat situace, kdy budete potfebovat rozumet nekteremu programovacimu jazyku alespon natolik, abyste byli schopni provest drobnou zmenu v programu. Vetsina zakladniho kodu Wiresharku je napsana v jazyce ANSI C. Pozadavek na jazyk, resp. normu ANSI (> vychazi z pozadav- ku na pfenositelnost kodu mezi ruznymi opera^nimi systemy. Pfi programovani v jazyce C, musite zvlaste dbat na pouzivani pouze tech funkci, ktere jsou definovany standardem ANSI C a jsou pfe- nositelne. Meli byste byt schopni pouzivat vetsinu kompilatoru jazyka С к sestaveni zdrojoveho kodu Wiresharku pro operacni system Linux a take Microsoft Visual C++ pro Windows. Poskozem a obrana Dovednosti Abyste byli schopni vytvofit novy disektor nebo modifikovat hlavni aplikaci, musite umet progra- movat v jazyce C. Avsak pamatu te, ze modifikace stavajicich disektoru muze nekdy vyzadovat zna- lost i dalsich programovacich jazyku.
348 Kapitola 8: Vyvoj Wiresharku Modifikace grafickeho uzivatelskeho rozhrani programu Wireshark vyzaduje jistou znalost platformy GTK. Na adrese www.gtk.org najdete ruzne tutorialy pro programovani GTK v podobe dokumentfi dostupnych online i ke stazeni. Do projektu Wireshark pfispivaji mnozi vyvojari, pficemz kazdy z nich je na ruzne urovni. Nektefi jsou zacatecnici a nektefi naopak experti. Avsak celkove je projekt Wireshark udrzovan jedinou sku- pinou velmi zkusenych vyvojafu. Nove pfispevky jsou touto skupinou zkontrolovany, pfipadne jsou provedeny nezbytne upravy a potom je prispevek /afazen do distribute zdrojoveho kodu. V nekte- rych pfipadech muze jednotlivec kontrolujici kod doporucit provedeni urcitych zmen. V jinych pfi- padech muze tento clovek provest zmeny ci upravy sam. Nastroje I Knihovny Vetsinou potfebujete vyvojafskou sadu pro pfistup к nezbytnym knihovnam. Vyvojafska sada je odlisna od bezne binarni distribute. Vyvojafska sada obecne obsahuje sestavene binarni soubory pro operacni system, pro ktery byla sestavena (napf. protoze Wireshark pouziva pro sve graficke uziva- telske rozhrani knihovny GTK, potfebujete vyvojafskou sadu pro knihovnu GTK). Take potfebuje- te stahnout spravnou vyvojafskou sadu pro operacni system, pro ktery se chystate vyvijet. Pokud je to mozne, pouzivejte posledm uvolnenou verzi vyvojafske sady. I kdyz zfejme budete moci sestavit Wireshark i s pouzitim starsich knihoven, vysledky nemusi byt pfesne podle vasich ocekavani. V ne- kterych pfipadech pouzivani starsich knihoven vubec neni dobry napad. Nektere operacni systemy podporuji pouze urcite verze knihoven. Obecne doporucujeme konzultovat tuto problematiku ve vyvojafske e-mailove konferenci nebo ve vyvojafske sekci webovych stranek www.wireshark.org. Porty knihoven potfebnych pro platformu Win32 nemusi byt nutne pf itomny na webovych strankach techto knihoven (napf. port knihovny pro zachytavani dat v promiskuitnim modu libpcap se jmenu- je WinPcap). Webove stranky anonsvn.wireshark.org/wireshark-win32-libs/trunk/packages obsahuji vetsinu toho, co budete pfi sve praci potfebovat, ale pokud chcete sestavovat Wireshark s knihovna- mi, ktere nejsou na strankach Wiresharku dostupne, podivejte se na webove stranky portu kniho- ven pro platformu Win32. Pfi sestavovani Wiresharku budete potrebovat knihovnu GTK a knihovnu General Language for Instrument Behavior (GLIB). Wireshark muze byt sestaven s pouzitim obou verzi knihoven GTK, af uz stars! G I K vl.2, vl.3 nebo novejsi GTK v2.x. Novejsi verze v2.x pfidava lepsi kontrolu nad fonty a celkove vypada a pusobi lepe. Muzete ji stahnout na strankach www.gtk.org. Sekce teto knihy s nazvem „Instalace" popisuje nektere z moznych problemu pfi instalaci na distribucich operacnich systemu jako Solaris a Red Hat. Konzolova ver/e Wiresharku s nazvem Tshark vyzaduje pouze knihovny GLIB. Pokud sestavujete pouze aplikaci Tshark, GTK vubec nepotfebujete. Chystate-li se sestavovat Wireshark nebo Tshark s podporou zachytavani paketu, budete potfebo- vat knihovny libpcap, ktere najdete na strankach www.tcpdutnp.org. Bez podpory zachytavani pake- tu budou moci uzivatele vaseho programu pouze prohl izet soubory zachycenych dat, nebudou vsak schopni pakety zachytavat. Vyvojafi pro platformu Win32 budou potfebovat take knihovny WinP- cap, ktere Ize stahnout z adresy winpcap.polito.it.
podminky pro vyvoj Wiresharku 349 I'nixove a linuxove operacni systemy detekuji nainstalovane knihovny pomoci procesu automake, ,xtery identil ikuje baliky knihoven, jez mohou byt pouzity pfi sestavovani Wiresharku. Navic muzete novolit ci zakazat volitelne soucasti knihoven v ргиЬёЬи konfiguracniho procesu. Napfiklad takto: mylinuxbox:/home/userl/wireshark $ ./autogen.sh mylinuxbox:/home/userl/wireshark $ ./configure -without-net-snmp -with-ucdsnmp - with-ssl Na pocitacich zalozenych na platforme Win32 by mel byt soubor conjig.nmake upraven tak, aby defi- noval knihovny, jez maji byt pouzity pfi procesu seslaveni. Tyto knihovny jsou pfidany do vysled- neho binarniho souboru v prubehu linkovani. Na operacnim systemu Windows jsou pro sestaveni binarnich souboru Wiresharku potfebne vyvojaf ske sady. Avsak pokud se rozhodnete sestavit balik binarni distribuce, budete potrebovat i obycejne binarni soubory podpurnych knihoven, nebotbinar- ni distribuce pro Win32 kopiruji dynamicky linkovane knihovny (DLL) do slozky \Program Files\ Wireshark, odkud se nacitaji pfi spousteni aplikace. Nasleduje seznam knihoven potfebnych pro sestaveni Wiresharku. Pamatujte, ze potfebujete stah- nout vyvojarskou sadu, abyste ziskali knihovny potfebne pro vas operacni system. Nektere baliky jsou volitelne a mohou byt spojeny s pfidavnymi funkcemi. Nasledujici baliky knihoven jsou potfebne pro sestaveni binarnich souboru Wiresharku: ♦ glib - nizkourovnova zakladni knihovna pro GTK ♦ gettext - nastroj GNU pro konverzi jazyka ♦ libiconv - knihovna pro konverzi znakovych sad ♦ GTK - sada nastroju GIMP pro tvorbu Wiresharku Nasledujici baliky knihoven jsou volitelne a diky jejich linkovani Ize vyuzit mnoho dalsich funk- ci. Na systemech Unix a Linux pouzijte pfepinace pfikazoveho fadku -with a -without v ргиЬёЬи konfiguracniho procesu. Na р1а1£огтё Win32 misto toho zakomentujte ci odkomentujte pfislusne fadky v souboru config.nmake. ♦ libpcap - knihovna pro zachytavani paketu pro operacni systemy Unix a Linux. ♦ WinPcap - knihovna pro zachytavani paketu pro operacni systemy Win32. ♦ ADNS GNU - knihovna klienta Advanced Domain Name Server (ADNS). Pfidava podporu pro vyhledavani v DNS (vsechny operacni systemy). ♦ GNUTLS TLS - knihovna pro desifrovani protokolu Secure Socket Layer (SSL) a dalsich sifro- vanych protokolu (vsechny operacni 8у$1ёту). ♦ libgcrypt - kryptograficka knihovna pro desifrovani a sifrovani paketu (vsechny operacni sys- 1ёту). ♦ GTK_Wimp - tema GTK pro Windows. Pfidava do Wiresharku vzhled ve stylu Windows XP (pro operacni system Windows). ♦ Lua - vykonna knihovna odlehceneho programovaciho jazyka. Podporuje skriptovani Lua (vsech- ny operacni systemy). Viz www.lua.org. ♦ net-snmp - knihovna Simple Network Management Protocol. Pfidava podporu pro SNMP Mana- gement Information Base (MIB) (vsechny operacni systemy). ♦ ucd-snmp - alternativni knihovna SNMP pro operacni systemy Unix/Linux. ♦ nettle - nizkourovnova sifrovaci knihovna. Pfidava podporu desifrovani protokolu Kerberos (vSechny operacni systemy).
350 Kapitola 8: Vyvoj Wiresharku ♦ Perl Compatible Regular Expressions (PCRE) Library - pfidava filtry regularnich vyrazu jazy- ka Perl (vsechny operacni systemy). ♦ zlib - knihovna pro kompresi souboru. Pfidava podporu komprimovanych souboru (vsechny operacni systemy). Pokud sestavujete Wireshark sknihovnou GTKve verzi 1.2 nebo 1.3, dalsi knihovny u/ nejsou zapo- trebi. Pokud vsak sestavujete Wireshark s knihovnou GTK 2.x, potfebujete take tyto knihovny: ♦ atk - sada nastroju pro pfistupnost (vsechny operacni systemy). ♦ pango - internalizace textu (vsechny operacni systemy). Uzivatele operacniho systemu Windows si musi vybrat, zda budou zkouset sestavit Wireshark z pro- stfedi Cygwin s pouzitim kompilatoru GCC, nebo pouziji kompilator s nativni podporou Win32, jako je Microsoft Visual C++ (MSVC++). Uzivatele Windows musi take stahnout mnozstvi pfi- davnych knihoven. Vychozi umisteni pro knihovny specifikovane v distribuci Wiresharku je C:\ wireshark-win32-libs. Stahnete a rozbalte kazdou z pozadovanych knihoven do tohoto umisteni. Skripty Wiresharku zde najdou knihovny v prubehu sestaveni. Pokud soubory z nejakeho duvodu nemuzete umfstit do vyse uvedene slozky, budete muset modiiikovat soubor config, ntnake tak, aby odkazoval do spravneho umisteni pro kazdou knihovnu. D intormace Poznamka к vyvoji pro Win32 Pokud ne vsechny, tak rozhodne vetsina souboru potrebnych pro vyvoj Wiresharku na plat- I formu Win32 byla umistena do uloziste Wiresharku. Vyvojafi Win32 mohou soucasne s pfi- kazem ntnake pouzit prepinad, ktery tyto soubory automalicky stahne. nmake -f Makefile.nmake setup Proces nmake stahne a rozbali potfebne baliky knihoven podle konfigurace v souboru config, nmake v kofenovem adresafi distribuce. Pokud neexistuje, bude na spoustecim disku vytvo- fena slozka \wireshark-win32-libs. Jakmile je balik stazen a rozbalen, puvodni komprimo- vany soubor je ze systemu odstranen. Jestlize vsechny urcene knihovny mohou byt stazeny a nainstalovany, zobrazi se zprava, ze Wireshark je pfipraven pro sestaveni. Aby tato volba s pfikazem ntnake pracovala, musi vyvojafi platformy Win32 dbat na to, aby meli nainstalovano prostfedi Cygwin, zdrojovy kod Wiresharku a patricny kompilator jazyka C. Vice informaci najdete na strance wiki Wiresharku na adrese wiki.wireshark.org. Kazdy nastroj je specificky vzhledem к operacnimu systemu, na kterem bezi. Sestavovaci proces Wiresharku pouziva soubory skriptu, ktere pro svou praci potfebuji mnozstvi nastroju. Vetsina nastroju ma sve kofeny v operacnich systemech Unix/Linux. Abyste sestavih Wireshark na ne-Uni- xovych systemech, budete potfebovat podobne nastroje. Uzivatele Windows budou potfebovat prostfedi Cygwin, ktere je prostredim linuxoveho stylu pro pocitace s operacnim systemem Windows. Cygwin zprostfedkovava jak emulaci linuxoveho Appli- cation Program Interface (API), tak i sadu linuxovych nastroju. Tyto nastroje umoznuji skriptiim pouzivanym Wiresharkem v prubehu sestavovaci ho procesu pracovat na pocitacich s operacnim sys- temem Windows. Prostfedi Cygwin muzete stahnout a nainstalovat z adresy www.cygwin.com.
Podmi'nky pro vyvoj Wiresharku 351 Uzivatele Windows musi pouzivat Python - balik tohoto jazyka s nativni podporou Windows muzete stahnout z adresy www.cygwin.org. Ale muzete take pouzit Python z prostredi Cygwin, coz je vzhle- dem ke komentafum uvedenym v souboru config.nmake preferovany zpusob. Vetsina Unixovych a linuxovych operacnich systemu obsahuje kompilator jazyka C a mnoho nastro- ju potrebnych pro sestaveni Wiresharku. Nasleduje seznam nastroju, ktere potfebujete pro sestaveni Wiresharku: ♦ Cygwin - vyvojafiim Win32 poskytuje nastroje systemu Unix/Linux. Neni potrebny pro ope- racni systemy Unix/Linux. ♦ Perl - potrebny pro vsechny operacni systemy. ♦ pod2man - soucast Perlu. ♦ pod2html - soucast Perlu. ♦ Python - potrebny pro vSechny operacni systemy. ♦ Flex - potrebny pro vsechny operacni systemy. ♦ Bison - potrebny pro vsechny operacni systemy. ♦ Nullsoft Scriptable Install System (NSIS) (Jen pro Win32) - tento volitelny balik umoznuje vyvojafum sestaveni distribucnich baliku Win32. Pokud neplanujete tvorbu distribucniho bali- ku, tento nastroj nepotrebujete. ♦ Doxygen - volitelny nastroj pro vsechny operacni systemy. Sestavuje dokumentaci off-line. ♦ Hand-held Computer (HHC) - jen pro Win32. Pfidava komprimovane soubory Help (.chm). Nastroje a past! J. 'CJRfi KK! Sestavovani na unixovych a linuxovych operacnich systemech Detailni instrukce pro sestaveni binarniho kodu Wiresharku ze zdrojovёho kodu jsou obsazeny v souboru .install umistenem v hlavni zdrojove slozce. Kapitola 3 teto knihy take nastinuje proces sestaveni na operacn im systemu Red Hat Linux. Je dulezite pochopit dusledky sestaveni binarnich baliku Red Hat Package Manager (RPM) pro distribuci ruznorode zakladne uzivatelu (napr. pfi sestaveni s podporou desifrovani SSL). Meli byste od uzivatelu vyzadovat, aby meli potfebne soucasti knihoven nainstalovany pred instalaci noveho baliku RPM Wiresharku. DeSifrovaci knihovny SSL, ktere jsou pozadovany pro podporu desifrovani, jsou soucasti baliku knihoven gnutls a gcrypt. Pokud nepouzivate stejnou verzi Unixu nebo Linuxu pro vas vyvojovy system, muzete shledat nalezem spravnych baliku zavislosti obtiznym. Pfi sestavovani baliku RPM, ktery ma byt rozsifen mezi siroke spektrum uzivatelu, muzete omezit sadu funkci Wiresharku na zakladni tunkcnost. Sestavovani na operacnich systemech zalozenych na Windows Podrobne instrukce pro sestaveni binarnich souboru Wiresharku ze zdrojoveho kodu jsou obsazeny v souboru README.win32 umistenem v hlavni zdrojove slozce. Tento soubor take obsahuje instrukce pro sestaveni pomoci MSVC+t- i Cygwin. Take je dulezite pfi sestavova- ni Wiresharku pouzivat pf ikaz cmd.exe (nikoliv command.com). Pfikaz cmd.exe poskytu- je mnoho konvenci pro pojmenovani souboru, zatimco stars! command.com je omezen na nazvy о maximalni deice 8+3 znaky (tzv. konvence 8.3). Zdrojovy kod Wiresharku obsahuje mnoho konvenci pro pojmenovani souboru a neni podporovan pi ikazem command.com.
Kapitola 8: Vyvoj Wiresharku Uzivatele operacniho systemu Windows musi aktualizovat nebo zmenit vychozi systemove pro_ menne, aby jejich kompilator byl schopen nalezt dalsi podpurne knihovny (napf. pfi sestaveni Wiresharku musi zdrojovy kod wiretap obsahovat hlavickove soubory pro podporu Windows Sockets - Winsock). Je dulezite, aby sestavovaci proces mohl najit spravne soubory „include". Zkontrolujte, zda jsou nasledujici uzivatelske promenne prostfedi spravne nastaveny: ♦ Include ♦ Lib Take je dulezite se ujistit, ze prostfedi Cygwin je dostupne v umisteni nastavenem pomo- ci uzivatelsky definovane рготёппё prostfedi, aby bylo mozne vyhledat spustitelne soubory prostfedi Cygwin v ргиЬёЬи sestavovaciho procesu. Tyto spustitelne soubory jsou ekvivalen- tem spustitelnych souboru v operacnich systemech Unix a Linux (napf. bison.exe je ekviva- lentem Unixoveho protejsku bison). Pokud pracujete s aplikaci MSVC++ a potfebujete гтёпк prostfedi tak, aby obsahovalo i ces- ty prostfedi Cygwin, ujist£te se, ze tuto cestu vzdy pf idavate na konec. Jinak muzete v ргйЬё- hu sestavovaciho nebo linkovaciho procesu ziskat knihovny zalozene na prostfedi Cygwin, misto tech, ktere jsou potfebne pro soucasti MSVC++. Dalsi vyvojarske prostfedky Webove stranky Wiresharku obsahuji ruzne stranky, ktere vam mohou byt v ргиЬёЬи vyvoje uzitecne. Obsahuji take databazi chyb (Bugzilla) na adrese bugs.wireshark.org/bugzilla, sekci wiki pro komen- tafe vyvojafu, informace a podrobnosti na strance wiki.wireshark.org a na adrese wiki.wireshark. org/WishList take tzv. Wish List neboli Seznam pfani. Tyto online zdroje mohou vyvojafi pouzivat jako doplfiujici zdroj informaci. Bugzilla je online databaze pro hlaseni chyb. Jakykoliv uzivatel Wiresharku muze zaslat hlaseni о chy- Ьё, ktere by тё1о obsahovat nasledujici informace: ♦ Zkopirujte a vlozte informaci о verzi Wiresharku z dialogoveho okna „About". Version 0.99.4 (SVN 20061028081818) Copyright 1998-2006 Gerald Combs <gerald@wireshark.org> and contributors. This is free software: see the source for copying conditions. There is NO warranty: not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. Compiled with GTK+ 2.6.8, with GLib 2.6.5, with WinPcap (version unknown), with libz 1.2.3, with libpcre 6.3, with Net-SNMP 5.2.1.2, with ADNS, without Lua. Running with WinPcap version 3.1 (packet.dll version 3, 1, 0. 27). based op libpcap version 0.9[.x] on Windows XP S, build 2600. ♦ Popiste chybu tak podrobiw, jak je to jen mozne. ♦ Pfidejte informace о krocich, ktere vedou к navozeni chyboveho stavu. ♦ Pfipojte snimky obrazovky, vzorky zachycenych paketu atd.
Dalsi vyvojarske prostredky 353 Wiki Wiresharku Stranky Wiki obsahuji mnoho informaci, vcetne zdroju pro uzivatele a vyvojafe, informace о proto- kolech a vyvojarske poznamky. Na strankach Wiki Wiresharku najdete take Developer Guide (Pru- vodce vyvojafe) a User Guide (Pruvodce uzivatele). Na tyto stranky by mely smefovat vase prvni kroky v pfipade, ze mate nejake otazky о speciflcke funkci nebo prostfedku. „Wish List" Wiresharku Wish List (Seznam pfani) obsahuje seznam funkci, ktere jsou uzivateli i vyvojafi nejvice zadany. Wish List je tim pravym mistem, kde muzete zahajit svuj proces vyvoje Wiresharku. E-mailova konference Wiresharku Jako doplnek к novejsim zdrojum pro vyvojafe i uzivatele jsou vast spojnici s komunitou kolem Wiresharku i e-mailove konference. Pokud nemuzete nejakou informaci najit v dokumentaci zahr- nute v distribuci Wiresharku nebo v online informacnich zdrojich, muzete se zaregistrovat do e-mai- love konference wireshark-dev a zasilat dotazy, zaplaty atd. Navrh Wiresharku Distribuce zdrojoveho kodu Wiresharku obsahuje hlavni slozku zdrojovych kodu a nekolik podslozek. Hlavni slozka zdrojoveho kodu obsahuje nasledujici dulezite soubory zdrojoveho kodu: ♦ autogen.sh - konfiguracni skript Wiresharku pro utilitu autogen na operacnich systemech Unix a Linux. ♦ config.nmake - sdeluje Wiresharku, kde ma v prubehu sestavovaciho procesu pomoci pfikazu nmake na platforme Win32 hledat knihovny. ♦ Makefile.nmake - instrukce pro sestaveni binarnich souboru Wiresharku na platforme Win32. ♦ Makefile.am - konfiguracni soubor Automake pro Unix a Linux. ♦ Makefile.common - spolecne definice makefile pro pfikazy make i nmake. ♦ cleanbld.bat - odstrani nektere generovane soubory, takze sestavovaci system neni zmaten pfe- pinamm Unixovych a Win32 buildu ve stejnem strome. o adoca fatjadc * СЭ asnl e ропаке ♦ О codecs i deban dei tte О doc a docbook Qdtds a £jepan Ogtk О help * Od < * £3 image » О packaging а О radius О test * О toote jC'H wiretap Obrazek 8.1 Hlavni slozka configure - soubor pro sestaveni a instalaci na operacnich systemech Unix a Linux.
354 Kapitola 8: Vyvoj Wiresharku ♦ INSTALL - instalacni instrukce pro Unix a Linux. ♦ tnake-xxx - soubory skriptu pro sestaveni podpurnych modulu. ♦ README.xxx - soubory readme pro ruzne platformy. ♦ tap-xxx TAP protokolu. ♦ xxxx - zbyvajici soubory obsahuji funkce utilit pro Tshark. Na obrazku 8.1 muzete vid£t strukturu slozek v distribuci Wiresharku. .svn Skryta slozka .svn obsahuje konfiguracni informace pro klienta SVN. adocal-fallback a autom4te.cache Slozky adocal-fallback a aclocal-missing se pouzivaji pro ulozem informaci potfebnych pro program automake na systemech Unix a Linux. Slozka ASN1 Pokud ma protokol specifikaci ASN1, utilita ,,asn2wrs“ dodavana s Wiresharkem umoznuje vyvoja- fum vytvarem disektoru zalozenych na aktualni specifikaci. Pfidruzene soubory jsou ulozeny ve slozce ASN1. Abyste mohli pouzit kompilator asn2wrs, musite mit nasledujici ctyfi vstupnf soubory: ♦ specifikaci protokolu ASN1 ♦ xxx.cn/kontiguraci ♦ packet-xxx-template.h ♦ packet-xxx-template.c Podivejte se na stranku wiki.wireshark.org, kde najdete dalsi podrobnosti о jednotlivych typech pozadovanych souboru a take jejich ukazky. Slozka Debian Slozka Debian se pouziva z duvodu kompatibility s operacnimi systemy zalozenymi na linuxovem systemu Debian, 'lyto soubory nejsou v baliku pfitomny, protoze nastroje Debianu potfebuji, aby slozka Debian byla slozkou nejvyssi urovne v baliku zdrojoveho kodu. Slozka Diameter Tato slozka obsahuje soubory se specifikaci ve formatu XML pro disektory diametralnich protoko- lu. Slozka doc Ve slozce doc jsou obsazeny textove dokumenty, ktere vam mohou pomoci v prubdhu vyvoje. Jsou to tyto soubory:
Dalsi vyvojarske prostfedky 355 ♦ README.binarytrees - poskytuje informace о vyuziti binarnich stromu v disektoru protokolu. ♦ README.capture - poskytuje informace о rozhrani pro zachytavani knihovnam XML/Packet Capture (pcap). ♦ README.design - poskytuje nektere uzitecne informace о zakladni struktufe Wiresharku. ♦ README.developcr - hlavni dokument pro pomoc ve vyvoji novych disektoru protokolu. Take jsou /de zahrnuty uzitecne ukazatele navrhu, vzorove Sablony a informace о pfipadnych problemech. ♦ README.idl2wrs - prostudujte tento dokument, kdyz potfebujete sestavit disektor ze soubo- ru IDL. ♦ README.malloc - nastinuje nove rozhrani API pro spravu pameti ve Wiresharku. ♦ README.packaging - poskytuje informace о redistribuci Wiresharku. ♦ README.plug-ins - dokumentace pro vyuzivam rozhrani zasuvnych modulu Wiresharku. ♦ README.regression - kroky potfebne к testovani a regresi novych disektoru. Tento soubor poskytuje sablonu, kterou muzete pouzit pro testovani regrese v dekoderech paketu. Soubor je strukturovan podobne jako soubor makefile, ktery muzete pouzit po modilikaci hlavniho kodu Wiresharku nebo disektoru, abyste se ujistili, ze Wireshark pracuje spravne. ♦ README.stats tree - strom statistik je obeenym grafickym uzivatelskym rozhranim, ktere dava vyvojarum moznost pfidat specifickou informaci Terminal Access Controller (TAC) do jejich disektoru protokolu, aniz by se museli ucit GTK nebo programovat v GUI Wiresharku. Tento dokument nastinuje proces pouzivani stromu statistik. ♦ README.tapping - podrobne informace о odposlouchavacim systemu vestavenem ve Wire- sharku. ♦ REA DME.xml-output - Tshark poskytuje mechanismus pro vystup dat ve formatu XML/Packet Details Markup Language (PDML). Tento dokument naznacuje moznosti teto funkce. ♦ xxx.html - ve slozce doc je take mnozstvi souboru ve formatu HTML. Tyto soubory jsou zaklad- nimi manualovymi strankami pro kazdy samostatny binarni soubor obsazeny v distribuci Wire- sharku. DocBook Dokumenty Pruvodce uzivatele Wiresharku i Pruvodce vyvojafe Wiresharku jsou obsazeny ve zdrojo- vem kodu Wiresharku, aby umoznily vyvojarum pridavat tyto soubory do jejich vlastnich distribuci. Abyste mohli vyuzit funkci DocBook, musite nainstalovat aplikaci DocBook v prostfedi (.ygwin (na platforme Win32). Dalsi informace najdete v souboru README.txt v teto slozce. Definice dtds Tato slozka obsahuje soubory Document Type Definition (DTD) pouzivane disektory XML. Disek- tory XML pouzivaji tyto soubory pro rozbor specifickych dat ve formatu XML, ktera jsou pfenasena prostfednictvim protokolu Hypertext 'transfer Protocol (HTTP), Session Initiation Protocol (SIP) a dalsimi protokoly. Dalsi informace о struktufe souboru DTD najdete v sekei XML stranek Wiki Wiresharku.
356 Kapitola 8: Vyvoj Wiresharku Slozka epan Slozka Ethernet Protocol Analyzer (EPAN) obsahuje disektory protokolu a vetsinu utilit a globalnich funkci pouzivanych uvnitf disektoru. Podslozka dfilter obsahuje zdrojovy kod pro funkcionalitu zobrazovacich filtru. Slozka Dissectors obsahuje vsechny disektory protokolu, ktere nejsou dostup- ne formou zasuvnych modulu. Podslozka ftypes obsahuje zdrojovy kod definujici ruzne datove typy, ktere jsou vyuzivany v logice datovych typu (viz obrazek 8.2). S (.Jepan (fcsectors (3 (types И wslua Obrazek 8.2 Slozka EPAN Slozka gtk Slozka gtk obsahuje soubory zdrojoveho kodu pro hlavni aplikaci Wiresharku, ktera zahrnuje i graficke uzivatelske rozhrani stejne jako nabidky, panely nastroju. statistiky konverzace, statistiky koncovych bodu atd. V podstate v teto slozce najdete zdrojovy kod potfebny pro pfistup ke GUI Wiresharku. Slozka gtk2.tmp Pfi sestavovani Wiresharku s pouzitim knihovny GTK+ 2.x proces make vytvofi slozku gtk2.tmp. Zkopiruje slozku se zdrojovym kodemyf/c a potom tyto soubory zkompiluje. Tyto soubory by neme- ly byt modifikovany, protoze pfi dalsim sestaveni budou smazany nebo aktualizovany. Zmena techto souboru by mela byt provadena ve slozce gtk. Slozka Help Slozka Help obsahuje soubory zdrojoveho kodu, ktere se pouzivaji pro sestaveni obsahu dialogovych oken nabidky Help. Tato okna jsou sestavena v prubehu kompilace a jsou linkovana s binarnim sou- borem Wiresharku. Slozka IDL Slozka IDL obsahuje detmice IDL pro disektory protokolu vyvinute pomoci aplikace idl2wrs. Vice informaci najdete na st rance Wiki aplikace Wireshark. Slozka Image Ve slozce Image jsou ulozeny ikony a bitove тару linkovane s binarnim souborem Wiresharku (viz obrazek 8.3). Vlastni ikony jsou ulozeny v podslozce toolbar a jsou ve formatu X PixMap (XPM). Format XPM se pouziva pro tvorbu ikon a bitovych map pro operacni systemy zalozene na X-Win- dows.
Dalsi vyvojafske prostfedky 357 Obrazek 8.3 Slozka Image Dalsi informace Vlastni ikony GTK 2.x umoznuje zamenit standard™ ikony za vlastni. Kdyz vytvafite vlastni ikony, uiis- tete se, ze je vytvafite se stejnymi fyzickymi rozmery, jako maji bitmapy ulozene v podsloz- ce toolbar. Slozka Packaging Slozka packaging obsahuje skripty a soubory nezbytne pro vytvofeni binarni distribute (viz obrazek 8.4). V soudasnosti podporovane distribute zahrnuji Nullsoft Striptable Installation System (NSIS), ktery slouzi к tvorbe instalacnich baliku pro Windows a RPM a System V Release 4 (SVR4) pro tvor- bu linuxovych a unixovych instalacnich baliku. to i ) pacfcagnq risk ы cjrpm О SPECS a о из |i Win32 Obrazek 8.4 Slozka packaging Dalsi informace Balik NSIS Abyste mohli sestavit instalacni balik NSIS pro operacni systemy Windows, musite si stah- nout kompilator NSIS ze stranek nsis.sourceforge.net/Download. Balik RPM Pri sestavovani baliku RPM muze byt nutne zmenit soubor wireshark.spec ulozeny ve sloz- ce SPECS. Radek CFLAGS v tomto souboru popisuje syntaxi pfikazu configure pro sestave- ni bahku. Radek CFLAGS obsahuje parametry -wiih-ssl=/usr -with-krb5. Pokud sestavujete binarni balik RPM, mozna budete muset zmenit tyto konligura<!ni parametry tak, aby vyho- vovaly pozadovane sade funkci Wiresharku.
358 Kapitola 8: Vyvoj Wiresharku Zasuvne moduly Disektoru, ktere mohou byt pouzivany prostfednictvim ro/hrani pro zasuvne moduly Wiresharku, bylo vyvinuto velke mnozstvi (viz obrazek 8.5). Podrobne informace о zasuvnych modulech najdete v dokumentu READ ME. plugins ve slozce doc. ^acn (□agentx partner dKMffl (JdocsB enttec C39°P QjFyphon £)h223 uJrta • ijlua □ brei • (□mate (□megarg Omgcp О ope □ pd (□ profhet Oftnrt (Jrudp ЁЭ$ЬШ Q statsjtree Qtpg CJ vSua Obrazek 8.5 Rozhrani zasuvnych modulu Slozka Radius Ve slozce Radius jsou umisteny slovnikove soubory definujici ruzne specifikace vyrobcG pro disek - tory sluzby Radius. DalSi informace najdete na strance Wiki Wiresharku. Slozka Test Slozka Test je kombinaci skriptu pouzivanych к testovani rozhrani pfikazoveho fadku Tsharku. Slozka Tools Distribuce zdrojoveho kodu Wiresharku obsahuje ve slozce tools ndkolik nastroju. Soubor Wireshark- XML.py je skript v jazyce Python pouzivany ke cteni souboru PDML generovanych Tsharkem. Slozka lemon obsahuje nastroj Lemon, ktery generuje soubory zdrojoveho kodu jazyka C na zaklade dodane sablony (viz obrazek 8.6). Lemon je generator parseru (analyzator syntaxe - pozn. pfekl.) pro jazyky C a C++, ktery vykonava stejnou praci jako Bison a Yet Another Compiler-Compiler (Yacc); avsak Lemon poskytuje vice pruznosti a pirn svou funkci lepe diky eliminaci beznych chyb. 'Гаке pracuje mnohem rychleji nez jine nastroje a je reentrantni a z hlediska prace s vlakny bezpecny. Obrazek 8.6 Slo2ka Lemon
Vyvoj disektoru 359 Slozka Wiretap Slozka wiretap je zakladni knihovou pro podporu prace se soubory zachycenych dat, ktera poskytu- je podporu pro cteni a zapis ruznych formatu souboru zachycenych dat. Informace о tom, jak pf i- dat nebo modifikovat typy souboru podporovanych Wiresharkem, najdete v dokumentu README, developer ve slozce wiretap. Vyvoj disektoru Disektor protokolu je vetsinou psan v jazyce C, i kdyz Wireshark obsahuje soucasti, ktere mohou sestavit zdrojovy kod jazyka C ze skriptu jazyka Python, souboru IDL a skriptu v jazyce Perl. Tyto soubory jsou pojmenovany podle protokolu, jejichz rozbor provadeji (napr. disektor protokolu s nazvem myprot by se jmenoval packet-myprot.c). Tyto soubory jsou ulozeny mimo hlavni sloz- ku se zdrojovym kodem, a to ve slozce EPAN/dissectors. Nektere disektory byly implementovany ve forme zasuvnych modulu. Zasuvne moduly maji tu vyhodu, ze v prubehu vyvoje neni nutne opako- vane sestavovat cely zdrojovy kod Wiresharku. Avsak take zasuvny modul zacina ve forme soubo- ru zdrojoveho kodu packet-xxx.c. V teto sekci se budeme zabyvat kroky potfebnymi pro vytvofeni standardniho disektoru packet-xxx.c. Dalsi informace Predtim, nez zacnete Predtim, nez zacnete vyvijet svuj vlastni disektor, otevfete soubor README.developerve slozce doc. Zkopirujte a vlozte vzorovou sablonu, ktera vam poskytne zakladni kostru pro vyvoj. Nastroje a pasti Zamyslem nad editorem zdrojoveho kodu Je dulezite, aby vas editor umel ukladat soubory ve spravnem formatu. Zdrojovy kod Wireshar- ku je slozen ze souboru unixoveho stylu. Soubory zdrojoveho kodu by nemely obsahovat radky koncici znakem Carriage return / Line feed (CR/LF - navrat ,,voziku“ neboli kurzoru na zacatek fadku a posun na novy fadek - pozn. pfekl.). Radky by mely byt ukoncovany pouze znakem LF (posun na novy radek). Pokud programujete na pocitaci s operacnim systemem, ktery neni zalozen na systemu Unix, meli byste se ujistit, ze vas editor podporuje spravne for- matovani koncu fadku. Jinak budete muset zdrojovy kod formatovat pokazde predtim, nez jej zaslete do e-mailove konference wireshark-dev. Krok 1 - zkopirujte sablonu Abyste mohli do Wiresharku integrovat novy disektor, musite provest nekolik kroku. Prvnim z nich jsou komentafe, ktere vidite v nasledujicim vypisu. Pamatuite, ze Wireshark je open-source, takze hlavni komentaf obsahuje nejen informaci о tom, ze jste tento disektor vylvofili vy, ale take о puvodnim autorovi Wiresharku a licenci GPL.
360 Kapitola 8: Vyvoj Wiresharku /* packet-PROTOABBREV.c * Routines for PROTONAME dissection * Copyright 2000, YOUR.NAME <Y0UR_EMAIL_ADDRESS> * $Id: README.developer,v 1.86 2003/11/14 19:20:24 guy Exp $ ★ * Wireshark - Network traffic analyzer * By Gerald Combs <gerald@wireshark.org> * Copyright 1998 Gerald Combs * Copied from WHATEVER_FILE_YOU_USED (where "WHATEVER_FILE_YOU_USED" * is a dissector file; if you just copied this from README.developer, * don't bother with the "Copied from" - you don't even need to put * in a "Copied from" if you copied an existing dissector, especially * if the bulk of the code in the new dissector is your code) * This program is free software: you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. Pfi praci se sablonou musite nahradit urcity text vasimi in formacemi. Napf. na fadku 1 byste nahra- dili fetezec packet-PROTOABBREV.c fetezcem packet-myprot.c. Zmente fadek 2 (PROTONAME) tak, abyste urcili protokol, к jehoz rozboru ma disektor slouzit. Radek 3 by mel byt zmenen v soula- du s informacemi о datu vzniku autorskych prav, mel by obsahovat vase jmeno a e-mailovou adresu. Pamatujte, ze diky tomu, ze je Wireshark open-source projektem, je toto vase prohlaseni о vlastnictvi zaslaneho zdrojoveho kodu. Jakmile vasim kodem pfispejete do projektu Wireshark, stane se cast! GPL a vy budete pridani do rostouciho seznamu pfispevatelu projektu Wireshark. Radek 5 komen- tafe je dulezity pro system SVN, protoze urcuje aktualni zasah do souboru a revizi. Tento fadek je modifikovan pokazde, kdyz zaslete soubor do systemu SVN nebo z SVN soubor stahnete; tento fadek nikdy neodstranujte. Nakonec fadek 11 by mel byt zmenen tak, aby dokumentoval zdrojovy kod vasich informaci pouzitych pro tvorbu disektoru. Pokud tato informace nem dostupna nebo ji neni mozne zvefejnit, tato sekce miize byt vynechana. Zbytek komentaru by mel zustat nedotcen, aby obsahoval informace о puvodnim autoru (Geraldu Combsovi) a informace о GPL. Krok 2 - definujte zaclenene soubory Jak muzete videt v nasledujicim vypisu, dalsi casti sablony delinuji soubory zaclenene v tomto zdro- jovem kodu. Zaclenene soubory jsou potfebne pro globalni funkce volane disektorem. Wireshark definuje mnozstvi globalnich funkci, ktere mohou byt pouzity ve vasem disektoru protokolu. Muzete
Vyvoj disektoru 361 potrebovat zaclenit standardni hlavickove soubory z vaseho kompilatoru nebo standardni knihovny (napf. string.h je standardnim hlavickovym souborem obsahujicim funkce pro praci s fetezci). //ifdef HAVE_CONFIG_H // include "config.h" #endi f //include <stdio.h> //include <stdlib.h> //include <string.h> //include <glib.h> //ifdef NEED_SNPRINTF_H // include "snprintf.h" //endi f //include <epan/packet.h> //include "packet-PROTOABBREV.h" Vystupni рготёппё jsou nastaveny nebo pfedany pre-procesoru jazyka C, aby urcily specificke zacle- пёпё soubory, ktere mohou byt potfebne pro sestaveni za urcitych podmtnek (napf. гас!епёпу soubor HAVE_CONFIG_ H je zpracovan pouze tehdy, kdyz je hodnota make vyhodnocena jako pravdiva). Na operacnich systemech zalozenych na systemu Linux jsou vystupni рготёппё definovany pro- gramem autoconf tak, aby urcily dalsi vystupni рготёппё zalozene na sestavovacim prostfedi. Vice informaci najdete na adrese www.gnu.org/software/autoconf. Dalsi informace Globalni funkce Wireshark obsahuje velke mnozstvi funkci, ktere muzete pouzit ve svёm disektoru protoko- lu. Abyste tyto funkce pouzili, musite zaclenit do zdrojoveho kodu hlavickove soubory, ktere obsahuji definovane funkce. Jednou z nejt^zsich Casti vyuzivani globalnich funkci je urceni 1ёсЬ, ktere jsou dostupne pro pouziti. Йекпёте, ze mate adresu protokolu IP, kterou chce- te zobrazit. Mohli byste rucne tbrmatovat zobrazeny fetёzec nebo muzete pouzit vestavC- nou globaln; Funkci. Ale kde je tato globalni funkce? Nasledujici seznam zobrazuje пёк1егё z nejobvyklejsich гас!епёпусЬ souboru de? inujicich globalni funkce, ktere muzete ve svem disektoru pouzit: ♦ prefs.h - struktury a funkce pro manipulaci systemovych nastaveni. ♦ reassemhle.h - struktury a funkce pro opetovne sestaveni fragmentu paketu. ♦ tap.h - funkce pro vyuzivani vestavёnёho rozhrani TAP. ♦ ep an/column-util - funkce pro manipulaci s daty ve sloupcich Souhrnneho okna. ♦ epan/conversation.h - funkce pro sledovani konverzaci (od pozadavku к odpovёdi). ♦ epan/int-64bit.h - funkce pro manipulaci s celymi 64bitovymi cisly. ♦ epan/plugins.h - funkce pro podporu zasuvnych modulu. ♦ epan/resolve.h - funkce pro preklad adres na nazvy. ♦ epan/strutil.h - Ьёгпё funkce fetёzcu. ♦ epan/to_str.h - funkce pro konverzi fetёzcй.
362 Kapitola 8: Vyvoj Wiresharku ♦ epan/tvbuff.h - testy Virtual Buller {tvbuff). Metoda pouzivana disektory pro pnstup к datum v paketech. ♦ epan/value_string.h - funkce pro vyhledavani fetezcu zalozene na ciselnych hodnotach. Nasledujici struktury mohou obsahovat informace dulezite pro vas disektor. ♦ epan/column-info.h - struktura dat ve sloupcich Souhrnneho okna. ♦ epan/framedata.h - struktura dat v ramci. ♦ epan/packet-info.h - struktura informaci о paketu. ♦ epan/expert.h - struktury a funkce pro volani expertmho TAP. Ve zdrojovem kodu Wiresharku existuje mnohem vice funkci a struktur. V nekterych pripa- dech rndzete prozkoumat dostupne funkce analy/ou jinych disektoru packet-xxx.c. V£tsinu z uzitecnych funkci, ktere muzete potrebovat, najdete ve slozce epan. Poskozeni a obrana Staticke funkce Вйга/пё se doporucuje, abyste funkce vytvofene pro vas disektor deklarovali jako staticke. Takto omezite jejich platnost na aktudlni disektor a nebudou vytvaret konflikty s dalsimi funkcemi, ktere mohou byt definovany v jinem disektoru nebo programu. Napfiklad pokud vytvorite funkci s nazvem dissect _my_protocol, meli byste vytvofit prototvp funkce takto: static void dissect_my_protocol(); Jak ma Wireshark vedet, jak volat vas disektor protokolu, pokud jsou funkce deklarovany jako statick£? Soudasti sestavovaciho procesu je i skript v jazyce Python, ktery zpracovava vsechny detinovane disektory protokolu. V prubehu tohoto procesu jsou potfebne funkce automaticky registrovany v hlavni aplikaci Wiresharku. V dalsim kroku se podivame na proces registrace disektoru protokolu podrobneji. Krok 3 - vytvorte funkci pro registraci Tento krok ve vyvoji disektoru protokolu spociva ve vytvofeni funkce pro registraci vaseho disek- toru ve Wiresharku. /* Register the protocol with Wireshark /★ this format is required because a script is used to build the C function that calls all the protocol registration. void proto_regi ster.PR0T0ABBREV(voi d) Setup list of header fields See Section 1.6.1 static hf_register_info hf[] - ( { &hf_PROTOABBREV_FIELDABBREV. for details */
Vyvoj disektoru 363 { "FIELDNAME”, "PROTOABBREV.FIELDABBREV", FIELDTYPE, FIELDBASE. FIELDCONVERT, BITMASK. "FIELDDESCR" I /* Setup protocol subtree array */ static gint *ett[J = { &ett_PROTOABBREV, /* Register the protocol name and description */ proto_PROTOABBREV = proto_register_protocol("PROTONAME", "PROTOSHORTNAME", "PROTOABBREV"); /* Required function calls to register the header fields and subtree used */ proto_register_field_array(proto_PROTOABBREV, hf, array_length(hf)): proto_regi ster_subtree_array(ett. array_length(ett)); Je dulezite, aby funkce proto_register_xxx byla zarovnana doleva, jak je znazorneno v Sablone. Skrip- ty pouzivane pro registraci disektorfl protokolu jsou make-reg-dotc a niake-reg-dotc.py. Tyto skripty parsuji vSechny soubory packet-xxx a vytvafeji tak seznam vsech disektoru, ktere se maji registrovat v enginu Wiresharku. Pokud tato funkce nesplnuje pozadavky na spravnou syntaxi, skripty skonci pfi registraci novych disektoru chybou. Soubor generovany temito skripty se jmenuje registers a najdete jej ve slozce epan/dissectors. Tento soubor by nemel byt editovan rucne, protoze je vytvafen pokazde, kdyz kompilujete a sestavujete Wireshark. Prvni cast funkce proto _register_myprot nastavuje pole h/disektoru. I kdyz tato pole nejsou pro roz- bor paketu nezbytna, jsou doporucena z toho duvodu, aby bylo mozne vyuzivat vyhody vsech funkci zobrazovacich filtru Wiresharku. Kazda polozka defmovana v poli h/bude samostatnou polozkou, kterou bude mozne ve Wiresharku liltrovat (napf. ip.src je elementem disektoru packet-ip). Muzete zadat zobrazovaci iiltr jako ip.src==10.10.0.1. Pokud nebyl element ip.src detinovan, tento filtr by byl interpretovan jako chybny. 1 &hf_ip_src, I "Source", "ip.src", FT_IPv4, BASE.NONE, NULL, 0x0, "". HFILL }J. Nastroje a pasti Polozky elementu hf Podrobny popis kazde soucasti elementu uvnitf pole hf najdete v dokumentu README.deve- loper ve slozce doc. Dalsi cast! procesu registrace je definice pole pro podstrom nazvany ett. Promenne ett sleduji status vetvi stromu ve stromu protokolu GUI (napf. zda ma byt vetev stromu sbalena ci rozbalena). Protokol je ve Wiresharku registrovan s kratkym i dlouhym nazvem volanim funkce proto_register_protocol (ta zpusobi, zebudeprotokol zobrazen vокпё Enabled Protocols). Zaverecnym krokem je registrace poli hf a ett pomoci funkci proto .register_Jield_array aproto_register_subtree_array.
364 Kapitola 8: Vyvoj Wiresharku Jak ma Wireshark vedet, kdy pfedat datovy proud ze specifickeho paketu noveinu disektoru? Wireshark vyzaduje, aby kazdy disektor sdelil Wiresharku, kdy ma byt zavolan. Napfiklad: Rekneme, ze pise- te disektor pro rozbor paketu prenasenych protokolem Transmission Control Protocol (TCP) na portu 250. Musite Wiresharku sdelit, aby vsechny pakety, jez splnuji tato kriteria, pfedaval vasemu novemu disektoru. Krok 4 - informujte Wireshark void proto_reg_handoff_PR0T0ABBREV(void) { dissector_handle_t PROTOABBREV_handle; PROTOABBREV_handle = create_di ssector_handle(di ssect_PROTOABBREV, proto_PROTOABBREV); dissector_add("PARENT_SUBFIELD", ID.VALUE, PROTOABBREV_handle); Funkce proto_reg_handoff_xxx informuje Wireshark о tom, kdy zavolat disektor. Funkce create_dissec- tor_handle pfedava funkci, kterou Wireshark zavola pro rozbor protokolu, hodnotu, ktera byla regis- trovana jako protokol ve funkci proto_register^protocol. Funkce dissector_add umoznuje specitikovat kriteria, ktera spusti pfedavani paketu Wiresharkem vasemu disektoru. Funkce PARENT_SUBFIELD umoznuje specifikovat element uvnitf rodicovskeho disektoru, ktery budete spoustet (napf. pro pro- tokol TCP port 250 byste tuto hodnotu nastavili na tcp.port, pote byste nastavili hodnotu ID_VALUE na 250). Potom Wireshark automaticky pfedava data vasemu disektoru volanim funkce definovane v create_dissector_value, pokud je hodnota tcp.port rovna 250. Take si vsimnete, ze pole PARENT_SUBF1ELD jsou pojmenovana podobne jako pole hf, ale nejsou totozna. Pole PARENT_SUBFIELD jsou hodnoty, ktere jsou exportovany rodicovskym disektorem, aby umoznily linkovani s dalsim disektorem (napf. existuje hodnota ethertype, ktera je v PARENT. SUBFIELD, ale neumoznuje nasledovat vzor pojmenovani pole hf). void proto_reg_handoff_myprot(void) { di ssector_handle_t myprot„handle; myprot_handle - create_dissector_handle(dissect_myprot, proto_myprot); dissector_add("tcp.port", 250, myprot_handle); ) Krok 5 - vytvorte disektor Dalsim krokem je vytvofeni disektoru. Potfebuiete vytvofit funkci, ktera byla zaregistrovana ve Wiresharku pro vas rozbor paketu. V tomto pfikladu je touto funkci dissect_myprot. Wireshark pfe- dava teto lunkci tfi datove struktury: tvb,pinfo a tree. Struktura tvb je pouziva pro extrakci a dekodo- vani paketu podle informace, ktera byla pfedtim analyzovana dalsimi procesy (napr. struktura pinfo vam fekne, к jakemu cislu paketu se tento paket vztahuje). Take obsahuje pfiznaky pro zpracovani fragmentovanych paketu nebo vicenasobnych analyz. Nakonec struktura tree poskytuje ukazatel na misto v pameti, kde jsou ulozena data stromu protokolu. V tomto pfikladu ukazatel ukazuje do mista v pameti, ktere pfedstavuje data ihned pod protokolem TCP a je pocatecnim bodem, odkud jsou vami analyzovana data zobrazena v okne Decode uzivatelskeho rozhrani Wiresharku (viz obrazek 8.7).
Vyvoj disektoru 0 Frame 11 (62 bytes on wire, 62 bytes captured) 0 Ethernet II, Src: 44:45:53:54:42:00, Dst: 00:00:66:51:6b:65 0 Internet Protocol, Src Addr: 164.99.192,69 (164.99.192.69), Dst Addr: 137.65.80.178 (137.65.80.178) 0 Transmission Control Protocol, Src Port: cma (1050), Dst Port: nep (524), Seq: 4077633535, Ack: 0, Len: 0 Obrazek 8.7 Data disektoru zobrazeni v окпё Decode Data vaseho dekoderu zacnou ihned za sekci TCP. V n£kterych pfipadech mozna budete chlit vlozit informace z datoveho proudu do mistm promenne, takze muzete delat logicka rozhodnuti na zaklade teto hodnoty. Abychom ziskali data z paketu, pouzili jsme funkci tvb_get_xxx. Pro nazornost pfedpo- kladejme, ze prvnim bajtem v paketu je hodnota integer bez znamenka, ktery obsahuje 0 pro paket pozadavku a 1 pro paket odpovedi. Napfed definujte promennou a potom pouzijte funkci tvb_get_ guint8 pro ziskani dat z paketu. guint. request_reply: request_reply = tvb_get_guint8(tvb, 0); Promenna request „reply nyni obsahuje hodnotu prvniho bajtu datoveho proudu. Parametry pfedane funkci tvb_get_xxx se budou lisit, ale vsechny pfijmou ukazatel na vasi mistni tvb a posun. V mnoha pfipadech je rozumne vytvofit promennou pro hodnotu posunu a potom tuto promennou po kaz- dem zavolam tvb zvetsit. guint request_reply, offset - 0; request_reply = tvb_get_guint8(tvb, offset); Dalsi informace Syntaxe nazvu funkei a promennych Wireshark pro veskerou syntaxi pouziva format malych pismen. Jazyk C rozlisuje mala a velka pismena, a promenna Request Reply je tedy jina рготёппа nez requestreply. Pri psani zdrojo- veho kodu pro Wireshark je upfednostnovanou syntaxi pouzivani malych pismen pro v§ech- ny znaky a oddelovani slov podtrzitkem (_). V nasem pfikladu jsme pouzili request_reply. Dodrzovani tohoto pozadavku je doporucovano, a to zejmena proto, aby veskery kod Wire- sharku mel jednotny vzhled a celkove pusobil jednotne. Endian Wikipedia www.wikipedia.com) defmuje endian takto: V oblasti vypodetni techniky endian obeend oznacuje sekvencni metody pouzivane v jedno- гогтёгпусЬ systemech (jako napr. zapis do panwti pocitace). Dva hlavni typy endianu jsou znamy jako big-endian (nejprve velke jednotky) a little-endian (nejprve male jednotky). 5у81ёту, ktere vykazuji aspekty obou konvenci, jsou casto oznadovany jako middle-endian. Kdyz hovofime konkretne о bajtech v souvislosti s vypocty. endiany se take ^kdy oznacuji jako pofadi bajtu nebo pohlavi bajtu. Zda se, ze neexistuje zadna vyznamna vyhoda pfi pouzivdni jednoho typu endianu misto druheho a oba jsou v kontextu mnozstvi ruznych architektur Ьёгпё. Avsak protoze ve v^tsi- пё osobnich i mobilnich pocitacu se pouzivaji procesory Intel x86 a jejich klony zalozene na little-endian, je drtiva vetsina soucasnych pocitacu zalozena 1акё na little-endian. №kdy se tomu take fika „format Intel". Site obecne pro adresy pouzivaji Cisla big-endian; je tomu tak z historickych duvodu, protoze tento zpusob umoznoval snterovani podobnym zpusobem, jako kdyz je vytoCeno telefonni cislo.
366 Kapitola 8: Vyvoj Wiresharku Funkce Motoroly tvb_get Existuje mnozstvi funkci tvb_get_xxx, ktere umoznuji ziskavat data z datoveho proudu pake- tu na zaklade typu dat, ktera chcete ziskat. Napfiklad muzete potfebovat x cisel bytu nebo muzete potfebovat 4bajtovou hodnotu. Take muzete zjistit, ze data v datovem proudu jsou v nespravnem pofadi. Napf. ocekavate, ze bude vracena hodnota jako 0001 z datoveho proudu paketu, ale misto toho je vracena hodnota 1000. Existuji dva typy funkci tvb_get_xxx, ktere umoznuji ziskavat data z datoveho proudu v takovem endianu, ktery potfebujete. Prostudujte si dokumentaci v souborech README, tvbuff a README.developer ve slozce doc. Typy hodnot Wireshark vyuziva mnozstvi beznych definic hodnot, ktere jsou definovany v souborech README.tvbujj a README.developerve slozce doc. Ruzna vyvojova prostfedi oznacuji ruzne typy hodnot ruznymi nazvy. Wireshark poskytuje beznou sadu typu hodnot, ktere umoznuji snadnejsi pfenositelnost mezi ruznymi operacnimi systemy. Nasleduje strucny seznam tech nejbeznejSich: ♦ guint8 - Ibajtova hodnota ♦ guintl6 - 2bajtova hodnota ♦ guint32 - 4bajtova hodnota ♦ guint64 - 8bajtova hodnota ♦ guint8*~ ukazatel na bajtovou hodnotu ♦ gcharh- ukazatel na retezec znakii Nyni chceme zobrazit informaci, zda je paket zadosti nebo odpovedi. To muze byt provedeno pomo- ci funkce proto_tree_xxx. V nasem pfikladu chceme zobrazit pouze zpravu indikujici, zda je paket zadosti nebo odpovedi: if (request_reply==O) proto_tree_add_text(tree, tvb, offset, 1, request_reply); "Request-(%d)", el se proto_tree_add_text(tree, tvb, offset, 1, "Reply-(%d)“, Funkce proto_tree_add_text vyzaduje nasledujici parametry: ♦ tree Ukazatel na strom protokolu. ♦ tvb tvbuff pro oznaceni dat zdrojoveho kodu. ♦ offset Posun v tvb, kde se nachazeji data. ♦ 1 Delka hodnoty v tvb (v bytech). ♦ Request Packet (%d) Format typu printf pro zobrazeni dat. ♦ request_reply Datova hodnota, ktera ma byt zobrazena pomoci formatu printf.
Vyvoj disektoru 367 Dalsi informace proto_tree_ addxxx Mozna by vas zajimalo, proc jsou informace tvbuffpfedavany funkciproto_tree_add _xxx. Uz jsme extrahovali informace do рготёппё request_reply. Parametry tvbuff sdёluj^ Wiresharku, ktera cast dat v hexadecimalnim tvaru ma byt гуугагпёпа v zobrazovacim okne, kdyz je tato hodnota vybrana v окпё Decode. Такё si vsimi^te, ze tvbuff zacina na zacatku dat pfeda- nych vasemu disektoru (napf. pfi ziskani dat z ivbuff s posunem 0 jsou prvnim bajtem paketu data, ktera se vztahuji к vasemu protokolu). Data pfedchoziho paketu, ktera byla dekodova- na pomoci disektoru vyssi йгоупё, nejsou pristupna. Takto je zaji^no, ze data vidёna vasim disektorem nalezi pouze rozboru protokolu, ktery тотепЫ1пё provadite. S timto pfikladem je jeden problem. Pokud vyuzijeme tunkci proto_tree_add_text, tato hodnota neni filtrovatelnym elementem. Tudiz pokud by uzivatel сЫё! vytvorit filtr pro vsechny pakety zadosti pomoci vaseho disektoru, nebylo by to mofпё. Muzete tento pfiklad pfepsat tak, aby vyuzival pole hf, cimz ucinite hodnotu request_reply filtrovatelnou polozkou. if (request_reply==O) proto_tree_add_item(tree, hf_request, tvb, offset, 1, FALSE): el se proto_tree_add_item(tree, hf_reply, tvb, offset, 1, FALSE); I kdyz tento pfiklad umoznuje uzivatelum filtrovani na гак^ё podminky zadosti a odpovёdi, neni to neiefektivnejsi pouziti funkceproto_tree_add_xxx. Protoze hodnota je jiz ulozena, neni duvod pro nuceni disektoru к орё(оупёти cteni dat. Funkce proto _tree_add_uint muze byt pouzita pro zob- razeni dat jiz ulozenych v рготёппё request_reply. Pokud hodnota nebyla uz v рготёппё ulozena, bude nejefektiv^jsi pouzit funkci proto_tree_add_item. if (request_reply==O) proto_tree_add_uint(tree, hf_request, tvb, offset, 1, request_reply); else proto_.tree_add_.uint(tree, hf_reply, tvb, offset, 1, request_reply); Pokud zmenimeproto_tree_add_text na proto_tree_add_xxx, vyuzijeme elementu hf pro zobrazeni dat v окпё Decode. Nyni potfebujeme pfidat do pole hf рготёппё hf_request a hj_reply. Nejprve musite deklarovat рготёппё hf na zacatku zdrojoveho kodu po pfikazech pro гас1епёт souboru. static int hf_request = -1; static int hf_reply = -1; Nyni pfidaine informace elementu do pole hf. { &hf_request, { "Request Packet", "myprot.request", FTJJINT8, BASE_DEC, NULL, 0x0, HFILL )), I &hf_reply,
368 Kapitola 8: Vyvoj Wiresharku I "Reply Packet", "myprot.reply". FTJJINT8. BASE_DEC. NULL. 0x0. "". HFILL H. Diky temto zmenam, pokud bude chtit uzivatel filtrovat vsechny pakety zadosti v disektoru myprot, zada filtr myprot.request. Libovolny paket splnujici dane kriterium hodnoty 0 v request_reply bude obsahovat pole elementu myprot.request. Pakety odpovedi obsahuji element myprot.reply. Obrazek 8.8 ukazuje pnklad, jak miize uzivatel zadat zobrazovaci filtr tak, aby donutil Wireshark zobrazit pouze pakety pro novy disektor. — I — -.— I— — , Filter: |myprot.request or myprot.reply Obrazek 8.8 Pnklad zobrazovaciho filtru Pozndmka: Je dulezite pochopit, ze vyse uvedeny pnklad neni pr^ve nejefektivnejsim zpusobem pro dokondeni tdto cinnosti. Bylo by mnohem jednoduSSi definovat fetezec hodnot (vysvetleny d^le v teto kapitole) pro identifikaci hodnot zadost/odpoved’. Hodnoty mohou byt potd pfeda- ny jedine poloice hf, coz uzivateli zobraz' spravne informace na z^klade moinentalni hodnoty obsazene v paketu. Napfiklad: static const value_string myprot_packet_types[] = I I 0x00000000, "Request" I. { 0x00000001. "Reply" I. I 0. NULL I I; /* inside our dissection code */ my_prot_packet. type « tvb_get_ntohl(tvb. foffset); proto_tree_add_uint(my_prot_tree. hf_my_prot_packet„type, tvb. foffset, 4, my_prot_packet_type): /* defined in the hf array */ I &hf_my_prot_packet_type, I "Packet Type". "my_prot.packet-type", FT_UINT32. BASE_HEX, VALS(my..prot_packet. types), 0x0, "Packet Type", HFILL J}, S takto upravenym pfikladem muzete filtrovat pakety zadosti tim, ze zadate filtr myprot.packet_ type==O pro pakety zadosti nebo myprot.packet_type==l pro odpovedi. Chcete-li zadat filtr, ktery by prost£ nasel pakety protokolu myprot, muzete zadat filtr myprot. Dalsi informace
Vyvoj disektoru 369 pfeteceni pameti nebo jeji poruseni. Je dobrym zvykem vyuzivat pole hj, i kdyz nechcete, aby koncovi uzivatele mohli filtrovat specificke polozky v dekoderu. Pro tyto situace muzete spe- cifikovat element tak, aby byl skryty, takze koncovi uzivatele nebudou vedet о jeho defmici. Podrobne informace о vsech ruznych typechproto_tree_ add_.xxx a formatu pole hf najdete v dokumentu README.developer ve slozce doc. Zde zacina skutecna prace disektoru. Musite projit logiku kazdeho typu paketu, ktery je disektorem dekodovan. Pro ziskani dat, ktera chcete vyhodnocovat, byste meli vyuzit funkce tvb_get_xxx a take proto_tree_add_xxx pro zobrazeni in formaci v окпё Decode. Souhrnne okno (viz obrazek 8.9) umoznuje rychle prochazet zachycene pakety bez nutnosti sledovat dekodovana data kazdeho paketu. Take umoznuje zobrazit strucnou, lec diilezitou informaci vzta- hujici se к paketu. Vetsina vyvojafii poskytuje souhrnna data о paketech zadosti a informace о chy- bach v paketech odpovedi. Funkce col_set_str umoznuje nastavit hodnotu dat uvnitf zobrazenych sloupcu Souhrnneho okna. Obrazek 8.9 Souhrnne okno Nasledujici kod ukazuje funkce check_col() a col_set_str(), ktere jsou podmnozinou dostupnych funkci pro praci se sloupci. if (check_co1(pinfo->cinfo, COL_PROTOCOL)) col_set_str(pinfo->cinfo, COL_PROTOCOL, "MYPROT"); Vsimnete si, ze prvni veci, kterou udelame, je vyhodnoceni, zda data sloupce existuji. Pokud ne, nemuzeme zapisovat do datove struktury sloupce. Toto je dulezity krok, nebof bez teto kontroly byste mohli pfipadne zapisovat do nedefinovaneho mista v pameti. Potom zavolame funkci col_set_str pro nastaveni hodnoty sloupce protokolu COL, PROTOCOL na M YPROT. if (request_reply==O) if (check_col(pinfo->cinfo, COL_INFO)) col_set_str(pinfo->cinfo, COL_INFO, "Request"): if (check_col(pinfo->cinfo, COLINFO)) col_set_str(pinfo->cinfo, COL_INFO, "Reply"); } Nyni budeme chtit nastavit souhrnny sloupec tak, aby odrazel skutecnost, zda se jedna о paket zadosti nebo odpovedi. Toho dosahneme pomoci funkce col_set_str. Vsimnete si, ze stale provadime kontrolu pro ovefeni, ze informace ve sloupci je platna. Pozdeji vnasem disektoru muzeme pfipojit informaci к informadnimu sloupci s pouzitim funkce col_append str.
370 Kapitola 8: Vyvoj Wiresharku Dalsi informace Funkce sloupcu Wireshark obsahuje mnozstvi funkci sloupcu, ktere umoznuji vycistit, nastavit a pfipojit data к existujicim datum sloupce. Tyto funkce jsou definovany v souboru epan/column-utils. hav dokumentu README.developerve slozce doc. Krok 6 - predani dat Posledni veci, kterou by mel disektor vykonat, je predani datoveho nakladu, ktery ma byt analyzovan dalsimi disektory. Toto predani datoveho nakladu provadeji disektory nizsi urovne, aby umoznily mista vstupu dalSiho rozboru (napf. disektor protokolu TCP dekoduje informace v hlavicce TCP, ale zbyvajici datovy naklad je analyzovan disektory vyssi urovne). V nekterych pfipadech data pfeda- vat nepotfebujete, ale doporucuje se, aby se vas disektor alespon podival na zbyvajici data v paketu a pfedal je, pokud v nich neni nic, co by tento vas disektor mel dekodovat. V nekterych pfipadech vas disektor muze obsahovat data, ktera nemohou byt analyzovana. V pfipade, ze mate zbyvajici data ve struktufe paketu, ktera ma byt dekodovana jinym disektorem nebo jako informace datove- ho nakladu, meli byste se nejakym zpusobem postarat alespon о zobrazeni techto dat. Pfedani zby- vajiciho datoveho nakladu zpet Wiresharku bude automaticky zobrazeno jako [Data], pokud neni mozne provest dalsi rozbor (napf. pokud neni definovan disektor nizsi urovne, ktery by se posta- ral о dekodovani zbyvajici ch dat). Pokud jsou zbyvajici data urcena pro vas disektor, pouziite funk- ci proto_ tree_add item a hodnotu -1 jako parametr. Pote Wireshark oznaci vsechna zbyvajici data v paketu jako definovanou polozku proto_tree_add_item. Nasledujici informace jsou uryvkem ze souboru README. developer ve slozce doc. Pfiklad ze souboru packet-ipx.c: void dissect_ipx(tvbuff_t *tvb, packet__info *pinfo. proto_tree *tree) { tvbuff_t *next_tvb; int reported_length. avai1able_length; /* Make the next tvbuff */ next_tvb = tvb_new_subset(tvb. IPX_HEADER_LEN. -1, -1); /* call the next dissector */ dissector_next(next_tvb. pinfo. tree); Informace obsazene v teto casti kapitoly vam umozni vytvofit jednoduchy disektor. V dalsi sekci se podivame, jak modifikovat soubory pouzivane к sestaveni Wiresharku tak, aby mohly byt zkompilo- vany a pfidany к projektu. Pfedtim nez zacnete pracovat na vlastnim disektoru, byste se meli ujistit, ze sestavovaci proces bude uspesne dokoncen a bude obsahovat nove disektory. Takto rovnez ove- rite spravnost registrace a take to, zda Wireshark pfedava data vasemu disektoru tak, jak ocekavate. V sekci „Pokrocila temata“ teto kapitoly prozkoumame nektere komplexneisi problemy, s nimiz se muzete setkat pfi tvorbe disektoru protokolu.
Spousteni disektoru 371 Spousteni disektoru Abyste do projektu Wireshark mohli pfidat novy disektor, budete muset modifikovat soubor Makefi- le.common ulozeny ve slozce epan/dissectors. DISSECTOR.SRC = \ packet-aarp.c \ packet-acap.c \ packet-afp.c \ packet-afs.c \ Pfidejte vas disektor do sekce DISSECTOR_SRC tohoto souboru. Pfi sestaveni Wiresharku bude tato sekce parsovana a kazdy disektor bude zkompilovan a linkovan к hlavnimu binarnimu soubo- ru Wiresharku. V souboru Makefile.common take najdete dalsi sekci, kde muzete definovat zaclenene soubory pfi- padne pouzivane vasim disektorem. DISSECTOR-INCLUDES = \ $(PIDL_DISSECTOR_INCLUDES) \ format-oid.h \ packet-acpl33.h \ packet-acse.h \ Pfidejte zadlenene soubory vaseho disektoru v sekci DISSECTOR_JNCLUDES. Stejn£ jako defin ice zdrojoveho kodu disektoru bude parsovana i tato sekce a bude zahrnuta v procesu kompilace a lin- kovan i. Kdyz jste uspesne sestavili Wireshark s va.simi modifikacemi, vrat’te se к analyze vaseho kodu v mis- tech, kde jste nedelali zadne komentafe, a sekce kodu temito komentafi opatfete. 'lakto muzete poz- deji prozkoumat kod a zjistit, co ktera sekce dela. Take si poznamenejte vSechna varovani hlaSena kompilatorem a pokuste se tyto problemy vyfesit. Tato varovani vznikaji napfiklad pfi pouzivani nevhodnych datovych typu nebo pfi dehnici nepouzivanych promennych. Kdyz skoncite s temito zaverecnymi upravami kodu a jste spokojeni s lunkcnosti, muzete svymi zmenami prispet к projektu Wireshark zaslanim zaplaty do e-mailove konference wireshark-dev. Pro zmeny v existujicich souborech se doporucuje, aby zmeny byly zaslany formou zaplaty к souborum existujicim v ulozisti SVN. Take je dulezite se poradit s kompetentnimi osobami pfed zaslanim libo- volnych informaci, na ktere se mohou vztahovat autorska prava. Pamatujte, ze Wireshark spada pod Jicenci GPL a svymi pfispevky automaticky akceptujete ujednani teto licence. Pracujete-Ji s distribuci ze systemu SVN, muzete provest aktualizaci pomoci nasledujiciho pfikazu: svn up nebo svn update Po aktualizaci byste meli vygenerovat zaplatu zalozenou na plnem zdrojovem kodu pomoci pfika- zu: svn diff | gzip > my_patch.gz Nebo v pfipade samostatneho souboru muzete uvest jeho nazev.
372 Kapitola 8: Vyvoj Wiresharku svn diff my_prot.c gzip > my_prot.c.diff.gz Kdyz chcete zaslat soubor, ktery obsahuje va§ novy disektor, meli byste poslat cely soubor zdrojove- ho kodu packet-myprot.c, zaclenene soubory a zaplatu к souboru Makefile.common. Pokus о vytvo- feni zaplaty SVN s vasim novym disektorem nevytvofi ve vasem zdrojovem kodu zadnou informaci, ktera by neexistovala v ulozisti SVN. Vas uvodni pfispevek by mel obsahovat uplnou kopii zdrojove- ho kodu a soubory zaplat pro vsechny soubory, ktere byly zmeneny a zaroven jiz existuji v aktualnim ulozisti. Nasledujici modifikace by mely byt zaslany formou zaplaty pomoci vygenerovani jednotne- ho souboru zaplaty SVN. Tento jednotny soubor zaplaty je nekdy oznacovan jako soubor diff nebo tez differential file (rozdilovy soubor). Proces rozboru Kdy je volan va§ disektor? Kdyz Wireshark cte pakety z knihovny wiretap, provadi nasledujici kroky: 1. Data ramce jsou pfedana funkci epan_dissect_run(). 2. Funkce epan_dissect_run() definuje ramec, sloupec a datove ukazatele a zavola funkci dissect_ packet(). 3. Funkce dissect_packet() vytvofi nejvySsi tvbull'a pote zavola funkci dissect_frame(). 4. Funkce dissect_frame() provede rozbor dat ramce a zobrazi je v okne Decode grafickeho uziva- telskeho rozhrani (napf. cas pfijeti, cislo ramce, delka ramce). 5. Funkce dissect_Jrame() pote zavola funkci dissector_try_port(), aby videla, zda jsou dostupne nejake disektory protokolu, ktere provedou rozbor dalsi casti tvbuff. Na obrazku 8.7 muzeme v okne Decode videt, ze jsme pfedali data disektoru paketu typu Ethernet; konkretne ve funkci dissect_eth _common(). 6. Funkce dissect _eth _common() dekoduje a zobrazi ethernetovou hlavicku v okne Decode grafic- keho rozhrani Wiresharku. V tomto miste miize byt volano nekolik ruznych funkci v zavislosti na typu ethernetoveho ramce. Avsak jakmile byl jednou typ ethernetoveho ramce dekodovan, zbytek tvbuffje opet pfedan funkci jadra Wiresharku dissector_try_port(). 7. Funkce dissector try_port() se opet podiva, zda je pro zbytek dat v tvbufj dostupny nejaky jiny disektor. 8. lento proces dekodovani kazde vrstvy paketu pokracuje, hlavicku po hlavicce, dokud se nedo- stane к vasemu disektoru. Wireshark zavola kazdy disektor, ten zpracuje sva data a potom vytvo- fi novy tvbuff ktery je zaslan zpet funkci dissector_try_port(). V nasem pfikladu jsme videli, ze myprot by pfipadne byla data paketu TCP a ze Wireshark pokracuje kazdym rozborem, dokud neni zpracovan disektor protokolu TCP. V tomto bode by funkce dissector_try_port() videla, ze jsme registrovani pro protokol TCP port 250. 9. Nakonec funkce dissector Jry_port() zavola disektor myprot. 10. Jakmile disektor dokonci svou praci, opet preda zbytek dat tvbuff. Tento proces pokracuie, dokud nenastane situace, kdy nezbyvaji zadna dalsi data nebo nejsou pro zbyvajici data registrovany zadne disektory. Jakmile к tomu dojde, je ze souboru nacten dalsi ramec.
Pokrocila temata 373 Dalsi informace Kdy Wireshark vola vas disektor Je dulezite vedet, ze vas disektor muie byt zavolan vicekrat. Pokazde kdyz je na zachyceny paket aplikovan zobrazovaci nebo barevny filtr, Wireshark opakovane provadi analvzu dat. Kdyz uzivatel klepne na polozku v okne Decode, disektor je opet zavolan, aby provedl ana- lyzu palncneho paketu. Vas disektor by mel vyhodnocovat pfiznak fd.flags.visited ve struk- tufe pinfo, aby zjistil, zda ma vykonat nejakou dalsi praci. V opacnem pfipad£ se muze stat, ze data, ktera jsou potfebna pro spravne dekodovani paketu, budou pfepsana (napf. prida- ni nove konverzace do seznamu existujicich konverzaci). Sestavte svuj disektor tak, aby bral v potaz skutecnost, zda uz byla provedena prvotni analyza ci nikoliv. Pokrocila temata V predchozi sekci jsme probrali informace nezbytne pro tvorbu zakladniho disektoru. Avsak s tim, jak se vas disektor bude stavat vice komplexmm, budete potfebovat implementovat pokrocilejsi funkce. Wireshark poskytuje mnoho ruznych mechanismu, ktere vam pomohou pfi vytvafeni vaseho disek- toru tak, aby zobrazoval a analyzoval pakety informativneji. V teto sekci se podivame na nektere z komplexnejsich ukolu, ktere mozna budete chtit pouzit pfi tvorbe vaseho disektoru packet-xxx. Take se podivame na modilikaci grafickeho uzivatelskeho rozhrani Wiresharku. Tento proces vyzadu- je, abyste meli zakladni znalost funkci a mechanismu GTK. Protoze je GUI Wiresharku vytvofeno pomoci knihoven GTK, vola funkce, ktere nejsou zahrnutyv distribuci Wiresharku. Tyto funkce jsou soucasti binarnich souboru GTK, ktere jste si stahli s vyvojarskou sadou GTK. Dokumentace о tech- to funkcich je dostupna na webovych strankach GTK na adrese www.gtk.org. Tato sekce take obsahuje kratky popis TAP a implementace zasuvnych modulu ve Wiresharku. TAP umoznuje sestaveni nastroju, ktere z Wiresharku ziskavaji data v realnem case. Rozhrani zasuvnych modulu umoznuje konvertovat disektor packet-xxx do formy zasuvneho modulu, ktery muze byt nahran a zase uvolnen z pameti. Nad 6m se pri tvorbe disektoru zamyslet ♦ Pokud protokol, ktery chceme analyzovat, bezi na nejvyssi vrstve spojovaneho protokolu, mozna budete muset sledovat pakety zadosti a odpovedi, abyste se ujistili, ze к sobe patfi. ♦ Obecne muzeme fici, ze spojovane protokoly zarucuji doruceni dat. ♦ Protokoly nizsich vrstev opetovne zasilaji data v pfipade, ze od druhe strany neobdi zi potvrze- ni. ♦ Vas disektor mozna bude muset oSetfit data, ktera pfekracuji maximalm velikost paketu. ♦ Skutecny datovy naklad se muze rozkladat napfic nekolika pakety, ktere bude muset va§ disek- tor defragmentovat. ♦ Jsou situace, kdy muzete chtit ukladat informace bud’ve forme pamet’ove hodnoty nebo po dal- §im spusteni aplikace.
374 Kapitola 8: Vyvoj Wiresharku Pravdepodobne se setkate s alespon jednou z techto situaci. Nasledujici sekce se venuje nekterym pokrocilym tematum, ktera vam mohou pomoci vyvinout zpusoby pro oSetreni vySe uvedenych situaci. Vytvareni podstromu Vetsinou by dekodovana data mela byt vetvena do podoby samostatnych podstromu. Tento postup vam umozni videt dulezite informace v okne Decode a umozni vam rozbalit pfisluSne sekce okna Decode tak, abyste videli podrobnejSi informace (napr. muzete chtit vetveni na nizSi urovni nebo rozvetvit nekterou polozku, ktera obsahuje vice dat nebo atributu, nez by mohlo byt bezne zobraze- no) (viz obrazek 8.10 a obrazek 8.11). 0 Communications Transports: 2 0 Tree Walker Transport Type: 2 Obrazek 8.10 Sbalen£ poloiky v окпё Decode □ Communications Transports: 2 (TCP Protocol) (IPX Protocol) □ Tree Walker Transport Type: 2 (TCP Protocol) (IPX Protocol) Obrazek 8.11 Rozbalene polozky v окпё Decode Muzete klepnout na pole Entry information uvnitf okna Decode, abyste polozku rozbalili a ziskali tak podrobnejsi informace. Podstromy jsou diky funkcim proto_tree implementovany velice snadno. proto_i tem proto_tree *subi tem; ♦subtree; subitem = proto_tree_add_text(tree, tvb, offset, -1, "Some Description"); subtree = proto_item_add_subtree(subitem, ett_myprot): proto_tree_add_item(subtree, hf_myvalue, tvb, offset, 4, FALSE); proto_item_set_end(subitem, tvb, offset+4); Prvmm krokem je deklarace promennych proto, item a proto_tree. Funkce proto_tree_add_ text umoznuje vytvareni Stitku. To je pou ze jedno z mnoha moznych vyuziti funkce proto_ tree_add_text. V tomto pfikladu pfedavame ukazatel stromu, ktery nam byl pfedan v okamziku zavolani disektoru. Take pfedavame tvb, posun a delku funkce, takze muzeme zvyraznit Stitek v okne Decode, pficemz budou zvyraznena i zbyvajici data paketu. Hodnota -1 sdeluje funkci proto_tree_add_text, ze funk- ce se sklada ze vSech zbyvajicich dat zacinajicich na pocatecnim posunu. Nakonec je pfedan funk- ci Stitek, ktery popisuje aktualne obsazeny podstrom. Muzete provest vetveni z aktualniho elemen- tu v okne Decode a vytvorit stitek. Abyste tak ucinili, muzete nahradit funkci proto_tree_add_text jinou funkciproto_tree, add. Jakmile je v puvodnim stromu vytvofen Stitek, je vracen novy ukazatel na polozku v promenne podpolozky. Funkce proto _item_Add_subtree nastavuje podstrom к zobrazeni. Vytvafi podstrom tak, ze kdyz vykonate jinou funkci proto_tree_add, muzete se odkazat na ukazatel noveho podstromu. DalSim volanim je zavolani funkce proto_tree_add_item, ktera je tou, jiz je pfedan ukazatel na novy podstrom. Tato akce umisti novy element pod rozbalitelny Stitek, ktery jste vytvofili. Hodnota neni
l Pokrocila temata zobrazitelna v okne Decode, dokud neni klepnuto na slitek podstromu nebo dokud podstrom neni rozbalen. Zaverecnym krokem v tomto prikladu je nastaveni celkove delky funkce proto_tree_add pomoci funkce proto_item_set_end. Ta se pouziva, kdyz je delka nastavovane hodnoty neznama. Pracujete- -li s hodnotami zname delky, pouziti teto funkce neni nutne. Muzou nastat situace, kdy budete chlit vytvorit nekolik vetyi podstromu. Toho muzete dosahnout vytvofemm nekolika ukazatelu proto_items a proto_tree. Napred byste vytvorili podstrom 1 a potom podstrom 2, ale odkazte se na podstrom 1 jako na strom zdrojoveho kodu. Vizualni zobrazeni mnoha- urovnoveho stromu muzete videt na obrazku 8.12. iteml = proto_tree_add_text(tree, tvb. offset, -1. "Seiector ODtion"); treel = proto item_add_subtree(iteml. ett_myprot); number_of_iterns = tvb_get_ntohl(tvb, offset); proto_tree_add_uint(tree, hf_num_objects, tvb, offset, 4, number_of_i terns); foffset += 4; for (i = 1 ; i <= number_of_iterns; i++ ) item2 = proto_tree_add_text(treel, tvb, offset, -1, "Option - %u", i); tree2 = proto_item_add_subtree(item2, ett_myprot); } □ Selector Option Number of Options: 1 b □ Option 1 □ Object ID Type: Printer Configuration Object ID (0x00000006) | Printer Name: PUD_HP5Si_2 TEL ______________________ _ Obrazek 8.12 Vizualni zobrazeni mnohaurovnoveho stromu Bitova pole I V nekterych pfipadech muzete mit hodnotu, ktera pfedstavuje specifickou infonnaci zalozenou na bitech nastavenych v hodnote. Bitova pole poskytuji vizualni zobrazeni kazdeho bitu a skutecnost i, zda je v hodnote bitove pole povoleno (viz obrazek 8.13). E Flags: 0x2062 - (Readable, Walk Tree, Dereference Alias, Prefer Referrals) .............1* = Readable: True ...................1..................=.Walk Tree: True ....................1...................=.Dereference Alias: True ..........................................= Prefer Referrals: True Obrazek 8.13 Vizualni zobrazeni bitu Bitova pole jsou implementovana pomoci elementu pole hf. Nasledujici kod je prikladem volant funkce pro sestaveni podstromu a souhrnnych dat: //define FLAG1 0x01 //define FLAG2 0x02 flags = tvb_get_guint8(tvb, offset); ! strcpy(flaqs_str, ""•); ; Sep = " (";
376 Kapitola 8: Vyvoj Wiresharku if (flags & FLAG1) { strcat(flags_str. sep); strcat(flags_str, "Flag Iя); sep = ","; I if (flags & FLAG2) I strcat(f1ags_str, sep); strcat(flags_str, "Flag 2"); sep = ","; if (flags_str[0] != *\0') strcat(flags_str, ")"); ti - proto_tree_add_uint_format(tree, hf_flags, tvb, offset, 1, flags, "Flags: 0x%04x%s", flags, flags_str); flags_tree = proto_item_add_subtree(ti, ett_myprot); Prvnim krokem je ziskani hodnoty z tvbuff do pfiznaku hodnoty. Pote sestavite uvodni fetezec a porov- nate hodnotu piiznaku s vami definovanymi bity pfiznaku. Pokud se shoduii, zkombinujete fetezec s informaci pfiznaku. Kdyz je souhrnny fetezec sestaven, muzete vytvofit podstrom a zobrazit data. Nyni musite zobrazit vsechny platne bity v bitovem pohledu: proto_tree_add_item(flags_tree, hf_flag_l, tvb, offset, 1, FALSE); proto_tree_.add_item( fl ags_tree, hf_f 1 ag_2, tvb, offset, 1, FALSE); { &hf_flag_l, { "Flag 1". "myprot.flag.1", FT_B00LEAN, 8, NULL. FLAG1, "Is Flag one set? ". HFILL II. { &hf_flag_2, { "Flag 2", "myprot.f1ag.2", FT_BOOLEAN, 8. NULL, FLAG2, "Is Flag two set? ", HFILL }), Bitova pole jsou zobrazena zavolanim funkce proto, tree, add._item s odkazem na novy podstrom a nazvy elementu bitoveho pole hf. Pote v poli hf definujeme nase nove hodnoty. Klicove jsou zde parametry 3, 4 a 6. Parametr 3 udava, ze se jedna о hodnotu typu Boolean, coz znamena, ze bude vyhodnocena jako pravda nebo nepravda. Parametr 4 udava, ze zobrazime 8 bitu. Parametr 6 definuje aktualni hodnotu bitove masky. Jak muzete videt v nasem pfikladu, tato hodnota muze byt nahraze- na explicitni maskou nebo promennou. Retezce Unicode Mohou nastat situace, kdy aktualni data obsazena v paketu budou obsahovat data v kodovani Unico- de. Data Unicode muzete videt v okne Hex Data jako 2bajtove hodnoty. Napfiklad muzete videt: 57 00 6f 00 72 00 6b 00 73 00 74 00 61 00 74 00 69 00 6f 00 6e 00 Work stat i on Pfi zpracovani dat vetsina utilit pro konverzi fetezcu vidi druhy bajt vicebytowho znaku jako znak ukoncujici nuly. Mozna zjistite, ze potfebujete fetezec parsovat, abyste ziskali fetezce jednobajtovych znaku. Mnoho z hlavnich funkci Wiresharku pro praci s fetezci to udela za vas, ale muze se stat, ze
pokrocila temata 377 budete potfebovat provest konverzi гиспё. Nekolik disektoru obsahuje tunkce pro konverzi vicebaj- toveho fetezce znaku do jednobajtovych fetezcu. Nasledujici vypis je priklad pfevzaty ze souboru packet-ncp2222. inc. static void uni_to_string(char * data, guint32 str_length, char *dest_buf) № guint32 i; K. guintl6 c_char; I guint32 1ength_remaining = 0; К 1ength_remaining = str_length; I dest_buf[0] = '\0'; F if(str_length == 0) U return: [ for ( i = 0: i < str_length: i++ ) p c_char = data[i]; p if (c_char<0x20 || c_char>0x7e) I if (c_char != 0x00) И» c_char = '.': [ dest_buf[i] = c_char & Oxff; el se i - -: I str_length--; el se I 1 dest_buf[i] = c_char & Oxff: ’ 1ength_remaining - -; if(1ength_remaining==0) dest_buf[i+1] = ’\0’; return; dest_buf[i] = ’\0’; return; I Konverzace Konverzace jsou ve Wiresharku klicovou soucasti mnoha disektoru. Vsechny disektory, ktere potfebuji sledovat konverzaci, detinuji a udrzuji svou vlastni tabulku konverzaci, ktera dava disektoru schop nost sledovat pakety zadosti a odpovedi. Mozna se ptate, proc vubec potfebujeme nejakou konverzai i
378 Kapitola 8: Vyvoj Wiresharku sledovat. Co kdyz v paketu odpovedi neni obsazena zadna informace, ktera by identifikovala paket zadosti, pro ktery je tato odpoved’ urcena? V tomto pfipade byste ulozili puvodni zadost v pameti. takze kdyz je nalezen paket odpovedi, miize byt uspesne dekodovan (napf. protokol NetWare Core Protocol (NCP) definuje pofadova cisla pouze pro pakety zadosti; kazda sekvence zadosti a odpove- di je iedinecnou relaci). Paket zadosti z vrcholu protokolu TCP nebo Internetwork Packet Exchange (IPX) je vytvofen ze speciticke adresy s jedinecnym portem nebo socketem. Kdyz date dohromady tyto soudasti konverzace, muzete logicky pfedpokladat, ze paket odpovedi je odpovedi na puvodni zadost. Bohuzel tyto pakety nemusi nutne prichazet ve spravnem poradi ve sledu paketu. Seznam konverzaci uklada vsechny konverzace zadosti ve vasem seznamu konverzaci. Kdyz narazite na paket odpovedi, provedete dotaz na konverzacm seznam, abyste zjistili, ktere pakety zadosti a odpovedi к sobe patfi. Pokud neni nalezen zadny paket puvodni zadosti, zobrazite v okne Decode zpravu, ze paket nemohl byt dekodovan, nebof к nemu nebyl nalezen paket zadosti. Sekce 2.2 v soboru READ- ME.developer ve slozce doc poskytuje zakladni kostru kodu a souvisejici informace potfebne pro vytvofen! tabulky konverzaci. Dulezite kroky, ktere byste pfi vytvafeni seznamu konverzaci nemeli vynechat, zahrnuji inicializac- nt runkci a funkci pro vymazdnt, ktere musi byt umisteny v rutine pro registraci protokolu. Mnoho disektoru obsahuje seznamy konverzaci. Pokud i po prostudovani souboru README.developer ve slozce doc potfebujete srozumitelny pfiklad, podivejte se na dal§i disektory, ktere tuto schopnost pouzivaji. Opakovany prenos paketu Opakovany pfenos paketu je na vytizene siti beznym jevem. Vas disektor by mel byt schopen tuto udalost osetfit, zejmena pokud bude pracovat s fragmentovanymi pakety. Pokud vas disektor nebo protokol nezpracovava fragmentovane pakety, muze tyto pakety povazovat za bezne pakety. Vetsinou t jednoduchy seznam konverzaci muze kontrolovat vyskyty paketu zadosti; avsak pokud vas disektor zadna akce nespusti, muze se jednat о duplicitni zaznam. Take muzete zjistit, ze potfebujete spravovat jinou tabulku pameti pro sledovam opakovane pfenasenych paketu. Ale v nekterych jinych pfipadech muze dojit к tomu, ze protokol nizsi lirovne jiz mohl opakovany pfenos detekovat. Struktura informaci paketu pinfo poskytuje informace о stavu momentalne dekodovaneho paketu. Protokoly TCP a Sequenced Packet Exchange (SPX) jsou oba spojovanymi protokoly a opakovane pfenaseji data, pokud nebylo obdrzeno potvrzeni. Protoze protokol TCP osetfuje opakovany pfenos i fragmentaci paketu, vas disektor vyssi urovne je zodpovedny pouze za skutecna data. Avsak v pfi- pade protokolu SPX musi disektor vyssi urovne zachytit i opakovane pfenosy, pokud je zodpovedny za osetfeni fragmentace. Nasledujici sekce pojednava о tom, jak disektory protokolu SPX pfedavaji tyto informace disektorum vyssi urovne. Je dulezite porozumet skutecnosti, ze opakovany pfenos je na mnoha sitich beznym jevem. Vas disektor by mel byt schopen zjistit, zda je paket opakovanym pfenosem dat nebo beznym paketem. V nekterych situacich mozna zvolite radeii neprovadet rozbor opakovane prenasenych paketu a pouze identil ikujete puvodni paket. Pamalujre, ze к opakovanemu pfenosu muze dojit kdykoliv a mu2e obsahovat uplny paket nebo pouze samotny zlomek. Predavani dat mezi disektory Element pinfo->private_data muze byt pouzit pro pfedani ukazatele na pametbvou tabulku s intor- maci о specifickych dekodovanych paketech. Nejdfive byste meli definovat strukturu ve vasem disek-
pokrocila temata 379 toru nizsi urovne, ktery bude uchovavat tuto informaci. Nasledujici informace je vypisem ze soubo- ru packet-ipx.h a packet-ipx.c: /* * Structure passed to SPX subdissectors, containing information from * the SPX header that might be useful to the subdissector. * / typedef struct { gboolean eom; /* end-of-message flag in SPX header */ guint8 datastream type; /* datastream type from SPX header */ } spx_info; Potom aktualizujeme strukturu a ulozime ji do pinfo: static void dissect. spx(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) spx info spx.info; * Pass information to subdissectors. в spx. info.eom = conn_ctrl & SPX_EOM; К spx info.datastream_type = datastream_type: V pinfo->private_data = &spx_info; Nyni muzete ziskat informace z disektoru vyssi urovne. Nasledujici informace jsou vypisem ze sou- boru zdrojoveho kodu packet-ndps.c: static void ndps_defrag(tvbuff t *tvb, packet_info *pinfo, proto_tree *tree) I spx_.info *spx_info; I /* Get SPX info from SPX dissector */ 1 spx_info = pinfo->private_data; Disektor vyssi urovne nyni muze vyuzit informace od disektoru nizsi urovne pro provedeni logic- kych operaci s daty paketu. Ukladani nastaveni preferenci Je dulezite zjistit, jak disektor protokolu muze osetfovat specificke nastaveni vaseho disektoru (napf. k6d pro fragmentaci paketu muze byt povolen nebo zakazan v dialogovem okne preferenci protoko- lu). Pro implementaci uzivatelsky definovanych nastaveni, ktera budou pouzita za behu programu nebo budou ulozena i pro dalsi relace Wiresharku, byste meli pfidat schopnost vyuzit systemoveho souboru preferenci. Idap module = prefs_register._protocol (proto_ldap, NULL): prefs, regi ster_bool..preference(1 dap_modul e, Hdesegment_tcp", "Desegment all LDAP messages spanning multiple TCP segments", "Whether the LDAP dissector should desegment message", &ldap_desegment); Tento kod vstupuje do rutinyproto_jegister_xxxa vytvafi novy zaznam v souboru preferenci s hod- notou odkazovane рготёппё myprot_desegment. Nasledujici pfiklad ukazuje zaznam vytvoreny
380 Kapitola 8: Vyvoj Wiresharku v souboru preferenci. Obrazek 8.14 je pfikladem toho, jak bude hodnota vypadat, kdyz pujdete do nabidky preferenci ve Wiresharku a vyberete protokol. Pro tento pfiklad jsme pouzili disektor pro- tokolu Lightweight Directory Access Protocol (LDAP). # Whether the LDAP dissector should desegment messages # TRUE or FALSE (case-insensitive). Idap.desegment: RUE Desegment all LDAP messages spanning multiple TCP segments: x Obrazek 8.14 Pfiklad preference pro protokol LDAP Fragmentace paketu Fragmentace paketu muze byt osetfena mnoha vrstvami protokolu. Protokol ГСР uz obsahuje schop- nost opetneho sestaveni paketu. Pokud vas disektor potfebuje provadet dodatecne sestaveni paketu, inuzete vyuzit funkce pro opetne sestaveni dostupne ve Wiresharku. Dobry pnklad toho, jak provest opetne sestaveni paketu protokolem TCP, je к dispozici v sekci 2.7 dokumentu README.developer ve slozce doc. Tento pnklad pokryva osetfeni opetneho sestaveni paketu v pfipade, kdy vas disektor pracuje na vrcholu protokolu TCP a User Datagram Protocol (UDP). Soubory packet-ncp2222.inc, packet-atalk.c a packet-clnp.c obsahuji pfiklad defragmentace zprav, ktere jsou fragmentovany uvnitf protokolu, jehoz rozbor provadite. Logika pouzita v defragmento- vanych paketech muze byt pondkud slozita. Jemnym ladenim funkci pro defragmentaci a fesenim problemu s temito funkcemi pravdepodobne stravite mnoho hodin. Retezce hodnot V nekterych situacich budete cist urcitou hodnotu z datoveho proudu paketu, pficemz tato hod- nota muze byt definovana mnoha ruznymi popisy zalozenymi na teto hodnote. Retezec byste meli uzivateli prezentovat tak, aby bylo zfejme, co dana hodnota vubec znamena (napf. navratova hod- nota chyby v paketu odpovedi). Ciselna hodnota pfedstavuje chybu, ktera byla vracena. Sekce 1.7.1 souboru README.developer ve slozce doc poskytuje informace о funkcich match_strval a val_to_str. Prvnim krokem je vytvofeni fetezce z techto hodnot: static const val ue_st ci ng my._values[] = ( { 0x00000000. "Value 1" ). { 0x00000001. "Value 2" I. { 0x00000002. "Value 3" I. { 0. NULL I 1: Je dulezite poznamenat, ze poslednim fadkem je fetezec hodnot {0, NULL}. Je to tzv. ukoncova- ci zaznam pro funkci value_string. Kdyz je vynechan, Wireshark bude neustale prohledavat pamef a muze dojit к vygenerovani chybnych mezi. Nyni muzete pouzit funkci match strval nebo val to. str pro zpracovani hodnoty: valuestr = match_strval(value2, my values): Tento proces muze byt jeste vice zjednodusen diky pouziti schopnosti VALS pole hf: { &hf_valuestr. { "This is my value", "myprot.valuestr",
pokrocila temata 381 | FT_UINT8, BASE_DEC. VALS(my_values), 0x0, К "My value string", HFILL }} Timto zpusobem muzete pouzit jednoduche funkce tvb_get a proto_tree_add: value2 = tvb_get_guint8(tvb, 1): proto_tree_add_uint(tree, hf_valuestr, tvb, 1, 1, value2): Stejnym zpusobem muzete zobrazit v okne Decode i fetezce hodnot pravda a nepravda (napf. chce- te-li zobrazit ,,Ano“ nebo ,,Ne“ podle toho, zda hodnota obsahuje pravdu d nepravdu). typedef struct true_false_string ( char *true_string; char *false_string; } true_false_string; Retezce hodnot jsou dulezite pro zpracovani navratovych hodnot, ktere mohou obsahovat mnozstvi chybovych kodu. Retezce hodnot umoznuji zpracovat vsechny mozne hodnoty a vracet specificke fetezce pro urdeni dane chyby. Bez teto informace budou uzivatele nuceni vyhledat navratovou hod- notu. V nekterych pfipadech hodnota nemusi oznacovat problem; avsak poskytnutim fetezce uziva- teli znacne snizite pnpadnou frustraci tohoto uzivatele a ucimte tak vas disektor jeste hodnotnejsim. Obrazek 8.15 ukazuje pfiklad dat zobrazenych v okne Decode za pouziti fetezce hodnot pro vraceni navratove hodnoty zalozene na fetezci. NDS Completion Code. OxffiTfdaS, (-603) No Such Attribute Obrazek 8.15 Pfiklad retezcove hodnoty Expertni TAP Jednou z noveisich lunkci Wiresharku je tzv. expertni I AP. Tento TAP je dulezitym doplrikem pro tvorbu disektoru. Expertni TAP ma schopnost zobrazit koncovym uzivatelum expertni informa- ce. Existuje mnoho podininek, ktere mohou byt definovany spolu s sirokym rozsahem parametru. Expertni TAP pouziva ve svych disektorech stale vice vyvojaf u. Doporucuje se, aby pokrodle expert- ni informace byly konfigurovatelne prostfednictvim nastaveni protokolu tak, aby uzivatele mohli vypis informaci do expertmho TAP povolit nebo zakazat (napf. muzete zvolit, zda vas disektor ma vypsat zpravu do expertmho TAP pokazde, kdyz dojde ke splneni urcitych podrmnek). Tato infor- mace muze byt pro uzivatele velmi hodnotnou, ale pro jine zase muze pfedstavovat nepfehlednou zmef statistickych informaci. Kdyz vas disektor umoznuje uzivatelum vypnout tuto funkci, potom ti, ktefi tyto informace nepotfebuji, mohou jejich vypis snadno vypnout. Abvste mohli pouzit expertni I AP, musite zaclenit expertni hlavickovy soubor epan/expert.h: //include <epan/expert.h> Nyni potfebujeme vytvofit globalni promennou proto item a pfedat parametry expertnimu TAP. /* global item and value for passing expert data */ static proto_item *expert_item; static guint32 expert_status; Nakonec sestavime nase expertni data a zavolame funkci expert_add_info_format, ktera pfeda data expertnimu TAP. Vsimnete si, ze funkce v pfikladu kontroluje, zda je navratova hodnota odlisna od 0. Pokud je, zavolame expertni TAP s pozadovanymi parametry:
382 Kapitola 8: Vyvoj Wiresharku expert_status = tvb_get_ntohl(tvb, foffset); expert_item = proto_tree_add_item(my_tree, hf_my_return_code, tvb, foffset, 4, FALSE): if (expert_status != 0) { expert_add_info_format(pinfo, expert_Jtem, PI_RESPONSE_CODE, PI_ERR0R, "Fault: %s", val_to_str(expert_status, my_error_types, "Unknown Error (0x%08x)")); I Vsimnete si, ze funkce expert_add_infor_format zpracuje fetezce zpusobem typickym pro format printf. Expertni TAP pouziva nasledujici definovane hodnoty zavaznosti ze souboru epan/proto.h: /★ expert severities */ //define PI_SEVERITY_MASK //define PI.CHAT //define PI_N0TE //define PI_WARN //define PI_ERR0R /* expert "event groups" */ //define PI.GROUP MASK //define PI.CHECKSUM //define PI_SEQUENCE //define PI_RESPONSE_CODE //define PI_REQUEST_CODE //define PI_UNDECODED //define PI.REASSEMBLE //define PI_MALFORMED //define PI. DEBUG Expertni TAP je zpracovan v prubehu uvodmho dekodovani Wiresharku pro zabarveni okna Deco- de (napf. v expertnim TAP jsou definovany nasledujici barvy): ♦ Chyby: cervena ♦ Varovani: zluta ♦ Poznamky: azurova ♦ Chat: seda Proces zabarveni dekodovanych dat pro zobrazeni polozek pfedanych expertnim TAP umoznu- je disektorum identifikovat urcite podminky a pote predat vizualni formou tuto informaci pfuno uzivateli. Bez teto funkce by uzivatele museli vyvijet barevne filtry pro identifikaci techto typu pake- tu v souhrnnem okne. Data expertniho 1 Al ’ jsou take dostupna prostfednictvim polozek nabidky expert Info a expert Com- posite, ktere najdete v nabtdce „Analyze”.
Pokrocila temata 383 Dalsi informace Poznamka к vyvoji Expertni TAP nevyzaduje, abyste pfedavali polozku item. Muzete sestavit funkci expert_add_ info_format() jednoduseji, nez kdybyste proste chteli pfedat data informaci. Napfiklad: expert_add_info_format(pinfо, NULL, PI_RESPONSE_CODE, PI.ERR0R, "Fault in my protocol”); V tomto pfikladu pfedavate expertnimu TAP pouze zpravu „Fault in my protocol”. Dulezite: Pokud s expertnimi informacemi nepredate i polozku proto, polozka nebudefiltrovatel- na ze slozeneho dialogu expertnich informaci. Statistika kompozitnich expertnich informaci bude pouzivat polozku item vybranou uzivatelem a predanou pro sestaveni zobrazovaciho filtru. Ladeni vaseho disektoru Existuje mnoho zpusobu pro ladeni Wiresharku nebo disektoru protokolu. Nejsnadnejsi je vyuziti ziveho debuggeru (nastroj pro ladeni programu - muzete pouzit napfiklad Microsoft Visual Studio pro krokovani vaseho disektoru protokolu). Existuje mnoho real time debuggeru dostupnych od komercnich vyrobcu softwaru stejne jako ruzna feseni open-source. Dalsim fesenim muze byt pf idani ladicich zprav do souboru nebo jejich vypisovani na konzole. Pfiklad tohoto typu ladeni je obsazen v disektoru protokolu SSL nazvanem /epan/dissectors/packet-ssl.c: ssl_debug_printf("ssl^association_add port %d ctport %d info %s handle %p\n”, port, ctport, info, assoc->handle): Jednou z dalsich metod implementovanych v nekolika soucastech Wiresharku je pouziti jednoduche dialogove zpravy. Nasledujici vypis zobrazi okno GTK Message, ktere obsahuje ikonu, nejaky text a tlacitko OK. V prubehu vyvojoveho procesu se muzete rozhodnout zobrazit jednoduchou zpravu uzivateli nebo vam samotnym, jako podporu dalsiho vyvoje vaseho kodu. #include "simple_dialog.h" simple dialog(ESD_TYPE_ERROR. ESD_BTN_OK, error_string->str): Vyvojafi pouzivajici operacni system Unix mohou vyuzivat standardni funkci printf, ktera vypise zpravu do okna konzolove aplikace. Novejsi verze funkce proto_tree_xxx s nazvem proto_tree_add_ debug_text muze byt take pouzita namisto generovani mistnich oken, jake vytvafi funkce simple_ dialog. Vetsina vyvojafu ma svuj vlastni upfednostnovany zpusob ladeni aplikaci. Muze byt vyuzita kombinace nekolika zpusobu, ale jen tezko se vsichni vyvojafi shodnou na tom, co je nejlepsim zpu- sobem pro vsechny situace. V zavislosti na operacnim 8у81ёти, na kterem provadite ladeni, mohou nastat situace, kdy jeden zpusob bude vyhodnejsi nez druhy. Wireshark vam dava v procesu ladeni dostatecnou volnost tim, ze poskytuje nekolik zpusobu, jak dosahnout identickych vysledku. Graficke uzivatelske rozhrani Wiresharku (GUI) GUI Wiresharku je vytvofeno pomoci volani knihovny GTK. Kdyz vyvijite GUI pro Wireshark, musite vzit v uvahu pripadne problemy s kompatibilitou s dalsimi verzemi Wiresharku. Io tedy
384 Kapitola 8: Vyvoj Wiresharku znamena, ze musite programovat pro GTK ve verzi 1.2 a 2.x. Nektere funkce GTK funguji v obou ver- zich, ale jine musi byt naprogramovany pro specifickou verzi GTK, se kterou je sestaven Wireshark. Jako zdroj informaci muzete pouzit webove stranky www.gtk.org spolu s dalsim zdrojovym kodem GUI umistenym ve slozce doc. Item Factory Hlavni nabidka Wiresharku je vytvofena pomoci Item Factory z GTK. Nasledujici informace jsou vypsany ze souboru zdrojoveho kodu gtk/metiu.c obsazeneho v distribuci Wiresharku: /* This is the GtkltemFactoryEntry structure used to generate new menus. Item 1: The menu path. The letter after the underscore indicates an accelerator key once the menu is open. Item 2: The accelerator key for the entry Item 3: The callback function. Item 4: The callback action. This changes the parameters with which the function is called. The default is 0. Item 5: The item type, used to define what kind of an item it is. Here are the possible values: NULL -> "<Item>" "" -> "<Item>" "<Title>" -> create a title item "<Item>" -> create a simple item "<lmageltem>" -> create an item holding an image (gtk2) "<StockItem>” -> create an item holding a stock image (gtk2) "<CheckItem>" -> create a check item "<Toggleltem>" -> create a toggle item "<RadioItem>" -> create a radio item <path> -> path of a radio item to link against "<Separator>" -> create a separator "<Tearoff>" -> create a tearoff separator (gtk2) "<Branch>" -> create an item to hold sub items (opt ional) "<LastBranch>" -> create a right justified branch Item 6: extra data needed for Imageitem and Stockitem (gtk2) ITEM_FACTORY_ENTRY("/Copy", NULL, copy_selected_plist_cb, 0. NULL, NULL), ITEM_FACTORY_ENTRY("/<separator>", NULL, NULL, 0, "<Separator>". NULL), ITEM_FACTORY_ENTRY("/Expand Subtrees", NULL, expand_tree_cb, 0, NULL, NULL), ITEM_FACTORY_ENTRY("/Expand All", NULL, expand.all_cb, 0, NULL, NULL), ITEM_FACTORY_ENTRY("/Col lapse All", NULL, col 1apse„all_cb, 0, NULL, NULL), Kdyz je vybrana moznost v Item Factory, je zavolana funkce vypsana pod polozkou „Item 3“. V GTK jsou iunkce zpetneho volani volany tehdy, kdyz je vybrana n£jaka polozka. Funkce set_menu_sensitivity povoluje a zakazuje dostupnost polozek nabidky podle nasledujicich podminek: /* make parent menu item sensitive only, if we have any valid files in the list */ set_menu_sensitivity(main_menu_factory, MENU_RECENT_FILES_PATH, ent): Obecne receno potfebujete moditikovat nabidku Wiresharku tehdy, kdyz vytvafite nejaky nastroj nebo mdnite jinou cast GUI Wiresharku.
Pokrocila temata 385 Pouzivani GTK Kdyz je vybrana polozka, GTK pfedava handle aktivniho vyberu, ktere se nazyvaji widgety. void my_widget(GtkWidget *w _U_, gpointer d _U_) I GtkWidqet *main_vb t GtkTooltips *tooltips; #if GTK_MAJOR_VERSION < 2 j GtkAccelGroup *accel_group: #endi f Dalsi informace Poznamka к vyvoji VSimnete si hodnoty _U_ definovane ve funkci my_widget. _U_ pfedstavuje nedefinovany parametr. Tyto hodnoty se uvnitr funkce nepouzivaji. Proces definovani hodnot jako _U_ umoznuje kompildtoru nevygenerovat varovani pro funkci kvuli nedefmovanym promen- nym. Nazvy funkci Je dulezite pochopit, ie funkce GTK pouzivane v kodu GUI Wiresharku nejsou vzdy pojme- novany podle puvodnich funkci GTK. V6t§ina funkci GTK je globalne definovana ve zdrojo- vem kodu Wiresharku v zaclenenem souboru gtk/compat_tnacros.h. Nekdy muze byt nutne T* nahlednout do tohoto souboru pfed vyhledanim specifickych informaci na webovych stran- kach GTK. [ Kdyz je vybrana polozka nasi nabidky, GTK nam pfeda ukazatel na GTK widget a jeho datovou struk- I turu. Pote vytvofime novy GTK widget pro nase okno. GtkTooltips je struktura, ktera umoznuje uchovavat informace о widgetech, ktere jsou zobrazeny, kdyz uzivatel umisti ukazatel mysi nad polozku GTK. Napfiklad fekneme, ze mate v okne tlacitko, I jez pote, co je na nej klepnuto, zineni zobrazovaci filtr na filtr die naseho vyberu. I kdyz nam veli- kpst tlacitka dovoluje zobrazit jen stitek „Filter", muzeme definovat tip pro pouziti (tool tip), ktery [ poskytne uzivateli podrobnejsi informace о iunkci tohoto tlacitka. | GtkAccelGroup je pro GTK ve verzi 1.2 nezbytna. Umoznuje klavesovym zkratkam pf istupovat к ruz- [ nym polozkam nabidek: I /* First check to see if the window already exists. If so make it active. */ I if (mywindow_w != NULL) { I /* There's already a "My Window" dialog box; reactivate it. */ react!vate_wi ndow(mywi ndow_w); I return; I /* Create our new window */ mywindow = dlg_window_new("Wireshark: My Window"); I /* Register our callback function to clean up memory if the window is I. closed */ SIGNAL_CONNECT(mywindow_w, "destroy". mywindow_destroy_cb. NULL);
386 Kapitola 8: Vyvoj Wiresharku /* Start the tooltips */ tool tips = gtk_tooltips_new (); #if GTK_MAJOR_VERSION < 2 /* Accelerator group for the accelerators (or, as they’re called in Windows and. I think, in Motif, "mnemonics"; Alt+<key> is a mnemonic. Ctrl+<key> is an accelerator). */ accel_group = gtk_accel_group_new(); gtk_window_add_accel_group(GTK_WINDOW(mywindow_w), accel_group); #endif Nejprve zkontrolujeme, zda je jiz otevfeno nove okno. Pokud je, takjej znovu aktivujeme. Pokud neni, tak vytvofime nove dialogove okno. Pfi vytvareni novych oken byste meli vytvafet handler zpetneho volani, aby se postaral о prave zavirane okno, pfi uzivatelskem klepnuti na tlacitko EXIT v pravem hornim rohu dialogoveho okna. Funkce SIGNAL_CONNECT sdeluje GTK, co delat, kdyz se objevi specifikovany signal. V tomto pfipade se pokusime zachytit signal pro zniceni. Nakonec inicializujeme tooltips. Vsimnete si, ze pouzivame skupinu akceleratoru pouze pro verze GTK stars! nez 2.x. Klavesy akceleratoru jsou v GTK 2.x defmovany pfi vytvafeni polozek: /* Container for each row of widgets */ main_vb = gtk_vbox_new(FALSE, 3); gtk_container_border_width(GTK_CONTAINER(main_vb), 5): gtk_container_add(GTK_CONTAINER(mywindow_w), main_vb); gtk_widget_show(main_vb); Prvnim krokem je vytvoreni naseho vlastniho okna. Pote vytvofime v okne ramecek. Funkce gtk_ vbox_new vytvori novy ramecek, ktery pfidame do naseho okna. gtk_container_border_width defi- nuje okraj naseho okna. gtk-Container _add nyni pfida nas ramecek к hlavnimu oknu. Nakonec gtk_widget_show pfimeje GTK к vykresleni informaci na obrazovku. Nasledujici vypis demonstruje vytvofeni tlacitka OK v okne tnain_vb. /★ Button row: OK button */ bbox = gtk_hbutton_box_new(): gtk_button_box_set_layout (GTK_BUTT0N_B0X (bbox). GTK_BUTTONBOX_END); gtk_button_box_set_spacing(GTK_BUTTON_BOX(bbox). 5): gtk_container_add(GTK_CONTAINER(main_vb), bbox): gtk_widget_show(bbox); #if GTK_MAJOR_VERSION < 2 ok_bt = gtk_button_new„with_label ("OK"): #el se ok_bt = gtk_button_new_.f rom_.stock(GTK_STOCK_OK); #endi f SIGNAL_CONNECT(ok_bt. "clicked", capture_prep_ok_cb, cap. .open. ,w): GTK_WIDGET_SET_FLAGS(ok_bt. GTK.CAN.DEFAULT); gtk_box_pack_start (GTK.BOX (bbox), ok_bt, TRUE. TRUE, 0): gtk_widget_grab_default(ok_ bt): gtk_widget_show(ok_bt): Prvni sekce tohoto kodu vytvori novy horizontalni ramecek pro tlacitko, pfida jej do okna tnain_yb a pfimeje GTK к vykresleni noveho ramecku.
Pokrocila temata 387 Pote zkontrolujeme verzi GTK a vytvofime novy ramecek podle verze GTK. Vsimnete si, ze GTK verze 2.x umoznuje specifikaci ikony pouzite pro toto tlacitko. Takto tedy vytvofite vlastni ikony a zabu- dujete je do Wiresharku. Zaregistrujeme funkci zpetneho volani v GTK, aby ji bylo mozne pouzit pfi klepnuti na tlacitko, zaregistrujeme tlacitko jako vychozi tlacitko a vykreslime je na obrazovku. Vsimnete si, ze neni nezbytne nutne zadat GTK о vykresleni pokazde, kdyz je okno aktualizovano nebo kdyz je pfidana nova polozka. Muzete vytvofit dialogove okno a potom zavolat gtk_widget_ show() pro vykresleni okna a vsech pfipojenych soucasti. Take muzete zaregistrovat data widgetu ve widgetu, takze kdyz je vybran, data asociovana s widge- tem jsou pfedana volajici funkci (napf. v souboru gtk/find_dlg.c je mnozstvi definic, ktere identifi- kuji tlacitka uvnitf okna pro hledani): /* Capture callback data keys */ //define E_FIND_FILT_KEY "find_f 11 ter_te" //define E_FIND_BACKWARD_KEY "find.backward" Dale jsou pak klice registrovany jako data v dialogovem okne pomoci lunkce object_set_data. OBJECT,SET_DATA(find_frame_w, E_FIND_FILT_KEY, fi1ter_text_box); OBJECT_SET_DATA(find_frame_w. E_FIND_BACKWARD_KEY. backward_rb); Nakonec, kdyz je vybran find.Jraine_w, funkce zpetneho volani muze pfistupovat к hodnotam aso- ciovanych tlacitek zavolaniin funkce object_get_data: filter.te = (GtkWidget *)OBJECT_GET_DATA(parent_w. E_FIND_FILT_KEY); backward.rb = (GtkWidget *)OBJECT_GET_DATA(parent_w, E_FIND_BACKWARD_KEY); Webove stranky GTK obsahuji mnoho pfikazu a nastroju pro tvorbu oken, ktere si muzete stahnout a experimentovat s nimi. К programovani v G7 К musite znat staticke definice pro pfeddefinovane polozky jako GTK_STOCK_XXX a GTK_CAN_DEFAULT. TAP Wireshark implementuje system TAP, aby umoznil tvorbu statistik v realnem case v prubehu zachy- tavani paketu. Tyto mohou byt take pouzity nastroji statistickych informaci, ktere se registruji v roz- hrani TAP a sdeluji Wiresharku, aby opakovane proved! rozbor souboru zachycenych dat. Pfiklady tohoto typu pouziti systemu TAP zahrnuji seznamy konverzaci, koncovych bodu, expertnich TAP atd. System TAP je zdokumentovan v souboru README.tapping ve slozce doc. Take v hlavni slozce zdrojoveho kodu najdete mnozstvi souboru tap-xxx, ktere muzete pouzit jako zdroj in formaci о roz- hrani TAP. Soubor gtk/endpoint_talkers Jable.c muze byt pouzit jako pfiklad implementace TAP v zaclenene volbe polozky nabidky. Rozhrani TAP je implementovano ve dvou krocich. Prvnfm z nich je instalace TAP do disektoru pro- tokolu, od ktereho chcete ziskavat informace. Druhym krokem je pfidani posluchace TAP do vasi nove aplikace. Mnoho disektoru obsazenych ve Wiresharku jiz TAP obsahuje. Pravdepodobne bude- te muset vytvofit pouze posluchace TAP a vykonat praci, kterou potfebujete. Pokud zjistite, ze TAP neni nainstalovan v tom protokolu, kde potfebujete, muzete TAP jednoduse pfidat pomoci nekolika fadku kodu. Vice informaci najdete v souboru README.tapping. Mezi TAPy v soucasnosti nejvfce pouzivane v disektorech protokolu patfi: ♦ Expertni ♦ Konverzacni
388 Kapitola 8: Vyvoj Wiresharku ♦ Koncovych bodu ♦ SRT Pro kazdy z techto typu TAP existuje mnoho pfikladu. Disektory protokolu defmuji a registruji TAP. kterym budou poskytovat informace. Pro registraci TAP musi byt do funkce vaseho disektoruproto register_xxx pfidan nasledujici proces: my,srt_tap=regi ster_tap("my_srt"): V procesu rozboru protokolu byste meli zavolat funkci tap_queue-packet s informacemi potfebny- mi pro TAP: tap_queue_packet(my_srt_tap. pinfo, pointer_to_my_tap_data): Vsimnete si, ze pointer_to_my tap _data muze byt ukazatelem na libovolna data, ktera chcete predat specificke implementaci TAP. AvSak je dulezite, abyste pfi pridavani TAP pro jiz existujici rozhrani jako konverzace, koncove body atd. ovefili, ze vas novy TAP pfeda ukazatel na spravne informace pozadovane rozhranim TAP. Nyni, kdyz disektor registruje TAP, muzete vytvof it volbu statistik pro konverzaci, koncovy bod nebo SRT, ktera vyuzije informace poskytnute TAP. Prvnim krokem pro napsani kodu, ktery bude spravovat informace, je vytvofeni noveho souboru ve slozce gtk pro specif icky datovy typ TAP. Jmenna konvence pouzita pro kazdy soubor statistik zdro- joveho kodu je tato: ♦ gtk/conversations_myprot konverzace ♦ gtk/myprot_stat SRT ♦ hostlist niyprot koncove body Vsimnete si, ze moduly TAP pro Tshark jsou umisteny ve slozce root distribuce zdrojoveho kodu. Tyto soubory jsou typicky pojmenovany tap-myprot. Napfed vytvofime standardni hlavicku a zaclenene soubory. Budeme potfebovat ruzne zaclenene soubory podle typu statistik, ktere zpracovavame. V tomto pnkladu pouzivame statistiky SRT: /* mysrt_stat.c * mysrt_stat 2006 My_Name ★ * $Id: mysrt_stat.c 00000 2006-01-01 00:00:00Z xxx $ ★ * Wireshark - Network traffic analyzer * By Gerald Combs <gerald@wireshark.org> * Copyright 1998 Gerald Combs ★ * This program is free software: you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. ★ * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY: without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details.
Pokrodla temata 389 You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. tfifdef HAVE_CONFIG_H # include "config.h" #endi f tfifdef HAVE_SYS_TYPES_H # include <sys/types.h> #endi f #i nclude #i nclude #i nclude #include #i nclude #include #i nclude #include #i nclude #i nclude <stri ng.h> <gtk/gtk.h> <epan/packet_i nfo.h> <epan/epan.h> <epan/value_stri ng.h> <epan/tap.h> "servi ce_response_time_table.h" "../stat_menu. h" "../tap_dfi1ter_dlg.h" "gtkglobals.h" Nyni potfebujeme vytvofit strukturu pro uchovanf nasich statistik SRT: /* used to keep track of the statistics for an entire program interface */ typedef struct _mysrtstat_t { GtkWidget *win; srt_stat_table my_srt_table; } mysrtstat_t; Musime nasi novou volbu pro statistiky SRT zaregistrovat ve Wiresharku. Tento registracni proces pfida novou volbu do statisticke nabidky SRT a pfida tuto statistiku jako podvolbu polozky SRT nebo jako kartu v pohledu tabbed/notebook: static tap_dfi1ter_dlg mysrt_stat_dlg = { "My Protocol SRT Statistics", "mysrt,srt", gtk_mysrtstat_ini t, -1 I: void regi ster_tap_li stener_gtkmysrtstat(voi d) { regi ster_dfi1ter_stat(&mysrt_stat_dlg, "MYSRT", REGISTER_STAT_GROUP_RESPONSE_TIME); I Hlavni registracni funkce (register _dfilter_stattJ) pfedava parametry, ukazuje na volani funkce pfi vybdru polozky uzivatelem a pojmenovava zobrazeni v nabidce (MYSRT) a take statistickou polozku nabidky, ke ktere pfidavame tuto polozku (REGISTER_STAT_GROUP_RESPONSE_TIME). Funkce, ktera je volana v okamziku, kdy uzivatel vybere novou volbu nabidky SRT (mysri_stat_dlg())> pfeda informace inicializacni funkci (gtk. mysrtstat _init).
390 Kapitola 8: Vyvoj Wiresharku Prvnim procesem v inicializacm tunkci (gtk_mysrtstat_jnit) je vytvorem okna GTK, ktere bude slouzit к uchovam nasich statistik. static void gtk_mysrtstat_init(const char *optarg, void *userdata _U_) /* Define a pointer to our structure */ mysrtstat_t *ss; const char *fi1ter=NULL; /* Allocate memory for our table */ ss=g_mal1oc(si zeof(mysrtstat_t)): /* Get the current filter passed */ i f(!strncmp(optarg,"mysrt,srt,",8)){ fi1ter=optarg+8: 1 else { fi1ter=NULL; /* Create the main window */ ss->win=window_new(GTK_WINDOW_TOPLEVEL. "mysrt-stat"); gtk_window_set_default_size(GTK_WINDOW(ss->win). 300, 400); vbox=gtk_vbox_new(FALSE, 3); gtk_container_add(GTK_CONTAINER(ss->win), vbox); gtk_container_set_border_width(GTK_CONTAINER(vbox), 12); /* Print a label on the menu to describe this statistic */ label=gtk_label_new("My Protocol Service Response Time Statistics"); gtk_box_pack_start(GTK_BOX(vbox), label. TRUE, TRUE. 0); /* Display the current display filter */ g_snpri ntf(fi1ter_stri ng,255."Fi1 ter:%s" 1abel=gtk_label_new(fi1ter_stri ng); gtk_box_pack_start(GTK_BOX(vbox), label, fi1ter?fi1 ter:""); FALSE, FALSE, 0); /* Let’s create a notebook view */ main_nb = gtk_notebook_new(); gtk_box_pack_start(GTK_BOX(vbox), main_nb. TRUE, TRUE, 0); temp_page = gtk_vbox_new(FALSE, 6); label = gtk_label_new("Groups"); gtk_notebook_append_page(GTK_NOTEBOOK(main_nb), temp_page, label); /* Create a Close button row. */ bbox = dlg_button_row_new(GTK J>TOCK_CLOSE, NULL); gtk_box_pack_end(GTK_BOX(vbox), bbox, FALSE. FALSE. 0); close.bt = OBJECT_GET_DATA(bbox. GTK„STOCK. .CLOSE); window_set_cancel_button(ss->win, close_bt. window_cancel_button_cb); /* Tell GTK what functions to call when a delete or destroy is detected */ SIGNAL_CONNECT(ss->win, "delete_event", window_delete_event_cb, NULL);
Pokrocila temata 391 > SIGNAL_CONNECT(ss->win, "destroy", win_destroy_cb, ss); gtk_widget_show_al1(ss->win); window_present(ss->win); V inicializacni funkci, po vytvoieni okna pro data, musime zaregistrovat posluchace informaci TAP. I /* Register the tap listener */ I error_string=register_tap_listenert"my_srt", ss, filter, К mysrt_reset, mysrt_packet, mysrt_draw); if(error_string){ E simple_dialog(ESD_TYPE_ERROR, ESD_BTN_0K, error_string->str); I g_string_free(error_string, TRUE): К g_free(ss); I return: Po registraci posluchace TAP predate nazev TAP a parametry (my_srt), ukazatel na lokalni promennou srt_stat .tab/e/strukturu (SS), aktualni filtr (pokud se pouziva, jinak se pfeda NULL), funkci, ktera se ma zavolat pfi detekci GTK signalu pro reset (mysrt_reset), funkci, ktera se vola pfi detekci noveho paketu/udalosti (mysrt-packet), a funkci, ktera se vola, kdyz GTK provede obnoveni (mysrt_draw). V tomto bode vetsina aplikaci posluchacu TAP zahaji proces retapovam/opakovaneho rozboru, takze informace bude opet pfedana kanalu TAP. Pro inicializaci procesu muzeme pouzit dve metody: I cf_redi ssect_packets(&cfi1e): nebo cf_retap_packets(&cfi 1 e, FALSE); Hlavni rozdil mezi temito dvema volanimi je v tom, ze ci_redissectVpackets donuti Wireshark pro- vest kompletnf opetovne nahram a opetovny rozbor aktualnich dat, vcetne opetovneho vytvofen! polozek GUI, zatimco cf_retap-packets donuti Wireshark opdtovnd nahrat a prohledat data paketu. Je-li to mozne, je upfednostnovana funkce retap, protoze Wireshark potfebuje mene casu к dokon- ceni teto akce, ktera nem tak narocna. Avsak v pfipadech, kde informace disektoru potfebuje pro- vest proces opakovaneho rozboru vcetnd znovuvytvofem polozek GUI, muzete potfebovat provest cf_redissect^packets. Vyvojari by meli pfed implementaci pine redisekce paketu zvazit vsechna pro a proti, jako napfiklad vyhody pouziti oproti potfebnemu casu. Zbyvajici kod pro osetfeni konverzaci, koncovych bodu nebo statistik SRT se lisi v zavislosti na implementaci. V nasem pfikladu potfebujeme sestavit funkci tak, aby osetfovala podminky resetu, detekce paketu a vykresleni: static void mysrtstat_reset(void *pss) I mysrtstat_t *ss=(mysrtstat_t *)pss; I /* Call the global SRT function to reset the table data */ reset_srt_table_data(&ss->my_srt_table); static int mysrtstat_packet(void *pss, packet_info *pinfo, epan_dissect_t *edt _U_, const void *prv)
392 Kapitola 8: Vyvoj Wiresharku mysrtstat_t *ss-(mysrtstat_t *)pss: const my_dissectors_tap_data_type *request_val=prv; /* if we haven't seen the request, just ignore it */ i f(!request_val)I return 0; /* Call the global SRT function to add the new packet data */ add_srt_table_data(&ss->my_srt_table. request_val->command, &request_val->req_time, pinfo); return 1: static void mysrtstat_draw(void *pss) mysrtstat.t *ss=(mysrtstat_t *)pss; /* Call the global SRT function to draw the window */ draw_srt_table_data(&ss->my_srt_table); Take je dulezite pamatovat na vydisteni pameti pri ukonceni aplikace. Tudiz take musime definovat nasi funkci pro vycisteni pro pf (pad, ze bude okno uzivatelem zavfeno: vo’d protect_thread_critical_region(void): void unprotect_thread_critical_region(void); static void win_destroy_cb(GtkWindow *win _U_, gpointer data) mysrtstat_t *ss=(mysrtstat_t *)data; protect_thread_cri ti cal_regi on(); remove_.tap_l i stener(ss); unprotect, thread critical_region(); free_srt_table_data(&ss->my_srt table); g_free(ss); Doporucuje se vyuzit jeden nebo vice dostupnych zdroju pro vsechny nove doplnky. Ve slozce gtkje mnozstvi pfikladu pro vsechny definovane typy TAP. I kdyz nas pfiklad byl urcen pro casove statis- tiky doby odezvy sluzby, programovani konverzaci a koncovych bodu je v podstate stejne. Dalsi informace Poznamka к vyvoji Je dulezite zminit skutecnost, ze i kdyz expertni informace jsou TAP, nemusite implemen- tovat zadny typ kodu utilit pro zpracovani expertnich informaci tak, jak to delate u statistik konverzaci, SRT a koncovych bodu. Jak jsme dfive uvedli, upravujete svuj disektor tak, aby volal expertni TAP pfimo.
Shrnuti 393 Zasuvire moduly Wireshark take podporuje implementaci disektoru ve forme zasuvnych modulu. Zasuvne modu- ly jsou nekterymi vyvojafi upfednostnovany, nebot’ mohou byt vyvijeny a odladbvany bez nutnosti opakovaneho sestavovani cele distribuce Wiresharku. Dalsim duvodem, proc nekteri vyvojafi radeji vyuzivaji moznost tvorby zasuvnych modulu, je, ze timto zpusobem mohou lepe chranit sva autor- ska prava. Kdyz je vas disektor protokolu zafazen do distribuce Wiresharku a uvolnen spolecne s nf, vas kod je zkontrolovan a automaticky se stava predmetem pravidel definovanych licenci GPL. Na druhou stranu zasuvny modul muze byt siren formou binarniho souboru, a tak se na nej pravidla licence GPL nebudou vztahovat. Muzete zkompilovat a sestavit svuj vlastni zasuvny modul a potom jej zkopirovat do slozky obsahujici zasuvne moduly pod vami danym nazvem. Wireshark je dodavan s mnozstvim zasuvnych modulu, pficemz kazdy z nich muze byt nahran nebo odstranen podle toho, zda byl nainstalovan pred spus- tenim Wiresharku. Rozhrani zasuvnych modulu napodobuje rozhrani disektoru. Ve skutecnosti jsou zasuvne moduly nejprve vyvijeny ve forme disektoru a dodatecne je pfidan kod, ktery z disektoru udela zasuvny modul. Tento proces se vsak zacal menit s aplikaci Ethereal ve verzi 0.10.10. Pfetvofeni vaseho disektoru protokolu packet-xxx do podoby zasuvneho modulu je proces sestavajici z mnoha krokii, je jako vytvofeni slozky zdrojoveho kodu, ktera bude obsahovat zasuvny modul a podpurne soubory, stejne tak i zmeny v souboru makefile v kofenove slozce distribuce zdrojoveho kodu. Soubor README.developer ve slozce doc nastiriuje kroky, ktere potfebujete provest pro vytvofeni disektoru ve forme zasuvneho modulu pro Wireshark. Shrnuti Tato kapitola pfiblizila nektere z nejdulezitejsich cast! vyvoje Wiresharku. Muzete к projektu pfispet tvorbou nasledujicich soucasti: ♦ Disektory protokolu ♦ Zasuvne moduly ♦ Graficke uzivatelske rozhrani Wiresharku ♦ Nastroje Tato kapitola take velmi podrobne zdokumentovala spravne kroky, ktere vedou к vytvofeni disektoru. S pomoci souboru README.developer ve slozce doc muzete zkopirovat a vlozit do vaseho projektu sablonu, ktera vam pomuze v zacatcich vyvoje. Avsak tento dokument nedefinuje zcela jasne vsech- ny kroky vyvojoveho procesu. V teto kapitole jsme se pokusili tyto kroky popsat v logickem pofadf. Nejprve moditikuite hlavicky a pf ikazy include. Pote zaregistrujte kod disektoru pro dekodovani dat. Dulezitym faktorem v sekci pro dekodovani je vyuziti pole hf ve tunkci pro registraci, takze muze byt pozdeji provadeno filtrovani podle elementu. Tato kapitola take poskytla informace о nekterych pokrocilejsich tematech vcetne zakladniho pru- vodce programovanim GTK. Mnoho z techto temat muzete pfi tvorbe disektoru upotfebit. Spravne osetfeni problemu spojenych s pokrocilymi tematy muze znacne zredukovat pocet hodin stravenych zbytecnou praci a badanfm. Po odladeni vasi prace byste se meli vratit zpet ke kodu a provest jeho optimalizaci a vycisteni od zbytecnvch casti. Take nezapomente do zdrojoveho kodu vlozit komen- tafe, ktere jej ucini srozumitelnejsim. Ujistete se, ze jste odstranili definice vsech nepouzivanych promennych. Nakonec muzete vysledkem sve prace pfispet к projektu Wireshark zaslanim zaplaty
394 Kapitola 8: Vyvoj Wiresharku e-mailove konferenci wireshark-dev. Opet se nezapomente ujistit, ze vas prispevek zadnym zpuso- bem neporusuje autorska ci jina prava. Wireshark je uvolnen pod licenci GPL a vsechny pfispevky к projektu musi byt v souladu s timto licencnim ujednanim. Rychla reseni Podminky pro vyvoj Wiresharku ♦ Pfedtim nez se pustite do vyvoje, potfebujete stahnout zdrojovy k6d Wiresharku. Muzete si zvo- lit z nekolika moznosti pro stazeni ruznych typu balicku. Webove stranky Wiresharku (www. wireshark.org) obsahuji odkazy na stazeni pfedchozich verzi, soucasnych verzi, nocnich zaloh a kodu z uloziste SVN. ♦ Pozadavky na pocitace s operacnim systemem Windows jsou jine nez pozadavky na pocitace se systemy Unix/Linux. Pocitace s Windows potfebuji dalsi nastroje pouzivane pro emulaci pro- stfedi systemu Unix/Linux. ♦ Pro sestaveni Wiresharku potrebujete mnozstvi knihoven a nastroju. Existuje nekolik volitelnych knihoven, ktere muzete, ale nemusite vyuzit podle toho, zda budete pfidavat specificke funkce. ♦ Wireshark muze byt zkompilovan a spusten na mnoha operacnich systemech. Proto se musite ujistit, ze programujete s pouzitim standardu ANSI C, kvuli pfenositelnosti kodu mezi ruzny- mi platformami. ♦ Predtim nez zahajite jakoukoliv praci na Wiresharku, pfesvedcte se, ze muzete kompilovat a lin- kovat Wireshark do formy spustitelneho binarniho souboru. ♦ Webove stranky Wiresharku obsahuji mnozstvi dalsich zdroju pro vyvojafe, vcetne Bugzilly, wiki a Wish Listu. Navrh Wiresharku ♦ Nez zacnete pracovat na vyvoji Wiresharku, ujistete se, ze muzete sestavit spustitelny soubor Wiresharku. ♦ Prvnfm krokem ve vyvoji disektoru je vyuziti sablony poskytnute v dokumentu README.deve- loper. ♦ Je dulezite mit na pameti licenci GPL a take dalsi faktory pfi modifikaci komentafu v hlavicce sablony. Pamatujte, ze toto je misto, kam byste meli pridat sve osobni informace, abyste pfipad- ne mohli ziskat patricne uznani za vasi praci. ♦ Globalni funkce Wiresharku jsou uzitecne pro zjednoduseni vyvoje disektoru. ♦ Registrace vaseho disektoru protokolu je procesem nezbytnym к tomu, aby Wireshark vёdёl, kdy disektoru pfedat data paketu. ♦ Pole hf poskytuje mechanismus pro /ас1епёт zobrazeni a barevnych filtru. Vyuzitim funkce proto_tree_add_item() pole hf definuje datovy typ, ktery se pouzije pro konverzi specifickych dat do 5ргахгпё reprezentovaneho fetёzce v окпё Decode. ♦ Funkci tvb_get_xxx pouzijte pro pfistup к datum ramce. Data pfedana vasemu disektoru neob- sahuji data, ktera jiz byla dekodovana jinymi disektory.
Rychla feseni' 395 ♦ Pouziti funkce proto_tree umoznuje vypis do okna Decode grafickeho uzivatelskeho rozhrani Wiresharku. ♦ Jednim z nejdulezitejsich kroku, ktery by mel disektor vykonat, je pfedat vsechna zbyvajici data zpet Wiresharku. Timto zpusobem mohou nove vytvofene disektory provest rozbor zbyvajicich dat paketu. Pokrocila temata ♦ Vytvareni podstromu umoznuje zobrazit data v okne Decode informativnejsim zpusobem. Uzivatele, kteri potfebuji videt vice podrobnosti, mohou rozbalit jednotlive polozky a sledovat tak detailni informace. ♦ Wireshark poskytuje mechanismus pro zobrazeni bitovych poll grafickou formou. Takto umoz- nuje uzivateliim videt na bitovem displeji, co ktere pole pfedstavuje. ♦ Mnoho disektoru musi byt schopno osetfovat fetezce ve formatu Unicode. Retezce Unicode pfed- stavuji pro obycejne fetezce vyzvu, nebot’ jejich velikost je jen 2 bajty. ♦ Mohou nastat situace, ve kterych budete potfebovat byt schopni sledovat рагу paketu zadosti a odpovedi. Wireshark poskytuje funkce pro seznamy konverzaci, cimz umoznuje uchovavat spe- cificke informace о kodu zdrojoveho paketu, takze muze byt pfifazen s paketem odpovedi. ♦ Opakovane zasilani paketu je na vetsine siti beznym jevem. Je dulezite, aby disektory protokolu ve Wiresharku byly schopny s timto typem udalosti pracovat. Pouziti seznamu konverzaci muze v tomto procesu byt uzitecne. ♦ Uzivatele by meli mit moznost konfigurovat ruzne soucasti Wiresharku, vcetne moznosti vypnout nebo zapnout urcitou funkci ve vasem disektoru. Soubor preferenci vam dava prostor к ulozeni techto nastaveni, takze disektor odsud muze tyto hodnoty pfecist pfi dalsim spusteni Wireshar- ku. ♦ V prubehu zpracovani dat uvnitf paketu muzete potfebovat znat jiste informace z jineho disek- toru. Wireshark poskytuje mechanismus pro pfedavani dat mezi disektory pomoci ukazatele pinfo->private_data. ♦ К fragmentaci paketu dochazi, kdyz je datovy naklad vetsi nez aktualni velikost paketu. Proto- kol rozdeli data do nekolika casti a pote posle kazdou z nich v ramci fragmentu. Cilove zarizeni pote sbira jednotlive fragmenty a sestavuje puvodni data. Disektory musi mit schopnost zpraco- vat tyto fragmenty. Wireshark vyuziva nekolik defragmentacnich funkci pro sledovani a opetne sestaveni fragmentovanych dat. ♦ Castokrat je zapotfebi zobrazit urcitou ciselnou hodnotu z dat paketu ve srozumitelnejsi forme, jako napf. fetezec, ktery tuto hodnotu definuje. Vetsina chybovych kodu jevracena jako numericke hodnoty, ale samotne cislo pro koncoveho uzivatele nema pfilisnou informacni hodnotu. Retezce hodnot vam davaji moznost konvertovat ciselne hodnoty do formy smysluplnejsich zprav. ♦ Graficke uzivatelske rozhrani Wiresharku vyuziva Item Factory GTK pro tvorbu a manipulaci polozek nabidky. Pfidam nove polozky nabidky je diky pfidani polozky do Item Factory rych - ly proces. ♦ Jestlize se rozhodnete vyvijet nebo modifikovat GUI Wiresharku, meli byste se seznamit s progra- movanim GTK a take s bohatou mnozinou funkci tohoto prostfedi. Webove stranky GTK {www. gtk.org) poskytuji dokumentaci a pfiklady pro spravne zapisovani do knihovny GTK. ♦ Wireshark poskytuje mechanismus pro ziskavani dat v realnem case. Nastroje mohou vyuzivat system TAP pro sber informaci v prubehu ziveho zachytavani nebo take z existujiciho souboru
396 Kapitola 8: Vyvoj Wiresharku zachycenych paketu. Priklady nastroju, ktere vyuzivaji rozhrani TAP ve Wiresharku, jsou kon- verzace, koncove body, SRT a expert. ♦ Programovani expertniho TAP vyzaduje pouze modihkaci disektoru protokolu, zatimco jine sys- temy TAP potfebuji vice prace ke zpracovani informaci TAP a rozsifeni nabidek Wiresharku. ♦ Disektory paketu nemusi byt kompilovany se zdrojovym kodem Wiresharku. Rozhrani zasuv- nych modulu poskytuje mechanismus pro konverzi zdrojoveho kodu vaseho disektoru z packet- xxx do formy zasuvneho modulu. Zasuvne moduly mohou byt kompilovany rychleji a mohou byt pfidany nebo odebrany pfed samotnym spustenim Wiresharku. Caste dotazy Nasledujici £asto kladene otazky byly zodpovezeny autorem teto publikace a jsou zde umisteny proto, abyste mohli zhodnotit sve porozumeni danemu tematu a take vam pomohou pfi uplatneni teore- tickych znalosti v podminkach realneho prostfedi. Otazka: Jak Wireshark vi, kdy ma zavolat disektor? Odpoved: Funkce dissector_add definuje podminky, za kterych ma byt disektor zavolan. Otazka: Kde mohu najit design dokument pro vyvoj Wiresharku? Odpoved: Zadny design dokument zde vlastne neni, ale soubor README.developer a dalsi doku- menty obsazene ve slozce doc obsahuji uzitecne informace. Na strance Wiki Wiresharku je sestavo- van Pruvodce vyvojafe. Otazka: Jak pfedam informaci z jednoho disektoru do druheho? Odpoved: Pouzitim pinfo->private_data pro pfedani ukazatele na data jineho disektoru. Otazka: Jak zjistim, ktere funkce jsou ve Wiresharku dostupne? Odpoved: Snazili jsme se vyjmenovat mnoho obvyklych funkci v teto kapitole, ale pro komplet- ni seznam byste se meli podivat do hlavickovych souboru zdrojoveho kodu a prozkoumat vsechny vyskyty slova exports. Exporty jsou mechanismy, ktere umoznuji definovat vefejne funkce, jez budou dostupne i zbytku aplikace. Funkce, ktere nejsou exportovany, maji viditelnost omezenou pouze na modul, v nemz byly deiinovany. Avsak i kdyz mohou byt omezeny v jejich viditelnosti, je dulezite, abyste nevytvafeli v disektoru takove funkce, ktere by mohly pusobit konflikty s jihymi exportova- nymi funkcemi. Toto je jeden z duvodu, proc byste meli deklarovat privatni funkce jako staticke, pokud neplanujete exportovat funkci pro pouziti jinymi moduly Wiresharku.Vsimnete si, ze exporty jsou nekterymi operacnimi systemy ignorovany, ale v jinych jsou naopak pouzivany (napf. Windows pouziva export pro definici globalnich funkci aplikace, jak je popsano vyse). Otazka: Mohu sestavit Wireshark v Microsoft Visual C++? Odpoved: Ano. Ujistete se, ze mate vsechny potfebne knihovny a nastroje. Je dulezite si uvedomit, ze sestavovani v Microsoft Visual C++ nezahrnuje pouzivani prostfedi studia. Pro sestaveni Wireshar- ku se vyuziva rozhrani pfikazoveho fadku a sestaveni Wiresharku provedete pomoci pfikazu ntnake. exe. Wireshark neobsahuje zadne pracovni prostory nebo konfiguracni soubory Visual Studia, ktere by mohly byt pouzity v GUI Visual Studia. Abyste sestavili Wireshark s Microsoft Visual C++, ote- vfete okno pfikazoveho fadku a pfesunte se do hlavni slozky zdrojoveho kodu Wiresharku. Nakonec spust’te pfikaz name se syntaxi name -f makefile.nmake.
Caste dotazy 397 Otazka: Kde mohu najit vice informaci о programovani GUI? Odpoved: Na webovych strankach GTK (www.gtk.org) najdete tutorial}' a pfiklady pro vyvoj. Otazka: Sestavil jsem Wireshark jako Red Hat Package Manager (RPM) balik s podporou desifrovani SSL, ale nektefi z uzivatelu si stezuji, ze nemohou najit soubor zavislosti libgcrypt.so.il. Odpoved: Pfi sestaveni s funkcemi jako podpora desifrovani SSL je desifrovani ve skutecnosti pro- vadeno desifrovacimi knihovnami gnutls a libgcrypt. Mnoho systemu obsahuje novejsi verze techto modulu. Na systemech s novejsimi verzemi muzete provest nasledujici: ♦ Vytvofte softlink na balik novejsi knihovny (/usr/lib/ it In -s ibgcrypt.so.12 libgcrypt.so.il). ♦ Pote potfebujete aktualizovat konfiguraci systemu (/usr/lib/ it Idconfig). Pro systemy pouzivajici starSi verze balickii se selhavajici zavislosti se doporucuje, aby uzivatele pro- vedli aktualizaci na novejsi verzi. Pokud zadna neni dostupna, doporucuje se sestavit jiny RPM bez teto f unkce.
KAPITOLA 9 Dalsi programy dodavane s Wiresharkem Resem^to kapitole: ♦ TShark ♦ Editcap ♦ Mergecap ♦ Text2pcap ♦ Capinfos ♦ Dumpcap ♦ Shrnuti ♦ Rychla feseni ♦ Caste dotazy

400 Kapitola 9: Dalsi programy dodavane s Wiresharkem Uvod Vetsina lidi, ktefi znaji Wireshark, pouziva spise jeho graficke rozhrani. Avsak Wireshark je instalo- van spolecne s nekolika dalsi mi podpurnymi programy: verzi Wiresharku pouzivanou z pfikazoveho fadku, zvanou TShark, a peti dalsimi programy, ktere vam pomohou pfi manipulaci, vyhodnocovani a tvorbe souboru zachycenych dat - editcap, mergecap, text2pcap, capins of a dumpcap. Tyto pod- purne programy mohou byt pouzity spolecne a poskytnout tak velmi vykonny nastroj pro praci se soubory zachycenych dat. Napriklad data mohou byt zachycena Tsharkem, editovana pomoci edit- capu a sloucena do jedineho souboru mergecapem. Pote tato data muzete prohlizet v Tsharku nebo Wiresharku. Po pfecteni teto kapitoly uvidite ohromne moznosti a take velmi jemnou kontrolu, ktere vam tyto podptirne nastroje davaji к dispozici pro praci se soubory zachycenych dat. TShark TShark je verzi Wiresharku pro pouziti z pfikazoveho fadku. Muze byt pouzit pro zachytavani dat, dekodovani a tisk paketu pfimo z kabelu nebo ke cteni souboru zachycenych dat. Nektere funkce jsou pro TShark i Wireshark spolecne, nebof oba programy pouzivaji stejnou knihovnu pro zachy- tavani dat, libpcap a take vetsina kodu je obema aplikacim spolecna. TShark umi cist zachycena data ve stejnych formatech jako Wireshark a dokaze automaticky rozeznat jejich typ. Pokud je TShark zkompilovan s knihovnou zlib, muze automaticky dekomprimovat a cist soubory sbalene gzipem. Vyhoda pouziti TSharku spociva take v jeho skriptovatelnosti. Nasledujici vypis je vystupem pouziti programu TShark. Vsimnete si ruzneho typu formatu, ve kte- rych muze TShark ukladat soubory pomoci volby -F: $ tshark -h TShark 0.99.4 (SVN Rev 19507) Dump and analyze network traffic. See http://www.wireshark.org for more information Copyright 1998-2006 Gerald Combs <gerald@wireshark.org> and contributors. This is free software: see the source for copying conditions. There is NO warranty: not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. Usage: tshark [options] ... Capture interface: - i <interface> name or idx of interface (def: first non-loopback) - f <capture filter> packet filter in libpcap filter syntax - s <snaplen> packet snapshot length (def: 65535) - p don't capture in promiscuous mode - y <1 ink type> link layer type (def: first appropriate) - D print list of interfaces and exit - L print list of link-layer types of iface and exit Capture stop conditions: - c <packet count> stop after n packets (def: infinite) - a <autostop cond.> ... duration:NUM - stop after NUM seconds filesize:NUM - stop this file after NUM KB files:NUM - stop after NUM files
TShark 401 Capture output: - b <ringbuffer opt.> ... duration:NUM - switch to next file after NUM secs filesize:NUM - switch to next file after NUM KB files:NUM - ringbuffer: replace after NUM files Input file: - r <infile> set the filename to read from (no pipes or stdin!) Processing: - R <read filter> packet filter in Wireshark display filter syntax - n disable all name resolutions (def: all enabled) - N <name resolve flags> enable specific name resolution(s): "mntC" - d <1ayer_type>==<selector>,<decode_as. protocol> ... "Decode As”, see the man page for details Example: tcp.port==8888,http Output: - w <outfile|-> set the output filename (or '-* for stdout) - F <output file type> set the output file type, default is libpcap an empty "-F" option will list the file types - V add output of packet tree (Packet Details) - x add output of hex and ASCII dump (Packet Bytes) - T pdml|ps|psml|text output format of text output (def: text) - t ad|a|r|d output format of time stamps (def: r: rel. to first) * -1 flush output after each packet - q be more quiet on stdout (e.g. when using statistics) - X <key>:<value> extension options, see the man page for details - z <statistics> various statistics, see the man page for details Mi seel 1aneous: - h display this help and exit - v display version info and exit - o <name>:<value> ... override preference setting Nasledujici volby pfikazoveho fadku se pouzivaji к ovladani zachytavani dat TSharkem a jeho vystu- pu: Volby rozhrani pro zachytavani -i interface - specifikuje rozhrani, ktere bude pouzito pro zachytavani dat. Volba -D muze byt pouzita pro zjisteni nazvu rozhrani. Jako parametr volby -i muzete pouzit cislo nebo nazev. Spustite-li TShark bez volby -i, prohleda seznam rozhrani a vybere prvni rozhrani, ktere neni typu zpetna smycka. Pokud zadne takove rozhrani neni nalezeno, bude pouzito prvni roz- hrani zpetne smycky. Pokud neexistuje ani to, TShark skonci chybou. -f capture filter expression - umoznuje nastavit vyraz filtru pro zachytavani dat. Napfiklad tshark -f tep port 80 bude zachytavat pouze pfichozi a odchozi pakety protokolu Hl IP. -s snaplen - umoznuje nastavit vychozi delku snimku pouzitou pfi zachytavani dat. Parame- tr snaplen udava v bajtech delku kazdeho paketu, ktery bude pfecten nebo zapsan na disk. Vychozi hodnota parametru snaplen je 65 535 bajtu, coz by mela byl dostatecna velikost pro zachyceni kompletniho obsahu ramcu vsech typu datovych spojti.
Kapitola 9: Dalsi programy dodavane s Wiresharkem -p - sdeluje Wiresharku, aby nepfepi'nal rozhrani do promiskuitniho modu. Takto bude TShark cist pouze data zaslana ze systemu nebo na system, na kterem TShark bezi, provoz vsesmeroveho vysilani a vicesmeroveho vysilani. "У *УРе ~ umoznuje nastavit typ datoveho spoje, ktery se pouzije pfi zachytavani paketu. Muze- te pouzit volbu -L pro zobrazeni typu datovych spoju podporovanych rozhranim. -D - sdeli TSharku, aby vypsal seznam dostupnych rozhrani v systemu. Vytiskne cislo roz- hrani, jeho nazev, popis a pote se vrati do pfikazoveho fadku. Nasledne muzete zadat cislo nebo nazev rozhrani volbe -i pro urceni rozhrani, ktere bude pouzito к zachytavani. Zadani teto volby zpusobi, ze se TShark spusti a pokusi se zachytavat data na kazdem rozhrani, ktere najde. Budou zobrazena pouze ta rozhrani, ktera byla uspesna. Pokud potfebujete byt pfihla- seni do systemu jako uzivatel root, abyste mohli spustit TShark, ale pfitom takto pfihlaseni nejste, tato volba nezobrazi zadne dostupne rozhrani. -L - vypise typy datovych spoju podporovanych rozhranim a pote se ukonci. Muzete zadat, ktere rozhrani se ma pouzit, nebo TShark vybere prvni rozhrani, ktere najde (stejne, jako je uvedeno u volby -i). ♦ Volby ukonceni zachytavani -c count - nastavuje vychozi pocet paketu, ktere maji byt pfecteny pri zachytavani dat. Napfi- klad chcete-li zachytit 100 paketu, zadejte -c 100. -a testtvalue - pouziva se pfi zachytavani do souboru. Rika TSharku, kdy ma zapis do soubo- ru ukoncit. Kriterium se zadava ve formatu podminka.hodnota, kde podminka je bud’ dura- tion (trvdni), nebo file size (velikost souboru). Parametr duration zpusobi ukonceni zapisu po uplynuti daneho poctu vtef in a file size zpusobi ukonceni zapisu pote, co je pfekrocena veli- kost value zadana v kilobajtech. ♦ Volby pro vystup zachytavani -b number of ring buffer files ^duration] - pouziva se spolecne s pfepinacem -a a zpusobi, ze TShark pokracuje v zachytavani dat do po sobe jdoucich souboru. Tato metoda se nazyva mod ring buffer a bude ukladat soubory az do poctu urceneho parametrem. Kdyz prvni sou- bor dosahne maximalni velikosti, coz je specifikovano volbou -a, TShark zacne zapisovat do dalsiho souboru. Kdyz jsou vsechny soubory pine, TShark pokracuje v zapisu novych souboru, pficemz bude odstranovat ty stare. Avsak pokud je pocet souboru [number of files) nastaven na 0, pocet souboru, do kterych TShark zapisuie, bude neomezeny a bude limitovan pouze mnozstvim mista na disku. Volitelny parametr duration zpusobi, ze TShark zacne zapisovat do noveho souboru vzdy po uplynuti daneho poctu vtefin. К pfepnuti na novy soubor dojde i tehdy, kdyz ten aktualne pouzivany neni zaplnen. Vytvofene soubory jsou pojmenovany na zaklade cisla souboru a data a casu vytvofeni. S pouzitim teto volby muzete ukladat soubory pouze ve formatu libpcap. ♦ Volby pro vstup zachytavani -rfile - nacte a zpracuje soubor zachycenych dat. ♦ Volby pro zpracovani zachytavanych dat -R filter - zpusobi pouziti filtru pro ctem pfed zobrazenim nebo zapsanim paketu do soubo- ru. Pakety, ktere nevyhovuji podminkam filtru, budou zahozeny. -n - pouziva se pro zakaz pfekladu sitbvych nazvu, jako jsou hostitelske nazvy a nazvy portu. -N resolving flags - pouziva se pro povoleni pfekladu nazvu pro urcene typy adres a cisel portu. Pfiznak m povoluje pfeklad adres MAC, pfiznak n povoluje pfeklad sitovych adres
TShark 403 a pfiznak t povoluje preklad nazvu portu transportni vrstvy. Pfiznak C povoluje soucasne (asynchronni) dotazy na system DNS, pokud je TShark zkompilovan s podporou Asynchro- nous DNS (ADNS). Volba -N anuluje volbu -n. -d layer type~-selector,decode-as protocol - umoznuje urcit zpusob dekodovani datove- ho provozu. Parametry oznacuji, ze kdyz typ vrstvy ma urcitou hodnotu, packet by mel byt dekodovan jako paket specifikovaneho protokolu. Napfiklad -d tcp.port==8080, http bude dekodovat veskery provoz na port a z portu TCP 8080 jako provoz HyperText Transfer Pro- tocol (HTTP). To muze mit svuj vyznam pro aplikace, ktere umoznuji provozovat sluzby na nestandardnich portech. -B buffer size - tato volba je dostupna pouze v operacnim systemu Windows a pomoci ni TShark alokuje velikost bufferu v MB (vychozi hodnota je 1MB), ktera bude pouzita pro ucho- vavani dat paketu pfed jejich zapisem na disk. Tato volba je uzitecna zejmena v pripade, kdy dochazi к zahazovani paketu kvuli rezii spojene se zapisem na disk. ♦ Volby pro vystup zachytavani -wfile - zapisuje pakety do nazvii souboru zadaneho s touto volbou. Pokud je zadana volba, je pouzit standardni vystup. Tato volba potlacuje zobrazovani paketu na obrazovce, pokud neni pouzita take volba S. -F type - pouziva se pro nastaveni formatu vystupu souboru zachycenych dat. Napfiklad chcete-li ulozit soubor ve formatu Sun snoop tak, aby snoop mohl cist tento soubor zachy- cenych dat, pouzijte volbu -F snoop. -V - zobrazi zachycena data ve forme stromu protokolu namisto vychoziho zobrazeni sou- hrnne informace о paketu. -S - dekoduje a zobrazi obsah paketu i pfi zapisu do souboru. -x - zobrazi zachycena data v hexadecimalni a ASCII podobe spolecne se souhrnnym pohle- dem nebo stroinem protokolu. -T pdm I1 ps | test - umoznuje nastavit format zobrazeni, ktery se ma pouzit pfi zobrazovani dat. Pfi pouziti volby Packet Details Markup Language (PDML) je strom dat protokolu zob- razen vzdy. Pokud neni zadan zadny format, pouzije se vychozi hodnota „text". -t format - umoznuje nastavit format casovych razitek paketu, ktera se zobrazuji na souhrn- nem fadku. Parametr format urcuje zpusob zobrazeni dat. Relativni cas je urcen paramet- rem r a zobrazuje dobu, ktera uplynula mezi zachycenim prvniho paketu a aktuame zachy- ceneho paketu. Volba a zpusobi pouziti absolutniho casu a pfedstavuje cas, kdy byl paket zachycen. Absolutni datum a cas se pouziji pomoci pfepinace ad a pfedstavuji datum a cas, kdy byl paket zachycen. Casovy rozdil delta je zobrazen s pouzitim pfepinace d a pfedstavuje cas, ktery uplynul od zachyceni pfedchoziho paketu. Vychozi nastaveni zobrazeni casovycn razitek je relativni cas. -1 - vyprazdni standardni vystupni buffer po vypsani kazdeho paketu namisto cekani, dokud se buffer nezaplni. Bezne se pouziva pfi pfesmerovani vystupu zachycenych dat do skriptu, takze kazdy zachyceny paket je poslan, jakmile je pfecten a dekodovan. -q - umoznuje vypnout pocitani paketu pfi zachytavani do souboru. Pocet bude i nadale zobrazen na konci souboru zachycenych dat. Na nekterych operacnich systemech, jako jsou napf. ruzne systemy BSD, ktere podporuji signal SIGINFO, zadani control -T zpusobi zob- razeni aktualniho poctu.
404 Kapitola 9: Dalsi programy dodavane s Wiresharkem -X - umoznuje uzivateli zadat volbu, ktera bude pfedana modulu TSharku. Momentalne se tato volba pouziva pro urceni dalsich analytickych tunkci pouzivajicich skripty Lua, a to pomoci zapisu lua_script:«dzev souboru. -z statistics - zpusobi, ze TShark zacne shromazdbvat ruzne statisticke informace о zachyta- vanych datech. Vysledek bude zobrazen po pfe&eni souboru zachycenych dat. ♦ Ruzn£ volby -h - vypise verzi TSharku a moznosti napovedy a ukonci se. -v - vypise verzi TSharku a ukonci se. -o prefnatnetvalue - umoznuje nastavit hodnoty preferenci, ktere potlaci vsechny vychozi hodnoty nebo hodnoty nactene ze souboru preferenci. Parametr teto volby se zadava ve for- matu prefname:value, kde prefname znamena nazev preference tak, jak je uvedeny v souboru, a value je hodnota, ktera ma byt nastavena. Vy vychozim nastaveni TShark zobrazi pakety na obrazovce ve forme souhrnnych fadku. Tyto fadky jsou stejne jako ty, ktere jsou zobrazovany v souhrnnem okne ve Wiresharku. Avsak TShark v pru- behu zachytavani a zobrazovani v realnem case nevypisuje pole/rame number (cislo ramce). Pro vytisteni podrobnych informaci о paketech namisto souhrnu muzete pouzit volbu -V. TShark take umi cist data ze souboru zachycenych dat a vytisknout informace ve forme souhrnu (vychozi volba) nebo jako podrobne informace (volba -V). Tento zpusob zobrazi cisla ramcu u ulozenych paketu. Konecne volba -x zpusobi, ze TShark vytiskne hexadecinialni a ASCII data paketu pro kazdy sou- hrnny fadek nebo podrobny strom protokolu. TShark ma velmi silny jazyk zobrazovacich filtru a umi take pouzivat syntaxi filtru TCPDump. Tyto filtry mohou byt pouzity pro zmenseni okruhu dat, ktera chcete zachytavat. Pfi pouzivani TSharku pro zapis zachycenych dat do souboru bude soubor zapsan ve vychozim nasta- veni s pouzitim formatu libpcap. TShark zapise vsechny pakety a vsechny podrobnosti о nich do vystupniho souboru, takze volby -V a -x neni tfeba pouzit. Diky kompatibilite TSharku a Wireshar- ku s mnoha dalsimi sniffery muzete zapisovat vystup take v jinych formatech. Pro urceni formatu, ve kterem maji byt data zapsana, pouzijte volbu -F. Nasledujici text pfedstavuje zakladni pfiklad pouziti TSharku к zachytavani a zobrazeni vystupu for- mou stromu protokolu spolu s patficnymi vypisy v hexadecimalnim a ASCII formatu. C:\Program Fi1es\Wireshark>tshark -V -x Capturing on \Device\NPF_{A302C81E-256D-4C92-8A72-866F2ElED55F| Frame 1 (114 bytes on wire. 114 bytes captured) Arrival Time: Nov 28, 2003 22:14:16.221349000 Time delta from previous packet: 0.000000000 seconds Time since reference or first frame: 0.000000000 seconds Frame Number: 1 Packet Length: 114 bytes Capture Length: 114 bytes IEEE 802.3 Ethernet Destination: ff:ff:ff:ff:ff:ff (Broadcast) Source: 00:05:5d:ee:7e:53 (D-Link_ee:7e:53) Length: 100 Logical-Link Control 3SAP: NetWare (OxeO) IG Bit: Individual
TShark 405 SSAP: NetWare (OxeO) CR Bit: Command Control field: U, func = UI (0x03) ООО. 00.. = Unnumbered Information ........11 = Unnumbered frame Internetwork Packet exchange Checksum: Oxffff Length: 96 bytes Transport Control: 0 hops Packet Type: PEP (0x04) Destination Network: 0x00000000 (00000000) Destination Node: ff:ff:ff:ff:ff:ff (Broadcast) Destination Socket: SAP (0x0452) Source Network: 0x00000000 (00000000) Source Node: 00:05:5d:ee:7e:53 (D-Link_ee:7e:53) Source Socket: Unknown (0x4008) Service Advertisement Protocol General Response Server Name: TARGET1!!!!!!!!A5569B20ABE511CE9CA400004C762832 Server Type: Microsoft Internet Information Server (0x064E) Network: 00 00 00 00 Node: 00:05:5d:ee:7e:53 Socket: Unknown (0x4000) Intermediate Networks: 1 0000 ff ff ff ff ff ff 00 05 5d ее 7e 53 00 64 eO eO ............J.~S.d.. 0010 03 ff ff 00 60 00 04 00 00 00 00 ff ff ff ff ff ....'........... 0020 ff 04 52 00 00 00 00 00 05 5d ее 7e 53 40 08 00 ..R......].~S@.. 0030 02 06 4e 54 41 52 47 45 54 31 21 21 21 21 21 21 ..NTARGET1!!1!! ! 0040 21 21 41 35 35 36 39 42 32 30 41 42 45 35 31 31 !!A5569B20ABE511 0050 43 45 39 43 41 34 30 30 30 30 34 43 37 36 32 38 CE9CA400004C7628 0060 33 32 00 00 00 00 00 00 05 5d ее 7e 53 40 00 00 32......].~S@.. 0070 01 01 Nasleduje pfiklad pouziti TSharku pro zachyceni provozu na rozhrani 4 a vystupu dat do souboru nazvaneho output. Vystupni soubory budou mit maximalni velikost 5 kilobajtu, a kdyz je soubor zaplndn, vytvori se novy vystupni soubor. Bude pouzito maximalne 10 vystupnich souboru. Nasle- dujici pnklad ukazuje pfikaz, ktery by data zachytaval zpusobem popsanym vy§e. C:\Program Fi1es\Wireshark>tshark -i4 -a filesize:5 -b 10 -w output К nazvum vygenerovanych vystupnich souboru je pf ipojeno cislo souboru, datum a casove razitko. Vystupni soubory v tomto vypisu zacinaji cislem 43, protoze stars! soubory byly zahozeny pfi vytva- feni tech novejSich, takze vjednom okamziku muze existovat maximalne 10 souboru. output_00043_20031128212900 output_00044_20031128212900 output_00045.20031128212900 output_00046_20031128212900 output_00047_20031128212901 output_00048_20031128212903 output_00049_20031128212958 output_00050_20031128213045 output_00051_20031128213211
406 Kapitola 9: Dalsi programy dodavane s Wiresharkem output_00052_20031128213316 Dalsi vypis ukazuje pouziti zachytavaciho filtru TSharku pro zachyceni veskereho provozu s vyjim- kou paketu zaslanych ci pfijatych protokolem HTTP na portu 80. C:\Program Fi1es\Wireshark>tshark -f "tcp port !80" Capturing on \0evice\NPF_(A302C81E-256D-4C92-8A72-866F2ElED55F} 0.000000 D-Link_ed:3b:c6 -> Broadcast ARP Who has 192.168.100.40? Tell 192.168.100.5 0.000026 D-Link_ee:7e:53 -> D-Link_ed:3b:c6 ARP 192.168.100.40 is at 00:05:5d:ee:7e:53 0.000066 D-Link_ee:7e:53 -> D-Link_ed:3b:c6 ARP 192.168.100.40 is at 00:05:5d:ee:7e:53 10.089720 00000000.00055dee7e53 -> 00000000.ffffffffffff IPX SAP General Response 10.089763 00000000.00055dee7e53 -> 00000000.ffffffffffff IPX SAP General Response Tento vypis zase ukazuje pouziti filtru TSharku pro cteni к vystupu datovych paketu protokolu Tel- net ze souboru nazvaneho capture. C:\Program Fi1es\Wireshark>TShark -r capture -R "telnet" 7 10.071157 192.168.100.122 -> 192.168.100.132 TELNET Telnet Data ... 8 10.071464 192.168.100.132 -> 192.168.100.122 TELNET Telnet Data ... 9 10.071515 192.168.100.132 -> 192.168.100.122 TELNET Telnet Data ... 11 10.076114 192.168.100.132 -> 192.168.100.122 TELNET Telnet Data ... 12 10.076155 192.168.100.132 -> 192.168.100.122 TELNET Telnet Data ... 14 10.089546 192.168.100.122 -> 192.168.100.132 TELNET Telnet Data ... 15 10.089672 192.168.100.132 -> 192.168.100.122 TELNET Telnet Data ... V dalsim vypisu vidime pfiklad pouziti TSharku ke ctem souboru zachycenych dat ve formatu libp- cap nazvaneho capture_2 a jejich vystup do souboru s nazvem netmon_output ve formatu Microsoft Network Monitor 2.x; tento pfikaz negeneruje zadny vystup. VSimnete si, ze pro provedeni tohoto ukonu Ize pouzit i pfikaz editcap, jak uvidime dale v teto kapitole. C:\Program Fi1es\Wireshark>tshark -r capture2 -w netmon_output -F netmon2 Statistiky TSharku At’ uz se zabyvate fesenim problemu na siti, identifikaci pfipadnych utoku nebo ladenim vykonu sifo- vych linek, ziskani statistickych informaci patfi к beznym ukonum. S vyuzitim techto statistickych dat muzeme zamefit nasi pozornost na uzsi spektrum protokolu a vymeny dat, namisto vyhodno- covani obrovskych kvanl paketu. Nastesti umi TShark shromazdbvat a zobrazovat statisticke informace pro aktualne zachytavane pakety i pakety ulozene v souboru a takto dodat zakladni analyticke informace a podrobne informa- ce о protokolech. S pouzitim pfiznaku z muzete specifikovat jednu nebo vice podporovanych voleb statistickych pfehledu. Format volby statistickych prehledu pouziva tuto konvenci: -z major name, minor name, option(s), filter V tomto pfikladu, kde -z pfedstavuje volbu TSharku v pfikazove fadce a sdeluje TSharku, aby oceka- val volby pro pfehled statistik, jsou volby major name a minor name jednemi z nekolika dostupnych voleb pro pfehled statistik. Za nazvem pfehledu minoritnich statistik nasleduie jedna nebo vice voleb
TShark 407 specilickych pro vybrane volby statistik. Na konci kazde volby pro statisticke pfehledy muzete zadat fetezec filtru, ktery zpusobi, ze statisticky pfehled bude pouzit pouze na pakety, jez vyhovuji podmin- kam zadaneho filtru. Od verze Wiresharku 0.99.4 je dostupnych 30 jedinecnych voleb pro statisticke pfehledy. V nasledujici sekci najdete dukladne vysvetleni nekolika nejcasteji pouzivanych voleb. Tip: Ve vychozim nastaveni TShark tiskne jednofadkovy souhrn pro kazdy obdrzeny paket. Pri prozkoumani statistickych informaci pomoci volby -z muzete tyto informace potladt a zobrazit pouze statisticky piehled take pomoci volby -q. Statistiky hierarchie protokolu Syntaxe: -i. io,phs[,filter] Popis: Volba statistiky hierarchie protokolu (PHS) poskytuje souhrnny pfehled protokolu identi- fikovanych v zachycenych paketech a pocet paketu a bajtu pro kazdy protokol. Volitelne muzete uvest zobrazovaci filtr pro pfehled hierarchie protokolu a statistik provozu pro identifikovane sku- piny ramcu. Pfiklad: Tento pfiklad ukazuje pouziti statistickych funkci TSharku pro zobrazeni pfehledu vsech bajtu a ramcu pro kazdy protokol zjisteny v prubehu ziveho zachytavani dat na prvnim dostupnem rozhrani, pfi zakazu pfekladu nazvu a vystupu souhrnu paketu, spolu s pfehledem shromazdenych statistik po ukonceni zachytavani pomoci kombinace klaves ( trl+C. C:\Program Fi1es\Wireshark>tshark -nqz io.phs <ctrl -c> Protocol Hierarchy Statistics Filter: frame eth ip udp dns data i sakmp tcp http 11c i px i pxsap frame frames:560 bytes:115233 frames:560 bytes:115233 frames:558 bytes:115005 frames:53 bytes:10383 frames:21 bytes:3215 frames:8 bytes:496 frames:24 bytes:6672 frames:505 bytes:104622 frames:107 bytes:81798 frames:2 bytes:228 frames:2 bytes:228 frames:2 bytes:228 Statistiky protokolu podle intervalu Syntaxe: -z io,stat,interval],filter][.filter][,filter'... Popis: Statistiky protokolu s pouzitim volby interval poskytuji pfehled souhrnu poctu ramcu a baj- tu zaznamenanych v souboru zachycenych dat pro kazde zadane trvani intervalu. Interval musi byt zadan jako doba trvani ve vtefinach, af uz jako cele vtefiny nebo jejich zlomky. Vystup statistickeho pfehledu bude obsahovat jeden nebo vice sloupcu; standardne bez urceneho zobrazovaciho liltru, prvni sloupec bude vyjadrovat statistiky pro cely obsah zachycenych paketu. Pokud je zadan jeden
408 Kapitola 9: Dalsi programy dodavane s Wiresharkem nebo vice zobrazovacich filtru, vysledky kazdeho z nich budou zobrazeny v prvnim a nasledujicich sloupcich. Takto muzete rychle prozkoumat povahu datoveho provozu v celem souboru zachycenych paketu a vysledky jednoho nebo vice zobrazovacich filtru. Volba statistik protokolu podle intervalu muze take poskytovat pfehled statistik na zaklade vypo- ctu, jako COUNT(), SUM(), MIN(), MAX() a AVG() s pouzitim nasledujicich konvenci na miste zobrazovaciho filtru: [COUNT|SUM|MIN|MAX|AVG](<field>Xfilter> kde <field> pfedstavuje nazev zobrazeneho pole, na ktere chcete pouzit vypocet, a <filter> udava zobrazovaci filtr, ktery obsahuje uvedeny nazev pole. Vsimnete si, ze muzete provadet vypocty pouze na polich, ktera obsahuji hodnoty integer, nebo na polich relativniho casu, pficemz zobrazovaci filtr musi obsahovat nazev pole v syntaxi filtru. Pfiklad: Nasledujici pfiklad ukazuje statisticky prehled Tsharku podle intervalu pfi cteni ze soubo- ru zachycenych paketu s nazvem Kismet-Sep-06-2005.dump v petiminutovych (300 vtefin) inter- valech pro cely soubor zachycenych dat (oznaceny globalne platnym zobrazovacim filtrem frame) a vysledky zobrazovaciho filtru ip.addr eq 10.18.129.130, pfi soucasnem potlaceni standardniho zobrazeni na vystup. C:\>tshark -r Kismet-Sep-06-2005.dump -z io,stat,300,"frame","ip.addr eq 10.18.129.130" -q 10 Statistics Interval: 300.000 secs Column #0: frame Column #1: ip.addr eq 10.18.129.130 | Column #0 | Column #1 Time (frames | bytes (frames | | bytes 000.000-300.000 82 5874 0 0 300.000-600.000 248 18104 8 928 600.000-900.000 1171 86793 9 1044 900.000-1200.000 1247 93774 10 1160 1200.000-1500.000 1377 102314 6 696 1500.000-1800.000 2128 819636 4 464 1800.000-2100.000 1357 102840 8 928 2100.000-2400.000 1587 116295 10 1160 2400.000-2700.000 1565 179061 2 232 2700.000-3000.000 1450 98959 7 812 3000.000-3300.000 1436 . 101291 4 464 3300.000-3600.000 1826 218948 7 812 3600.000-3900.000 517 48140 0 0 Tip: Pfi specifikaci filtru pomoci nastroju pfikazoveho fadku pouzijte textove operatory pro porov- nani (eq, ne, It, gt). Takto zabranite shellu, aby interpretoval meta-znaky jako vykficnik apod. Dalsi pfiklad statistickych pfehledu podle intervalu poskytuje pfehled о prumerne velikosti ramce (s pouzitim zobrazovaciho filtru frame.pkt.len), nejmensi velikosti ramce a nejvetsi velikosti ramce v petiminutovych intervalech.
TShark 409 C:\>tshark -r wireless-rwc-1.cap -qz io.stat,300,AVG(frame.pkt_len)frame.pkt_len,MIN(frame.pkt_len )frame.pkt_len,MAX(frame.pkt_len)frame.pkt_len 10 Statistics Interval: 300.000 secs Column #0: AVG(frame.pkt_len)frame.pkt_len Column #1: MIN(frame.pkt_len)frame.pKt_len Column #2: MAX(frame.pkt_len)frame.pkt_len | Column #0 | Column #1 | Column #2 Time | AVG | MIN | MAX 000.000-300.000 71 58 82 300.000-600.000 73 58 116 600.000-900.000 74 54 608 900.000-1200.000 75 58 388 1200.000-1500.000 74 58 132 1500.000-1800.000 385 58 1532 1800.000-2100.000 75 58 1432 2100.000-2400.000 73 58 388 2400.000-2700.000 114 58 1532 2700.000-3000.000 68 58 116 3000.000-3300.000 70 58 360 3300.000-3600.000 119 52 1532 3600.000-3900.000 93 58 336 Statistiky konverzaci Syntaxe: -z conv,type[,filter] Popis: Volba pro tvorbu statistickych pfehledu konverzaci zobrazi konverzaci mezi stanicemi v souboru zachycenych dat urciteho typu, ktera vyhovuji zadanemu zobrazovacimu filtru, nebo veskery provoz v pripade, ze je zobrazovaci filtr vynechan. V soucasnosti jsou podporovany tyto typy konverzaci: ♦ eth Ethernet ♦ fc Fiber channel ♦ /dd/FDDI ♦ ip Adresy IP ♦ ipx Adresy IPX ♦ tcp Рагу soketu TCP/IP ♦ tr Token ring ♦ udp Рагу soketu UDP/TP Tato volba je uzitecna pro vyhodnoceni konverzaci mezi stanicemi na siti. Je to obvykla technika pro analyzu provozu a vyhledavani znamek aktivit cervu, nebot’ infikovana stanice bude casto skenovat velke mnozstvi hostitelu a zjist'ovat, ktere z nich je mozno infikovat, pficemz neinfikovane stanice omezuji sve konverzace na nekolik malo hostitelu. Pfiklad: Tento pfiklad cte ze souboru zachycenych dat s nazvem defcon.dump a sbira statistiky kon- verzaci IP s pouzitim zobrazovaciho filtru ip.addr eq 216.250.64.68, ktery omezi statistiky na konver- zace z tohoto hostitele (vystup toho pfikazu byl zbaven nadbyte^nych mezer).
410 Kapitola 9: Dalsi programy dodavane s Wiresharkem $ tshark -r defcon.dump -nqz conv,ip,"ip.addr eq 216.250.64.68” IPv4 Conversations Fi1 ter:i p.addr eq 216.250.64.68 1 1 1 - ) 1 1 Total | |Frames Bytes| (Frames Bytes| (Frames Bytes 216.250.64.68 > 192.168.2.215 85 8887 ‘ 18 19007 183 27894 216.250.64.68 > 192.168.2.237 69 7076 i 12 8555 111 15631 216.250.64.68 192.168.2.23 60 6064 4 795 64 6859 216.250.64.68 192.168.2.212 51 4687 2 453 53 5140 216.250.64.68 > 192.168.0.173 35 3859 ] 16 3099 51 6958 216.250.64.68 192.168.2.149 19 1791 >6 4493 45 6284 216.250.64.68 > 192.168.2.102 18 2933 ; >0 3852 38 6785 216.250.64.68 192.168.1.120 29 2657 9 1257 38 3914 216.250.64.68 > 192.168.2.72 9 864 ; >2 5472 31 6336 216.250.64.68 192.168.0.153 20 1871 9 3658 29 5529 216.250.64.68 192.168.41.150 25 2348 348 28 2696 216.250.64.68 > 192.168.2.248 12 2370 ] 15 3459 27 5829 216.250.64.68 > 192.168.2.192 14 1454 1 13 2460 27 3914 216.250.64.68 > 192.168.2.185 10 1087 1 L7 5907 27 6994 216.250.64.68 > 192.168.2.103 16 1690 1 L0 1759 26 3449 216.250.64.68 > 192.168.3.2 19 1735 6 1973 25 3708 216.250.64.68 192.168.2.7 13 1208 ] LI 4155 24 5363 216.250.64.68 > 192.168.0.127 11 1123 ] 12 2094 23 3217 216.250.64.68 192.168.2.121 18 1752 5 1150 23 2902 Rozdeleni delky paketu Syntaxe: -z plen,tree[,/i7ter] Popis: Volba pro pfehled rozlozeni delky paketu identifikuje rozlozeni ramcu v souboru zachyce- nych dat podle 20bajtovych pfirustku, pficemz urcuje pomer a procentualni podil kazdeho paketu skupiny. Tato funkce muze byt uzitecna pfi feseni problemu se siti, kde velka kvanta malych paketu mohou na sifova zafizeni generovat pfilisnou zatez, coz vede ke snizeni propustnosti. Pfiklad: Nasledujici pfiklad cte ze souboru zachycenych dat s nazvem del 1.dump a generuje pfehled rozlozeni velikosti paketu. Tento konkretni soubor zachycenych dat ma neobvykle velke mnozstvi ramcu dlouhych 40 az 79 bajtu, coz by melo zajistit dalsi analyzu. C:\>tshark -r dell.dump -nqz plen.tree Packet Length value rate percent Packet Length 0-19 20-39 40-79 80-159 160-319 320-639 640-1279 1280-2559 664070 0 0 494456 114463 16117 13583 3597 21854 0.001293 0.000000 0.000000 0.000962 0.000223 0.000031 0.000026 0.000007 0.000043 0.00% 0.00% 74.46% 17.24% 2.43% 2.05% 0.54% 3.29%
TShark 411 2560-5119 5120- 0.000000 0.000000 0.00% 0.00% 0 0 Strom cilu Syntaxe: -z dests, tree filter Popis: Volba statistik stromu cilu identifikuje pocet ramcu, pomer dat a informace protokolu trans- port™ vrstvy pro urceny soubor zachycenych dat. Tento pfehled umoznuje rychle zhodnoceni akti- vity v souboru zachycenych dat a charakteristiky povahy datoveho provozu к cilovym hostitelum. Pnklad: Tento pnklad cte ze souboru zachycenych dat s nazvem http.cap a identifikuje cilove adresy, transport™ protokoly a procentualni podil sit’ove aktivity podle cilovych adres. C:\>tshark -r http.cap -nqz dests.tree Destinations value rate percent Destinations 43 145.254.160.237 20 TCP 19 80 19 UDP 1 53 1 65.208.228.223 18 TCP 18 3372 18 145.253.2.203 1 UDP 1 3009 1 216.239.59.99 4 TCP 4 3371 4 0.001415 0.000658 0.000625 0.000625 0.000033 0.000033 0.000592 0.000592 0.000592 0.000033 0.000033 0.000033 0.000132 0.000132 0.000132 46.51% 95.00% 100.00% 5.00% 100.00% 41.86% 100.00% 100.00% 2.33% 100.00% 100.00% 9.30% 100.00% 100.00% Sloupce souhrnu paketu Syntaxe: -z proto, cohnfo,filter,field Popis: Statistiky sloupce pro souhrn paketu umoznuji pfidat jakekoliv pole protokolu Wiresharku do jednofadkoveho vystupu. Standardne TShark zobrazi nekolik poli v jednofadkovem vystupu pfi zpracovani paketu. Potfebujete-li zobrazit dal§i pole, muzete urcit dalsi pole, jejichz pfehled bude generovan take, coz nam dava ohromnou flexibilitu pfi vytvafeni pfehledu, ktere mohou byt zasilany dalsim skriptovacim nastroium pro extrakci a pouziti dat pfehledu. Tento parametr muze byt uveden v phkazovem fadku vicekrat pro pfidani libovolneho mnozstvi dalsich sloupcu. V§imn£te si, ze je nutne zaclenit pole, ktere chcete pfidat к vystupu souhrnu paketu v fetezci zobrazovaciho filtru. Pfiklad: Nasledujici pnklad cte data ze souboru zachycenych dat s nazvem http.cap a poskytuje pfe- hled ve forme standardniho souhrnneho vystupu. C:\>tshark -r http.cap -n 1 0.000000 145.254.160.237 -> 65.208.228.223 3372 > 80 [SYN] Seq=0 Len=0 MSS=1460 2 0.911310 65.208.228.223 -> 145.254.160.237 80 > 3372 [SYN. ACK] Seq=0
412 Kapitola 9: Dalsi programy dodavane s Wiresharkem Ack=l Win=5840 Len=0 MSS-1380 3 0.911310 145.254.160.237 -> 65.208.228.223 3372 > 80 [ACK] Seq=l Ack=l Win=9660 Len=0 Dalsi pfiklad pouziva sloupce souhrnu paketu pro pfidani identifikace IP a hodnoty time-to-live do souhrnneho vystupu. C:\>tshark -r http.cap -nz proto.colinfo,ip.ttl.ip.ttl -z proto,coli nfо.i p.i d.i p.i d 1 0.000000 145.254.160.237 -> 65.208.228.223 3372 > 80 MSS=1460 ip.id == 0x0f41 ip.ttl == 128 2 0.911310 65.208.228.223 -> 145.254.160.237 80 > 3372 Ack=l Win=5840 Len=0 MSS=1380 ip.id == 0x0000 ip.ttl == 47 3 0.911310 145.254.160.237 -> 65.208.228.223 3372 > 80 Win=9660 Len=0 ip.id == 0x0f44 ip.ttl == 128 [SYN] Seq=0 Len=0 [SYN, ACK] Seq=0 [ACK] Seq=l Ack=l Statistiky SIP Syntaxe: -z sip,stat»/i7ter Popis: Volba pro pfehled statistik protokolu Session Initialization Protocol (SIP) oznaci veskery pro- voz protokolu SIP v zachycenych datech a poskytne pfehled о poctu zaslanych a opakovane zaslanych zprav, stavovych kodech odpovedi protokolu SIP a pozorovanych zpravach protokolu SIP. Tato volba prehledu je uzitecna pro zhodnoceni aktivity na sitich Voice over IP (VoIP), ktere pouzivaji protokol SIP pro zahajeni i ukonceni hovoru. Standardne jsou statistiky hlaseny о vsech aktivitach protokolu SIP v souboru zachycenych dat; vsimnete si, ze muzete zadat zobrazovaci filtr pro omezeni hlaseni statistik na jedineho hostitele (napf. ip.addr eq 192.168.1.1). Pfiklad: Nasledujici pfiklad cte data ze souboru zachycenych dat s nazvem sipl.dump a poskytuie pfehled pozorovanych statistik protokolu SIP pro vsechny hostitele: C:\>tshark -r sipl.dump -nqz sip,stat = = = — = = = ~ ——! Г . — — J-L— ~- - ' — — — —- —- —- — — ——_ SIP Statistics Number of SIP messages: 37 Number of resent SIP messages: 0 * SIP Status Codes in reply packets SIP 407 Proxy Authentication Required SIP 200 OK : 10 Packets SIP 100 Trying : 4 Packets SIP 180 Ringing : 2 Packets * List of SIP Request methods INVITE : 9 Packets BYE : 2 Packets ACK : 9 Packets Packets Cftace protokolu H.225 Syntaxe: -z h225,counter[,filter] Popis: Site VoIP, ktere pouzivaji protokol H.323, pouzivaji protokol H.225 pro navazovani hovoru, ovladani (signalizaci), registraci, pfijimani a stavove funkce (RAS). Statistiky citacu protokolu H.225
TShark 413 pocitaji zpravy protokolu 1L225 v zachycenych datech a pfidinne kody asociovane se zpravami. Stan- dardne budou pro hlaseni pouzity vSechny zpravy protokolu H.225, ale volitelne muzete zadat zob- razovaci filtr, ktery omezi analyzu na urcitou skupinu paketu. Pnklad: Nasledujici pfiklad cte data z urceneho komprimovaneho souboru zachycenych dat a po- skytne pfehled statistik vypozorovanych pro protokol H.225. C:\>tshark -r rtp_example.raw.gz -nqz h225,counter ==—=—========= H225 Message and Reason Counter ===-============«= RAS-Messages: Call Signalling: setup : 1 cal 1 Proceeding : 1 connect : 1 alerting : 1 H.225 Service Response Time (Doba odezvy sluzby) Syntaxe: -z h225,srt[.filter] Popis: Dalsi z fady mechanismu pro hlaseni statistik protokolu H.225, volba statistik protokolu H.225 Service Response Time (SRT), poskytuje pfehled typu zprav RAS; minimalni, maximalni a prumerne hodnoty SRT; pocet otevrenych pozadavku (ktere jeste neobdrzely odpoved); zahozene pozadavky a duplicitni zpravy. Kazda z techto statistik najde uplatneni pfi analyze aktivity na sitich VoIP pro identifikaci vzorku provozu a metrik, ktere by mohly negativne ovlivnit sluzby VoIP. Media Gateway Control Protocol Round Trip Delay Syntaxe: -z mgcp,rtd[,filter] Popis: Protokol Media Gateway Control Protocol (MGCP) se pouziva na sitich VoIP jako prostfednik mezi tradicnimi telefonnimi okruhy a datovymi pakety. S pouzitim teto volby statistickych pfehledu muzete identifikovat dobu zpozdeni odezvy (RTD - Round Trip Delay) mezi stanicemi a serverem MGCP, duplicitni zadosti a odpovedi, zadosti na neodpovidajici servery a odpovedi, ktere neodpo- vidaji zadnym zadostem. SMB Round Trip Data Syntaxe: -z smb,rtt[,/i7ter] Popis: Protokol Server Message Block (SMB) je mechanismem pro souborove systemy spojene site- mi, vetsinou pouzivane klienty s operacnim systemem Microsoft Windows. S pouzitim volby statis- tickych sestav SMB Round Trip Data (RTD) muzeme vyhodnocovat schopnost reakce souborovych serveru pouzivajicich operacni system Windows a dalsich zdroju SMB (vcetne nekterych sit’ovych tiskaren) pro identifikaci reakCnich schopnosti serverovych zdroju. Pnklad: V tomto prikladu je TSharkem nacten soubor zachycenych dat rtl-fileshare.dump pro zob- razeni vystupni statisticke sestavy SMB RTT. Vsimnete si, ze hodnota Max RTT pro zadosti SMB Trans v tomto vystupu muze znamenat pretizeny zdroj serveru, ktery neni schopen poskytnout odpo- ved’ na pozadavek rychleji.
414 Kapitola 9: Dalsi programy dodavane s Wiresharkem $ tshark -r rtl-fileshare.dump -nqz smb.rtt SMB RTT Statistics: Fi1 ter: Commands Open Cl ose T rans Open AndX Read AndX Tree Disconnect Negotiate Protocol Session Setup AndX Logoff AndX Tree Connect AndX NT Create AndX Calls 1 4 5 1 309 7 8 16 12 7 4 Min RTT 0.00186 0.00023 0.00190 0.00450 0.00025 0.00117 0.00026 0.00028 0.00074 0.00081 0.00029 Max RTT 0.00186 0.00176 13.69178 0.00450 0.01865 0.14601 0.07451 0.01928 0.00872 0.00399 0.00270 Avg RTT 0.00186 0.00066 2.76430 0.00450 0.00412 0.02324 0.02226 0.00578 0.00258 0.00190 0.00132 Transaction2 Commands Calls Min RTT FIND_FIRST2 1 0.19993 QUERY_FS_INFO 2 0.00023 QUERY_FILE.INFO 2 0.00040 NT Transaction Commands Calls Min RTT Max RTT Avg RTT 0.19993 0.19993 0.00248 0.00135 0.00551 0.00296 Max RTT Avg RTT Zjistbvani nazvu identifikatoru zabezpeceni protokolu SMB Syntaxe: -z smb,sids Popis: Dalsi funkci pro analyzu protokolu SMB je schopnost pouzivani technik pro zjisteni identi- fikatoru zabezpeceni (SID) a s nirni asociovanych nazvu. Tato funkce muze byt uzitecna pfi prova- deni auditu zabezpeceni sitoveho provozu v sitich Windows, kde pfedstavuje informace, jez mohou byt pro pfipadneho utocnika velice uzitecne, konkretne pfi pokusu о vydavani se za legitimniho uzivatele systemu. Diky citlive povaze teto funkce neni funkce zjistovani identifikatoru zabezpeceni protokolu SMB standardne povolena. Abyste mohli tuto volbu statistickych sestav pouzit v pfikazovem radku, musi- te take povolit ve Wiresharku nastaveni Snoop SI D klepnutim na Edit -> Preferences -> Protocols -> SMB -» Snoop SID to name mappings nebo zadejte toto nastaveni v pfikazovem fadku pomoci pn’kazu -o smb.sid_name_snooping:TRUE. Statistiky protokolu BOOTP Syntaxe: -z bootp,stat, [filter] Popis: TShark umi poskytovat statisticke pfehledy protokolu BOOTP pouzivaneho sluzbou DHCP, vcetne zprav DHCP a poctu paketu kazdeho typu. Tyto informace mohou byt uzitecne pfi feseni problemu se serverem sluzby DHCP nebo pfi diagnostice nezadoucich (tedy neautorizovanych) ser- veru DHCP, ktere se mohou na vasi siti vyskytnout. Pfiklad: Nasledujici pfiklad cte data ze souboru zachycenych dat a urcuje statistiky protokolu BOOTP v souboru, pf icemz dochazi к identifikaci typu zprav serveru DHCP a poctu paketu. Vsimnete si carky za klicovym slovem stat, ktera je povinna i pfesto, ze v tomto pfikladu nezadavdme zobrazovaci filtr.
TShark 415 $ tshark -nqr rtl-fileshare.dump -z bootp.stat. BOOTP Statistics with filter BOOTP Option 53: DHCP Messages Types: DHCP Message Type Packets nb Inform 74 ACK 275 Release 10 NAK 82 Decline 25 Request 1255 Discover 1811 Offer 279 Statistiky protokolu HTTP Syntaxe: -z http,stat, [niter] Popis: TShark umi poskytovat take statisticke pfehledy pro transakce protokolu HTTP, pficemz iden- tifikuje kody odpovedi a metody pozadavku nalezene v souboru zachycenych dat. Tato funkce najde uplatneni zejmena pfi zj'St’ovani vyuziti weboveho serveru a identifikaci chyb vracenych serverem. Pfiklad: Nasledujici pfiklad cte data ze souboru zachycenych dat a identifikuje vypozorovane statis- tiky protokolu HTTP. Vsimnete si carky za klicovym slovem stat, ktera je povinna i pfesto, ze v tomto pfikladu nezadavame zobrazovaci filtr. $ tshark -r Kismet-Aug-01-2002-2.dump -nqz http,stat, HTTP Statistics * HTTP Status Codes in reply packets HTTP 408 Request Time-out HTTP 301 Moved Permanently HTTP 302 Moved Temporarily HTTP 304 Not Modified HTTP 200 OK HTTP 206 Partial Content HTTP 100 Continue HTTP 403 Forbidden HTTP 404 Not Found * List of HTTP Request methods SEARCH 336 GET 1447 POST 8 HEAD 2 Statistiky stromu protokolu HTTP Syntaxe: -z http,tree[,filter] Popis: Jako doplnek funkce statistickych pfehledu protokolu HTTP umi TShark pfedstavit aktivity protokolu HTTP take formou stromove struktury, kdy identifikuje typy paketu zadosti a odpove- di, mnozstvi kazdeho typu, datovy tok a celkovy procentualni podil vsech typu zadosti a odpove-
416 Kapitola 9: Dalsi' programy dodavane s Wiresharkem di. Tato funkce ie take uzitecna v pfipade zjist’ovani vyuziti weboveho serveru a muze poslouzit pfi identifikaci pfipadnych skodlivych aktivit, ktere pouzivaji nepodporovane nebo rozdelene zadosti a odpovedi protokolu HTTP. Pfiklad: Nasledujici pfiklad cte data ze souboru ulozenych dat a zobrazi statisticky pfehled proto- kolu HTTP ve forme stromove slruktury. C:\>tshark -r Kismet-Aug-01-2002-2.dump -nqz http,tree HTTP/Packet Counter value rate percent Total HTTP Packets HTTP Request Packets SEARCH GET POST HEAD HTTP Response Packets ???: broken lxx: Informational 100 Continue 2xx: Success 200 OK 206 Partial Content 3xx: Redirection 304 Not Modified 302 Found 301 Moved Permanently 4xx: Client Error 408 Request Time-out 404 Not Found 403 Forbidden 5xx: Server Error Other HTTP Packets 8067 1793 336 1447 8 2 1296 0 121 121 689 685 4 479 452 24 7 4 1 2 0 4978 0.001504 0.000334 0.000063 0.000270 0.000001 0.000000 0.000242 0.000000 0.000023 0.000023 0.000128 0.000128 0.000001 0.000089 0.000084 0.000004 0.000001 0.000001 0.000001 0.000000 0.000000 0.000000 0.000928 22.23% 18.74% 80.70% 0.45% 0.11% 16.07% 0.00% 9.34% 100.00% 53.16% 99.42% 0.58% 36.96% 94.36% 5.01% 0.63% 0.54% 57.14% 14.29% 28.57% 0.00% 61.71% Statistiky zadosti protokolu HTTP Syntaxe: -z http_req,tree[,/z7fer| Popis: Pokud si prejete ziskat о aktivitach serveru HTTP podrobnejsi informace, muzete pouzit volbu TSharku pro ziskani statistickych pfehledu zadosti protokolu HTTP, ktera identifikuje vsech- ny adresy URL v zadostech protokolu HTTP pro kazdy server HTTP v souboru zachycenych dat, a to vcetne poctu ramcu, datoveho toku a procentualniho podilu zadosti. Tyto informace jsou uzitec- ne pro identifikaci casto pozadovanych zadosti pro specificky server (nejcasteji pozadovane zadosti budou mit nejvyssi procentualni podil pro kazdy server). Tato volba je casto pouzivana spolecne se zobrazovacim filtrem к vyhodnoceni aktivit jednoho nebo vice hostitelu, ale miize byt take pouzita bez zobrazovaciho filtru pro identifikaci serveru a adres URL pozadovanych klientskymi systemy ve vasi organ izaci. Pfiklad: Nasledujici pfiklad cte ze souboru zachycenych dat a formou stromove struktury zobrazuje pfehled statistik zadosti protokolu HTTP, pficemz omezuje analyzu na provoz, ktery je bud’zaslan, nebo obdrzen od hostitele s adresou IP 66.207.160.150.
TShark 417 C:\>tshark -r Kismet-Aug-01-2002-2.dump -nqz http_req.tree,"ip.addr eq 66.207.60.150" HTTP/Requests value rate percent HTTP Requests by HTTP Host 35 www.megatokyo.com 35 /partsZmt2-head-top.gif 3 /parts/mt2-merchandise.gif 2 /parts/mt-shadow-right.gif 8 /parts/mt-glow-top.gif 4 /parts/mt-Ыk_bar-credits.gif 14 /parts/pix-dark.gif 1 /parts/mt-bottom-prev.gif 2 /parts/mt-glow-bottom.gif 1 0.000757 0.000757 0.000065 0.000043 0.000173 0.000087 0.000303 0.000022 0.000043 0.000022 100.00% 8.57% 5.71% 22.86% 11.43% 40.00% 2.86% 5.71% 2.86% Dalsi informace Rozbor protokolu kompatibilni s XML Novou funkci TSharku ve verzi 0.10.0 je schopnost zobrazeni vystupu ve formatu PDML pomoci volby -T pdml. Skupina Politecnico Di Torino, znama tvorbou Analyzeru a Win- Pcapu, vytvorila specifikaci PDML. PDML je jednoduchy jazyk pro formatovani informaci vztahujicich se к dekodovanym paketum. Data ve formatu PDML produkovana TSharkem se trosku list od specifikaci a nejsou citelna Analyzerem. Vystup TSharku ve formatu PDML obsahuje nasledujici znacky: ♦ <pdml> - tento soubor PDML je ohranicen znackami <pdml> a </pdml>. Tato znafka nema zddne atributy. Pfiklad: <pdml version="0" creator="Wireshark/0.10.0> ♦ <packet> - soubor PDML muze diky elementu <packet> obsahovat vice paketu. Tato znacka nema zadne atributy. ♦ <proto> - paket muze obsahovat vice protokolu ozna^enych elementem <proto>. Znac- ka <proto> muze mit nasledujici atributy: name - nazev pole zobrazovaciho filtru. showname - oznaceni pouzivane pro popis protokolu ve stromu protokolu. pos - pocatedni posun v ramci dat paketu urcujici zacatek protokolu. size - podet oktetu v datech paketu pokrytych danym protokolem. Pfiklad: <proto пате="'р" showname="Internet Protocol, Src Addr: 192.168.100.132 (192.168.100.132), Dst Addr: 192.168.129.201 (192.168.129.201)" size="20" pos="14"> ♦ <field> - protokol muze obsahovat vice pol1* oznacenych elementem <field>. Znacka <field> muze mit nasledujici atributy: name - nazev pole zobrazovaciho filtru.
418 Kapitola 9: Dalsi programy dodavane s Wiresharkem showname - oznacem pouzivane pro popis protokolu ve stromu protokolu. pos - pocatecni posun v ramci dat paketu urcujici zacatek pole. i size - pocet oktetu v datech paketu pokrytych danym polem. value - aktualni data paketu pokryta danym polem (v hexadecimalnim tvaru). show - znazorneni dat paketu tak, jak se objevi ve zobrazovacim tiltru. PMklad: <field name="ip.version" showname=”Version: 4" j size="l" pos="14" show="4" value="45"/> Ve slozce Wireshark-0.10.0а/tools najdete dva nastroje, ktere vam pomohou pfi parsovani vystupu do formatu PDML. WiresharkXML.py je modul jazyka Python pouzivany pro cteni I souboru PDML a volani urcenych funkci zpetneho volant Msnchat je ukazkovy program, 1 ktery pouziva WiresharkXML pro parsovani vystupu do PDML pro chatove konverzace pro- gramu MSN. Jako vstup pfijima jeden nebo vice souboru zachycenych dat, vyvola TShark s urcitym filtrem pro cteni a vytvofi vystup konverzace ve formatu HTML. Vystup pouziti programu msnchat vypada takto: [root@localhost tools]# ./msnchat -h msnchat [OPTIONS] CAPTURE_FILE [...] -o FILE name ot output file -t TSHARK location of TShark binary -u USER name for unknown user Nasledujici prikaz Ize pouzit pro cteni a parsovani souboru ulozenych dat s nazvem msn_ testl. [root@localhost tools]# ./msnchat -o outfile msn .testl Pfi otevfeni vystupu v Hl ML ve webovem prohlize^i vypada soubor takto: -— New Conversation @ Dec 30. 2003 14:21:08 - — (14:21:08) Luke: hello (14:21:22) Unknown: how are you? (14:21:53) Luke: are we meeting at noon? (14:22:03) Unknown: yes. at the secret location. (14:22:11) Luke: great, see you then (14:22:17) Unknown: ok (14:22:18) Unknown: Dye Neznamemu uzivateli (ve vypisu jako „Unknown”) muzete pfiradil imeno pomoci pfikazu: [root@localhost tools]# ./msnchat -o outfile -u Leia msn_testl Vystup v HTML by potom vypadal takto: -— New Conversation @ Dec 30, 2003 14:21:08 - — (14:21:08) Luke: hello (14:21:22) Leia: how are you? (14:21:53) Luke: are we meeting at noon? (14:22:03) Leia: yes, at the secret location. (14:22:11) Luke: great, see you then (14:22:17) Leia: ok (14:22:18) Leia: bye Kod programu msnchat vam da dobrou pfedstavu о tom, jak napsat vlastni skript pro parso- vani souboru zachycenych dat, manipulaci s daty PDML a tisk vystupu ve formatu HTML.
Editcap 419 Editcap Editcap je aplikace pouzivana pro odstraneni vybranych paketu ze souboru a pro preklad formatu souboru zachycenych dat. Neumi zachytavat ziva data ze site; pouze Je cte ze souboru a potom ukla- da nektere nebo vsechny pakety do noveho souboru zachycenych dat. Editcap umi cist stejne forma- ty souboru jako Wireshark a standardne zapisuje soubory ve formatu libpcap. Take umi zapisovat data do standardnich a upravenych verzi formatu libpcap, Sun snoop, Novell LANalyzer, Networks Associates Sniffer, Microsoft Network Monitor, Visual Network traffic capture, Accellent 5Views cap- ture a Network Instruments Observer version 9. Editcap umi zjistit typ nacitaneho souboru a umi cist take soubory komprimovane programem gzip. Standardne editcap zapisuje vsechny pakety ze souboru zachycenych dat do vystupniho souboru. Pokud zadate seznam cisel paketu v prikazovem fadku, tyto pakety nebudou zapsany do vystupni- ho souboru. Volba -r zpusobi obraceny postup, a tedy zapsani specifikovanych paketu do vystupni- ho souboru. Muzete take zadat rozsah paketu, ktere budou zahrnuty nebo \ylouceny z vystupu do souboru. I Nasledujici vypis ukazuje vystup programu editcap. I C:\Program Fi 1 es\Wireshark>editcap [ Usage: editcap [-r] [-h] [-vl [-T <encap type>J [-E <probabi1ity>] [-F <capture type>] [-s <snaplen>] [-t <time adjustments [ [-c <packets per file>] [ <infile> <outfile> [ <record#>[-<record#>] ... ] where I -c <packets per file> If given splits the output to different files f -E <probabi 1 ity> specifies the probability (between 0 and 1) I that a particular byte will have an error. [ -F <capture type> specifies the capture file type to write: i libpcap - libpcap (tcpdump. Ethereal, etc.) rh6_llibpcap - RedHat Linux 6.1 libpcap (tcpdump) suse6_31ibpcap - SuSE Linux 6.3 libpcap (tcpdump) modlibpcap - modified libpcap (tcpdump) 1 nokialibpcap - Nokia libpcap (tcpdump) nseclibpcap - Nanosecond libpcap (Ethereal) [ lanalyzer - Novell LANalyzer [ ngsniffer - Network Associates Sniffer (DOS-based) i snoop - Sun snoop netmonl - Microsoft Network Monitor 1.x j netmon2 - Microsoft Network Monitor 2.x ngwsniffer_l_l - Network Associates Sniffer (Windows-based) 1.1 t ngwsniffer_2_0 - Network Associates Sniffer (Windows-based) 2.00x i nettl - HP-UX nettl trace visual - Visual Networks traffic capture 5views - Accellent 5Views capture niobserverv9 - Network Instruments Observer version 9 rf5 - Tektronix K12xx 32-bit .rf5 format i default is libpcap I -h produces this help listing. -r specifies that the records specified should be kept, not deleted, default is to delete
420 Kapitola 9: Dalsi programy dodavane s Wiresharkem -s <snaplen> specifies that packets should be truncated to <snaplen> bytes of data -t <time adjustment specifies the time adjustment to be applied to selected packets -T <encap type> specifies the encapsulation type to use: ether - Ethernet tr - Token Ring slip - SLIP ppp - PPP fddi - FDDI fddi-swapped - FDDI with bit-swapped MAC addresses rawip - Raw IP arcnet - ARCNET arcnet_linux - Linux ARCNET atm-rfcl483 - RFC 1483 ATM 1inux-atm-clip - Linux ATM CLIP lapb - LAPB atm-pdus - ATM PDUs atm-pdus-untruncated - ATM PDUs - untruncated null - NULL ascend - Lucent/Ascend access equipment isdn - ISDN ip-over-fc - RFC 2625 IP-over-Fibre Channel ppp-with-directi on - PPP with Directional Info ieee-802-11 - IEEE 802.11 Wireless LAN prism - IEEE 802.11 plus Prism II monitor mode header ieee-80?-ll-radio - IEEE 802.11 Wireless LAN with radio informati on ieee-802-ll-radiotap - IEEE 802.11 plus radiotap WLAN header ieee-802-ll-avs - IEEE 802.11 plus AVS WLAN header linux-sll - Linux cooked-mode capture frelay - Frame Relay frelay-with-directi on - Frame Relay with Directional Info chdlc - Cisco HDLC ios - Cisco IOS internal Italk - Localtalk pflog-old - OpenBSD PF Firewall logs, pre-3.4 hhdlc - HiPath HDLC docsis - Data Over Cable Service Interface Specification cosine - CoSine L2 debug log whdlc - Wellfleet HDLC sdlc - SDLC tzsp - Tazmen sniffer protocol enc - OpenBSD enc(4)-encapsulating interface pflog - OpenBSD PF Firewall logs chdlc-with-directi on - Cisco HDLC with Directional Info bluetooth-h4 - Bluetooth H4 mtp2 - SS7 MTP2 mtp3 - SS7 MTP3 irda - IrDA userO - USER 0 user! - USER 1
Editcap 421 user2 - USER 2 user3 - USER 3 user4 - USER 4 user5 - USER 5 user6 - USER 6 user7 - USER 7 user8 - USER 8 user9 - USER 9 userlO - USER 10 user'll - USER 11 userl2 - USER 12 userl3 - USER 13 userl4 - USER 14 userl5 - USER 15 Symantec - Symantec Enterprise Firewall apl394 - Apple IP-over-IEEE 1394 bacnet-ms-tp - BACnet MS/TP raw-icmp-nettl - Raw ICMP with nettl headers raw-icmpv6-nettl - Raw ICMPv6 with nettl headers gprs-llc - GPRS LLC juniper-atml - Juniper ATM1 juniper-atm2 - Juniper ATM2 redback - Redback SmartEdge rawip-nettl - Raw IP with nettl headers ether-nettl - Ethernet with nettl headers tr-nettl - Token Ring with nettl headers fddi-nettl - FDDI with nettl headers unknown-nettl - Unknown link-layer type with nettl headers mtp2-with-phdr - MTP2 with pseudoheader juniper-pppoe - Juniper PPPoE gcom-tiel - GCOM TIE1 gcom-serial - GCOM Serial x25-nettl - X25 with nettl headers juniper-mlppp - Juniper MLPPP juniper-mlfr - Juniper MLFR .juniper-ether - Juniper Ethernet juniper-ppp - Juniper PPP juniper-frelay - Juniper Frame-Relay juniper-chdlc - Juniper C-HDLC default is the same as the input file -v specifies verbose operation, default is silent A range of records can be specified as well Nasledujici volby pfikazoveho fadku se pouzivaji pro ovladam editcapu pn pfekladu dat a jejic ; vystupu, ♦ -F type - pouziva se pro nastaveni formatu vystupniho souboru zachycenych dat. Napfiklad chcete-li ulozit soubor ve formatu Sun snoop tak, aby tato data mohl Sun snoop pozdeji pfecist, pouzijte volbu -F snoop. ♦ -h - vytiskne moznosti napovedy editcapu a ukonci se.
422 Kapitola 9: Dalsi' programy dodavane s Wiresharkem ♦ -r - zpusobi, ze pakety, jejichz cisla jsou zadana v prikazovem fadku, budou zapsany do vystup niho souboru zachycenych dat. Tato akce je pfesnym opakem vychoziho chovani aplikace, kte- rym je odstraneni paketu zadanych v prikazovem fadku. Paket)’ mohou byt zadany pouze jako posloupnost ve formatu zacdtek-konec nebo jednotlive; nemohou byt oddeleny carkami. ♦ -s snaplen - nastavuje delku snimku, ktera se pouzije pfi zapisu dat do vystupniho souboru zachy- cenych dat. Pakety vetsi nez hodnota uvedena parametrem snaplen budou rozdeleny. Tato volba je uzitecna, kdy/ chcete ulozit pouze hlavicky paketu nebo pokud program, do ktereho budete importovat soubor zachycenych dat, umi cist pouze pakety urcite velikosti. ♦ -T type - nastavi typ zapouzdfeni paketu ve vystupnim souboru zachycenych dat. Vychozim typem je stejny typ zapouzdfeni jako ve vstupnim souboru. Tato volba vynuti typ zapouzdfeni urciteho typu ve vystupnim souboru; avsak hlavicky paketu budou nadale zapouzdfeny stejne jako ve vstupnim souboru. Je tomu tak kvuli tomu, ze typ zapouzdfeni je uchovavan ve forme meta-dat mimo data paketu. Typ zapouzdfeni je jedina promenna, ktera se zmeni, takze data paketu a hlavicky puvodnich paketu zustanou пегшёпёпу. ♦ -v - zpusobi, ze editcap bude v prubehu zpracovani souboru vypisovat na obrazovku ruzna hla- seni. Nasledujici pnklad je ukazkou pouziti editcapu pro pfeklad prvnich peti paketu a paketu 10, 15 a 17 ze souboru TSharku ve formatu libpcap nazvaneho capture do vystupniho souboru Sun snoop nazvaneho capture_snoop. C:\Program Fi1es\Wireshark>editcap -r -v -F snoop capture capture_snoop 1-5 10 15 17 File capture is a libpcap (tcpdump, Wireshark, etc.) capture file. Add_Selected: 1-5 Inclusi ve ... 1, 5 Add_Selected: 10 Not inclusive ... 10 Add_Selected: 15 Not inclusive ... 15 Add_Selected: 17 Not inclusi ve ... 17 Record: 1 Record: 2 Record: 3 Record: 4 Record: 5 Record: 10 Record: 15 Record: 17 Dalsi pfiklad ukazuje pouziti editcapu pro zkopirovani vsech paketu, krome paketu 5 az 120, ze sou- boru zachycenych dat ve formatu libpcap s nazvem capture do vystupniho souboru rovnez ve forma- tu libpcap s nazvem capture. out. C:\Program FilesXWireshark>editcap -v capture capture_out 5-120 File capture is a libpcap (tcpdomo, Wireshark, etc.) capture file. Add_Selected: 5-120 Inclusive ... 5, 120 Record: 1 Record: 2
Editcap____________________________________________________________ 42з > Record: 3 Record: 4 Record: 121 I Record: 122 Tento priklad ukazuje pouziti editcapu pro posun casoveho razitka kupfedu о pet a pul vtefiny na vsech paketech. Editcap zde pouziva soubor dat zachycenych programem NAI Sniffer s nazvem cap- ture.dump jako vstupni soubor, zatimco vystupni soubor pouziva format Novell LANalyzer a jme- nuje se capture_out. C:\Program Fi1es\Wireshark>editcap -v -F lanalyzer -t 5.5 capture.dump capture_out File capture is a libpcap (tcpdump. Wireshark, etc.) capture file. Record: 1 Record: 2 Record: 3 Record: 4 Record: 5 Record: 6 Record: 7 Record: 8 Record: 9 Record: 10 output removed Nasledujici pfiklad pouzije editcap pro ulozeni prvnich 35 bajtu vstupniho souboru zachycenych dat s nazvem capture pro ulozeni do vystupniho souboru zachycenych dat s nazvem capture_put. Pine ethernetove i IP hlavicky budou zahrnuty ve vystupmm souboru. C:\Program FJes\Wi reshark>edi tcap -y -s 35 capture capture_out File capture is a libpcap (tcpdump. Wireshark, etc.) capture file. Record: 1 । Record: 2 Record: 3 Record: 4 Record: 5 Record: 6 ! Record: 7 Record: 8 Record: 9 Record: 10 output removed j DalSt priklad demonstruje pouziti editcapu pro pfeklad vstupniho souboru zachycenych dat s nazvem capture do vystupniho souboru zachycenych dat s nazvem capture_out, pricemz typ zapouzdfeni je IEE 802.11 Wireless LAN. C:\Program Files\Wireshark>editcap -v -T ieee-802-11 capture capture_out i File capture is a libpcap (tcpdump. Wireshark, etc.) capture file. Record: 1 Record: 2 i Record: 3 | Record: 4 Record: 5
424 Kapitola 9: Dalsi programy dodavane s Wiresharkem Record: 6 Record: 7 Record: 8 Record: 9 Record: 10 output removed Mergecap Mergecap se pouziva pro spojeni vice souboru ulozenych dat do jednoho vystupniho souboru. Mer- gecap umi cist stejne typy souboru jako Wireshark a standardne zapisuje do formatu libpcap. Mer- gecap umi take zapisovat vystupni soubory zachycenych dat ve standardnich nebo upravenych ver- zich libpcap, Sun snoop, Novell LANalyzer, NAI Sniffer, Microsoft Network Monitor, Visual Network traffic capture, Accellent 5Views capture a Network Instruments Observer version 9. Mergecap umi zjistit typ nacitaneho souboru a je schopen cist soubory komprimovane gzipem. Standardne jsou pakety ze vstupnich souboru slucovany v chronologickem pofadi podle casoveho razitka na kazdem paketu. Pokud je pouzita volba -a. pakety budou kopirovany pfimo z kazdeho vstupmho souboru bez ohledu na casove razitko. Nasledujici volby pfikazoveho fadku mohou byt pouzity pro ovladani procesu pfekladu dat a vystu- pu. ♦ -a - casova razitka jsou ve vstupnich souborech zachycenych dat ignorovana a tyto soubory jsou slucovany jeden po druhem. Kdyz je tato volba vynechana, pakety ve vstupnich souborech jsou slucovany v chronologickem pofadi podle casovych razitek v kazdem paketu. ♦ -F type - pouziva se pro nastaveni formatu vystupniho souboru zachycenych dat. Napfiklad chce- te-li sloucit soubory a ulozit je ve formatu Sun snoop tak, aby snoop mohl pfecist tento vystupni soubor, pouzijte volbu -F snoop. ♦ -h - vytiskne moznosti napovedy a ukonci se. ♦ -s snaplen - nastavuje delku snimku, ktera se pouzije pfi zapisu dat do vystupniho souboru zachy- cenych dat. Pakety vetsi nez hodnota uvedena parametrem snaplen budou rozdeleny. Tato volba je uzitecna, kdyz chcete ulozit pouze hlavicky paketu nebo pokud program, do ktereho budete importovat soubor zachycenych dat, umi cist pouze pakety urcite velikosti. ♦ -T type - nastavi typ zapouzdfeni paketu ve vystupnim souboru zachycenych dat. Vychozim typem je stejny typ zapouzdfeni jako ve vstupnich souborech, pokud jsou zde tyto typy stejne. Pokud nepouzivaji vsechny vstupni soubory stejny typ zapouzdfeni, bude typ zapouzdfeni ve vystupnim souboru nastaven na WTAP_ENCAP_PER_PACKET. Avsak libpcap a dalsi formaty nepodporuji tento typ zapouzdrem. Volba -T vynuti typ zapouzdfeni tak, aby odpovidala zada- nemu typu. Ale hlavicky paketu budou i nadale pouzivat stejny typ zapouzdfeni, jako mely ve vstupnim souboru. ♦ -v - zpusobi, ze editcap bude v prubehu zpracovani souboru vypisovat na obrazovku ruzna hla- §eni. ♦ -w - zapise pakety do souboru s nazvem urcenym pomoci teto volby. Tato volba je pfi slucova- ni souboru vyzadovana. Nasledujici pfiklad ukazuje pouziti mergecapu pro sloudem prvnich 35 bajtu kazdeho ze ctyf sou- boru zachycenych dat (capture 1, capture2, captures, capture4) do jednoho vystupniho souboru ve
Mergecap 425 formatu Sun snoop s nazvem merge_snoop v chronologickem pofadi podle casovych razitek paketu; pfikaz bude c 1st pakety, dokud nebude dosazen konec kazdeho ze souboru. C:\Program Fi1es\Wireshark>mergecap -s 35 -v -F snoop -w merge_snoop capturel capture2 captures capture4 mergecap: capturel is type libpcap (tcpdump. Wireshark, etc.), mergecap: capture? is type libpcap (tcpdump, Wireshark, etc.), mergecap: captures is type libpcap (tcpdump, Wireshark, etc.), mergecap: capture4 is type libpcap (tcpdump, Wireshark, etc.), mergecap: opened 4 of 4 input files mergecap: selected frame_type Ethernet (ether) Record: 1 Record: 2 Record: 3 Record: 4 Record: 5 Record: 6 Record: 7 Record: 8 Record: 9 Record: 10 output removed Nasledujici pfiklad ukazuje pouziti mergecapu pro sloudeni ctyf souboru zachycenych dat (captu rel, capture2, captures, capture4) do jedineho vystupniho souboru s nazvem merge_file bez ohledu na casova razitka paketu; budou zapsany vsechny pakety souboru capturel, nasledne pakety z cap- ture2 atd. C:\Program Fi1es\Wireshark>mergecap -v -a -w merge_file capturel capture2 capture3 capture4 mergecap: capturel is type libpcap (tcpdump, Wireshark, etc.), mergecap: capture2 is type libpcap (tcpdump, Wireshark, etc.), mergecap: captures is type libpcap (tcpdump, Wireshark, etc.), mergecap: capture4 is type libpcap (tcpdump, Wireshark, etc.), mergecap: opened 4 of 4 input files mergecap: selected frame_type Ethernet (ether) Record: 1 Record: 2 Record: 3 Record: 4 Record: 5 Record: 6 Record: 7 Record: 8 Record: 9 Record: 10 output removed Nasledujici pfiklad ukazuje pokus pro pouziti mergecapu ke slouceni tn souboru zachycenych dat s ruznymi typy zapouzdfeni (capturel, capture2, captures) do jedineho vystupniho souboru s nazvem nierge_encap. Operace slouceni se pokusi nastavit vychozi typ zapouzdfeni a pote ohlasi chybu, pro- toze libpcap neumi s timto typem zapouzdfeni pracovat.
426 Kapitola 9: Dalsi' programy dodavane s Wiresharkem C:\Program Fi1es\Wireshark>mergecap -v -w merge_encap capturel capture? captures mergecap: capturel is type libpcap (tcpdump, Wireshark, etc.), mergecap: capture? is type libpcap (tcpdump. Wireshark, etc.), mergecap: captures is type libpcap (tcpdump. Wireshark, etc.), mergecap: opened 3 of 3 input files mergecap: multiple frame encapsulation types detected defaulting to WTAP_ENCAP_PER_PACKET capturel had type (null) ((null)) capture? had type Ethernet (ether) mergecap: selected frame_type (null) ((null)) mergecap: Can't open/create merge_encap: That file format doesn't support per-packet encapsulations Tento pfiklad ukazuje pokus о pouziti mergecapu ke sloufeni tri souboru s ruznymi druhy zapouz- dfeni (capturel, captures, captures, capture4) do jedineho vystupniho souboru s nazvem tnerge_encap; pouzili jsme volbu -T pro vynucenf ethernetoveho zapouzdfeni ve vystupnim souboru. C:\Program Fi1es\Wireshark>mergecap -v -T ether -w merge_encap capturel capture? captures mergecap: capturel is type libpcap (tcpdump. Wireshark, etc.), mergecap: capture? is type libpcap (tcpdump. Wireshark, etc.), mergecap: captures is type libpcap (tcpdump, Wireshark, etc.), mergecap: opened 3 of 3 input files Record: 1 Record: ? Record: 3 Record: 4 Record: 5 Record: 6 Record: 7 Record: 8 Record: 9 Record: 10 output removed Text2pcap Text2pcap vytvari soubory zachycenych dat ctenim hexadecimalnich vypisu ve formatu ASCII a jejich zapisem do vystupnich souboru ve formatu libpcap. Umi cist hexadecimalni vypisy jednoho nebo nekolika paketu a sestavovat z nich soubory zachycenych dat. Text2pcap umi take cist hexadecimal- ni vypisy pouze z dat aplikacm vrstvy, a to vytvafenim fiktivmch hlavicek protokolu Ethernet, IP a User Datagram Protocol ( UDP) nebo TCP, takze Wireshark a dalsi sniffery mohou cist plnohod- notna data. Uzivatel ma moznost urcit, ktere hlavicky chce pfidat. Text2pcap pouziva format oktalovych vypisu (octal dump - od) nebo hexadecimalnich vypisu. Octal dump je unixovym pfikazem pouzivanym pro vystup souboru nebo standardniho vstupu do urcene podoby, jako oktalovy, dekadicky nebo hexadecimalni format. Tento format je urcen pomoci para- metru pfedaneho volbe -t. Pfikaz od -t xl vygeneruje vystup, kteremu bude text2pcap rozumet (xl
text2pcap 427 popisuje format jako hexadecimalni). Nasleduje pfiklad pouziti hexadecimalniho vystupu, ktery muze byt pfecten programetn text2pcap. 0000 00 05 5d ее 7e 53 08 0010 00 9a 13 9e 40 00 3c 0020 64 84 00 17 05 49 Oe 0030 cl e8 ba 7b 00 00 4c 0040 3a 20 53 75 6e 20 4e 0050 30 36 3a 35 33 20 66 0060 36 38 2e 31 30 30 2e 0070 4d 69 63 72 6f 73 79 0080 2e 20 20 20 53 75 6e 0090 20 20 20 20 47 65 6e OOaO 32 30 30 32 Od 0a 23 00 20 cf 5b 39 08 00 45 00 06 eO 70 cO a8 64 7a cO a8 a9 91 43 8e d8 еЗ 6a 50 18 61 73 74 20 6c 6f 67 69 6e 6f 76 20 20 32 20 31 37 3a 72 6f 6d 20 31 39 32 2e 31 33 32 Od 0a 53 75 6e 20 73 74 65 6d 73 20 49 6e 63 4f 53 20 35 2e 39 20 20 20 65 72 69 63 20 4d 61 79 20 20 ..].~S.. .[9..E. ....@.<..p..dz.. d....I...C...jP. Last 1ogi n : Sun Nov 2 17: 31 06:53 from 192.1 68.100.132..Sun Microsystems Inc . SunOS 5.9 Generic May 2002. .# Zacatek kazdeho fadku ma posun о velikosti vice nez dvou hexadecimalnich nebo oktalovych cislic, pficemz se tento posun pouziva ke sledovani bajtu ve vystupu. Pokud je posun 0, znamena to zacatek noveho paketu. Pokud je v souboru vice paketu, bude proveden jejich vystup do souboru zachyce- nych dat s vtefinovym odstupem mezi pakety. Pokud fadek tento posun neobsahuje, bude ignoro- van. Textovy vystup na konci fadku je ignorovan take. Textove soubory mohou obsahovat komentafe zacinajici znakem #. Text2pcap podporuje prikazy a volby zadane pomoci pfikazu #TEXT2PCAP na zacatku fadku. Text2pcap momentalne nema zadne pfikazy pro ovladani zpusobu zpracovani hexadecimalnich vypisu. Nasledujici volby pfikazoveho fadku se pouzivaji pro ovladani zpracovani dat programem text2p- cap a jejich vystup. ♦ -h - vytiskne moznosti napovedy programu text2pcap a ukonci se. ♦ -d - zobrazi informace pro ladeni v priibehu zpracovani. Stejne jako volby pro informativnejsi zob- razeni muze byt i tato volba pouzita nekolikrat pro zobrazeni jeSte podrobnejsich informaci. ♦ -q - zpusobi, ze text2pcap provede tzv. tiche zpracovani. ♦ -o h|o - urcuje, zda posun ve vystupu bude uveden v hexadecimalni nebo oktalove forme zapi- su. Vychozi forma je hexadecimalni. ♦ -1 typenum umoznuje zadat typ zapouzdfeni paketu na vrstve datovych spoju. Tato volba se pouzi- va, kdyz mate hexadecimalni vypis, ktery obsahuje kompletni zapouzdfeny paket. Typ zapouz- dfeni je uveden pomoci ciselne hodnoty parametru typenum. Uplny seznam typu zapouzdfeni a jejich cisel najdete v souboru /libpcap-0.7.2/bpf/net/bpf.h umistenem v distribuci zdrojoveho kodu libpcapu. Napfiklad protokol Point-to-Point Protocol (PPP) ma typ zapouzdfeni 9. Vycho- zim typem je ethernetove zapouzdfeni s hodnotou 1. ♦ -e 13pid - umoznuje vlozit tiktivni ethernetove hlavicky pro kazdy paket. Tuto volbu vyuzije- te, kdyz mate soubor s hlavickami paketu libovolnych protokolu tfeti vrstvy, ale zadne hlavicky paketu protokolu druhe vrstvy. ♦ -iproto - umoznuje vlozit fiktivni hlavicky protokolu IP do kazdeho paketu. Parametr proto slouzi ke specifikaci protokolu IP v dekadickem formatu. luto volbu vyuzijete v pfipade, ze mate sou- bor obsahujici kompletni informace ctvrte vrstvy, ale zadne informace о protokolech tfeti vrst- vy. Tato volba take pfida nezbytne informace о Ethernetu. Napfiklad -i 88 nastavi protokol na Enhanced Interior Gateway Routing (EIGRP). ♦ -m max-packet - umoznuje nastavit maximal™ delku paketu pomoci parametru max-packet. Vychozi hodnota je 64000.
428 Kapitola 9: Dalsi' programy dodavane s Wiresharkem ♦ u srcport,destport - umoznuje vlozit fiktivm hlavicky protokolu UDP do kazdeho paketu. Para- metry srcport a destport slouzi pro specifikaci zdrojovych a cilovych portu UDP v desitkovem zapi- su. Tuto volbu vyuzijete v pfipade, kdy mate soubor s pakety, jez neobsahuji hlavicky protokolu ctvrte nebo nizsi vrstvy. Tato volba pfida take nezbytne informace protokolu Ethernet a IP. ♦ -T srcport,destport - umoznuje vlozit fiktivni hlavicky protokolu TCP do kazdeho paketu. Parame- try srcport a destport slouzi pro specifikaci zdrojovych a cilovych portu TCP v desitkovem zapisu. Tuto volbu vyuzijete v pfipade, kdy mate soubor s pakety, jez neobsahuji hlavicky protokolu TCP ctvrte nebo nizsi vrstvy. Tato volba prida take nezbytne informace protokolu Ethernet a IP. ♦ -s srcport,destport, tag - umoznuje vlozit fiktivni hlavicky protokolu Stream Control Transmissi- on Protocol (SCTP) do kazdeho paketu. Parametry srcport a destport slouzi pro specifikaci zdro- jovych a cilovych portu SCTP v desitkovem zapisu. Parametr tag slouzi pro specifikaci ovefova- cich znacek. Tuto volbu vyuzijete v pfipade, kdy mate soubor s pakety, jez neobsahuji hlavicky protokolu protokolu SCTP ctvrte nebo nizsi vrstvy. Tato volba prida take nezbytne informace protokolu IP, Ethernet a kontrolni soucty CRC32C. ♦ -S srcport,destport,ppi - umoznuje vlozit fiktivni hlavicky protokolu Stream Control Transmission Protocol (SCTP) do kazdeho paketu. Parametry srcport a destport slouzi pro specifikaci zdrojo- vych a cilovych portu SCTP v desitkovem zapisu. Parametr ppi slouzi pro specifikaci identifika- toru protokolu datoveho nakladu pro falesne hlavicky cast! dat SCTP DATA. Ovefovaci znacka bude automaticky nastavena na 0. Tuto volbu vyuzijete v pfipade, kdy mate soubor s pakety, jez neobsahuji hlavicky protokolu protokolu SCTP ctvrte nebo nizsi vrstvy. Tato volba prida take nezbytne informace protokolu IP, Ethernet a kontrolni soucty CRC32C. ♦ -t timefmt - umoznuje nastavit casovy format textu pfed paketem. Parametr timefmt je nasle- dovan formatem strptime(3), jako napfiklad ,,%H:%M:%S”, ktery konvertuje fetezce znaku do podoby casoveho udaje. Nasledujici pfiklad ukazuje pouziti programu text2pcap pro cteni hexadecimalniho vypisu s nazvem hex_sample.txt a vystup dat do souboru libpcap_output. C:\Program Fi1es\Wireshark>text2pcap hex_sample.txt 1ibpcap_output Input from: hex_sample.txt Output to: 1ibpcap_output Wrote packet of 168 bytes at 0 Read 1 potential packets, wrote 1 packets Dalsi pfiklad ukazuje pouziti programu text2pcap pro cteni souboru s nazvem hex_sample2.txt, obsahujiciho nekolik hexadecimalnich paketu a vystup techto dat ve formatu paketu protokolu Tel- net/TCP do souboru libpcap_output2. C:\Program Fi1es\Wireshark>text2pcap -T 1297,23 hex_sample2.txt 1i bpcap_output2 Input from: hex_sample2.txt Output to: 1ibpcap_output2 Generate dummy Ethernet header: Protocol: 0x800 Generate dummy IP header: Protocol: 6 Generate dummy TCP header: Source port: 1297. Dest port: 23 Wrote packet of 62 bytes at 0 Wrote packet of 62 bytes at 62 Wrote packet of 60 bytes at 124 Wrote packet of 69 bytes at 184 output removed
Capinfos 429 Read 76 potential packets, wrote 76 packets Pfikaz od miize take pomoci mechanismu roury pfedavat data programu text2pcap. Text2pcap by v tomto pripade cetl data z vystupu pfikazu od jako svuj standardni vstup. Dalsi pfiklad ukazuje pouziti programu text2pcap pro cteni datoveho proudu jako vstupu a vystup zpracovanych dat ve formatu paketu HTTP/TCP do souboru output.pcap. Parametr -Ax pfikazu od tiskne hodnoty posu- nu v hexadecimalnim tvaru. Parametr -m!460 programu text2pcap specifikuje maximalni velikost paketu na hodnotu 1460 bytu. Maximalni velikost paketu protokolu Ethernet je 1 500 bajtu, minus 20 bajtu pro hlavicky protokolu IP a TCP, coz nechava 1 460 bajtu pro samotna data. Standardne parametr -T vytvofi fiktivni hlavicky protokolu TCP, IP a Ethernet. Nasledujici vypis ukazuje pouzi- ti pfikazu a vystup teto operace. [root@localhost root]# od -Ax -txl input | text2pcap -ml460 -T1234.80 - output.pcap Input from: Standard input Output to: output.pcap Generate dummy Ethernet header: Protocol: 0x800 Generate dummy IP header: Protocol: 6 Generate dummy TCP header: Source port: 1234. Dest port: 80 Wrote packet of 1460 bytes at 0 Wrote packet of 1460 bytes at 1460 Wrote packet of 1460 bytes at 2920 Wrote packet of 788 bytes at 4380 Read 4 potential packets, wrote 4 packets Capinfos Capinfos je novym nastrojem pf ikazoveho fadku zahrnutym v distribuci Wiresharku, ktery prozkou- mava soubory zachycenych dat a poskytuje statisticke pfehledy о poctu paketu, velikostech paketu a informace о casovani. Narozdil od jinych mechanismu pro tvorbu statistickych pfehledu v dal- sich nastrojich Wiresharku capinfos nehlasi obsah provozu, a misto toho poskytuje strucny pfehled о obsahu souboru zachycenych dat. Nasledujici volby pfikazoveho fadku se pouzivaji pro ovladani vystupu programu capinfos. ♦ -h - vytiskne moznosti napovedy programu capinfos a ukonci se. ♦ -t - zobrazi typ souboru zachycenych dat jako jeden z formatu souboru zachycenych dat podpo- rovanych Wiresharkem, bez ohledu na pi iponu souboru. ♦ -c - zobrazi pocet paketu v souboru zachycenych dat. ♦ -d - zobrazi celkovou delku vsech paketu v souboru jako pocet bajtu. ♦ -u - zobrazi dobu trvani zachytavani dat v souboru (ve vtefinach). ♦ -a - zobrazi cas zahajeni zachytavani. ♦ -e - zobrazi cas ukonceni zachytavani. ♦ -y - zobrazi prumerny pocet bajtu za vtefinu. ♦ -i - zobrazi prumerny pocet bajtu za vtefinu. ♦ -z - zobrazi prumernou velikost paketu v bajtech.
430 Kapitola 9: Dalsi programy dodavane s Wiresharkem Capinfos muze byt spustdn take tehdy, kdyz jako jediny parametr prikazoveho fadku zadate nazev souboru. V tomto pripade program capinfos zobrazi vsechny dostupne statistiky, jak muzete videt v nasledujicim vypisu: C:\>capinfos all-ml.dump File name: all-ml.dump File type: libpcap (tcpdump. Ethereal, etc.) Number of packets: 282905 File size: 41418290 bytes Data size: 56143385 bytes Capture duration: 7579.713771 seconds Start time: Mon Sep 15 09:44:53 2003 End time: Mon Sep 15 11:51:13 2003 Data rate: 7407.06 bytes/s Data rate: 59256.47 bits/s Average packet size: 198.45 bytes Dumpcap Utilita dumpcap se pouziva pro zachylavani dat z ziveho rozhrani a jejich ukladani do souboru libpcap. 'lento nastroj obsahuje podmnozinu funkci dostupnych v TSharku, ale neobsahuje velkou knihov- nu dekoderu protokolu. Tento fakt dava dumpcapu vyhodu v podobe maleho mnozstvi obsazene pameti, coz muze byt uzitecne zejmena pfi zachytavani provozu na systemech s malym mnozstvim pameti a vice procesy zachytavani. Nasledujici volby pfikazoveho fadku se pouzivaji pro ovladani zpracovani dat dumpcapem a jejich vystup. ♦ -a test:value - sdeluje dumpcapu, aby pfestal zapisovat data do souboru v okamziku, kdy je spl- nena podminka a jeji hodnota. Tato volba je ekvivalentem volby -a v TSharku. ♦ -b number of ring buffer files[:duration] - pfi pouziti s volbou -a zpusobi, ze dumpcap bude pokracovat v zapisovani dat do po sobe jdoucich souboru. Tato volba je ekvivalentem volby -b v TSharku. ♦ -B buffer size - tato volba je dostupna pouze na operacnich systemech Windows a zpusobi, ze dumpcap alokuje buffer pro uchovavani dat paketu v prubehu zachytavani pfedtim, nez tato data zapise na disk. Tato volba je ekvivalentem volby -B v TSharku. ♦ -c count - nastavuje vychozi pocet paketu, ktere budou pfecteny pfi zachytavani dat. Tato volba je ekvivalentem volby -c v TSharku. ♦ -D - sdeluje dumpcapu, aby vytiskl seznam dostupnych rozhrani v systemu. Tato volba je ekvi- valentem volby -D v TSharku. ♦ -f capture filter expression - umoznuje nastavit vyrazu filtru, ktery se pouzije pri zachytavani dat. Tato volba je ekvivalentem volby -f v TSharku. ♦ -h - vytiskne verzi programu dumpcap a moznosti napovedy, nacez se ukonci. ♦ -i interface - specifikuje rozhrani, ktere se pouzije pfi zachytavam dat. Tato volba je ekvivalen- tem volby -i v TSharku. ♦ -L - vypise seznam typu datovych spojeni, ktera jsou podporovana rozhranim, a pote se ukonci. Ekvivalent volby -L TSharku.
Shrnuti 431 ♦ -p - sdeluje dunipcapu, aby nepfepinal rozhrani do promiskuitm'ho modu. Ekvivalent volby -p v TSharku. ♦ -s snaplen - umoznuje nastavit vychozi delku snimku, ktery se pouzije pfi zachytavani dat. Ekvi- valent volby -s v TSharku. ♦ -v - vytiskne informace о verzi programu dumpcap a ukonci se. ♦ -w file - zapisuje pakety do souboru s nazvem zadanym za volbou -w. Ekvivalent volby -w v TSharku. ♦ -y type - umoznuje nastavit typ datoveho pripojeni, ktery se pouzije pn zachytavani. Ekvivalent volby -y v TSharku. Pfi spusteni bez argumentu zadanych v pfikazovem fadku dumpcap vybere prvni dostupne sitbve roz- hrani a zacne zachytavat data. Zapisovat bude do souboru libpcap s nahodne vybranym nazvem. Dumpcap muze byt uzitecny pro vyssi flexibilitu podminek ukonceni zachytavani a vystupnich sou- borii ring buffer - to vse bez zatizeni systemu, jez je generovano grafickym uzivatelskym rozhranim Wiresharku nebo pozadavky na pamef a procesor generovane TSharkem. Napfiklad dumpcap muze zachytavat data po dobu peti minut a ukladat vystup do souboru libpcap, jak muzete videt v nasle- dujicim pfikladu: C:\>dumpcap -i 2 -a duration:300 -w eventcol1ection.cap Shrnuti Jak jsme mohli videt v teto kapitole, Wireshark je mnohem vice nez jen jeho graficke uzivatelske rozhrani; je to skupina programu, ktere poskytuji funkce pro provadem zachytavani z prostfedi pfi- kazoveho fadku, formatovani dat a manipulaci s nimi. Tyto programy mohou byt pouzity spolecne, a poskytnout tak jeste vice moznosti zpracovani, protoze vystup jednoho programu muze byt pfe- smerovan na vstup jineho programu. Protoze uvedene programy pracuji v pfikazovem fadku, posky- tuji take moznosti pro skriptovani. TShark ma stejne moznosti pro zpracovani jako Wireshark, ale bez GUI. Editcap, i kdyz se primarne pouziva pro odstranovam paketu ze souboru zachycenych dat, umi take pfekladat soubory zachy- cenych dat do ruznych formatu. Mergecap poskytuje moznost slucovani ruznych souboru zachyce- nych dat, a to i z ruznych sitbvych analyzatorfi. Je to skvely nastroj, ktery najde uplatneni zejmena pfi provadeni auditu nebo pfi reakci na incident, kdy potfebujete kombinovat soubory zachycenych dat z ruznych zdroju, jako jsou sniffery, systemy IDS a logy. Text2pcap umoznuje pfeklad hexadecimal- nich datovych proudu do souboru paketu citelnych snifferem. Muzete dokonce pfidavat fiktivni data vrstev 2-4, coz se zase hodi tehdy, mate-li pouze datovy proud vystupu aplikace. Capinfos poskytuje souhrnne informace о obsahu souboru zachycenych dat a dumpcap se pouziva jako atraktivni alter- nativa TSharku, ktera umoznuje automatizaci likonu spojenych se zachytavanim.
432 Kapitola 9: Dalsi programy dodavane s Wiresharkem Rychla feseni TShark > TShark urn i cist pakety ze site nebo ze souboru zachycenych dat. Ф TShark umi zachycene pakety dekodovat a vypisovat na obrazovku nebo je ukladat do soubo- ru. ♦ Jednou z hlavnich vyhod pouzivani TSharku je jeho pouzitelnost ve skriptech. ♦ TShark muze pouzivat zachytavaci a zobrazovaci filtry. ♦ TShark umi shromazdbvat ruzne druhy statistickych informaci о zachytavanych datech. ♦ Stejne jako editcap, i TShark Ize pouzit pro pfeklad formatu zachycenych souboru. Editcap ♦ Editcap se pouziva pro odstraneni paketu ze souboru zachycenych dat nebo pfeklad formatu techto souboru. ♦ Volba -t se v editcapu pouziva pro zmeny casovych razitek paketu. ♦ Pomoci volby -s je mozne specifikovat delku snimku a zmensit tak velikost paketu. ♦ Editcap muze specifikovat typ zapouzdfeni paketu ve vystupnim souboru, a to pomoci volby -T. Mergecap ♦ Mergecap se pouziva pro slouceni nekolika souboru zachycenych dat do jedineho vystupniho souboru. ♦ Mergecap muze cist soubory zachycenych dat v ruznych formatech a vytvofit vystupni soubor pouzivajid jediny format. ♦ Standardne jsou pakety ze vstupnich souboru slucovany do vystupu v chronologickem pofadi danem casovymi razitky paketu; pokud je vsak pouzita volba -a, pakety budou kopirovany ze vstupnich souboru do vystupniho souboru bez ohledu na casova razitka. ♦ Mergecap umi slucovat soubory zachycenych dat pouzivajid ruzne typy zapouzdfeni do jedineho vystupniho souboru, ve kterem Ize volbou -T vynutit jednotny typ zapouzdfeni. Text 2 pea p ♦ Text2pcap cte hexadecimalni ASCII vystupy zachycenych dat a zapisuje je do vystupnich sou- boru libpcap. ♦ Text2pcap umi vkladat fiktivm hlavicky protokolu Ethernet, IP, UDP a TCP. ♦ Pfikaz od -t xl vytvofi vystupni soubor dtelny pro text2pcap. ♦ Posun s hodnotou 0 znamena zacatek noveho paketu. ♦ Volby programu text2pcap umoznuji ovladani vkladani fiktivnich hlavicek, casovych razitek a typu zapouzdfeni pro kazdy paket.
Caste dotazy 433 Capinfos ♦ Capinfos poskytuje souhrnna statisticka data о souboru zachycenych dat. ♦ Capinfos pocita a hlasi prumerne hodnoty velikosti paketu a jejich poctu v souboru zachyce- nych dat. ♦ Pomoci pfikazoveho fadku muzete selektivnd povolit jednu nebo vice funkci. Dumpcap ♦ Dumpcap cte pakety z ziveho sitbveho rozhrani a uklada obsah do jednoho nebo vice souboru libpcap. ♦ Dumpcap ma nektere funkce pro zachytavani spolecne s TSharkem, ale potfebuje mene pameti pro kazdou svou instanci. ♦ Kdyz nejsou dumpcapu poskytnuty zadne parametry, zahaji zachytavani na prvniin dostupnem sifovem rozhrani a bude ukladat pakety do souboru s nahodnd generovanym nazvem. Caste dotazy Nasledujici casto kladene otazky byly zodpovezeny autorem teto publikace a jsou zde umisteny proto, abyste mohli zhodnotit sve porozumeni danemu tematu, a take vam pomohou pfi uplatneni teore- tickych znalosti v podminkach realneho prostfedi. Otazka: laky je rozdil mezi pfekladem formatu souboru zachycenych dat provedenym pomoci TSharku a editcapu? Odpoved’: Zadny - oba delaji totez. Avsak editcap muze byt pro konverzi souboru efektivnejSi, pro- toze neobsahuje takove mnozstvi kodu pro rozbor protokolu jako TShark a editcap je jen malym programem s nekolika funkcemi. Konverzi muzete provest take z grafickeho uzivatelskeho rozhrani Wiresharku pomoci File -» Save As. Otazka: Umi mergecap slucovat soubory komprimovane programem gzip? Odpoved: Ano, mergecap umi automaticky dekomprimovat, cist a slucovat soubory komprimova- ne programem gzip. Otazka: Co mohu udelat pro to, aby skriptovani TSharku bylo rychlejsi? Odpoved’: Jedmm zpusobem zrychleni skriptovani TSharku je pouzivani volby -1 pro vyprazdnovani standardniho vystupu po kazdem vytisteni paketu namisto cekani, dokud se vystup nezaplni. Takto bude kazdy paket poslan, jakmile je pfecten a dekodovan. Take muzete pouzit volbu -n, pomoci ktere zakazete pfeklad sifovych nazvu a zrychlite tak cely proces. Otazka: Mohu pro urceni paketu, ktere se maji editcapem odstranit, pouzit filtry? Odpoved': Nikoliv, editcap neumi filtry pouzivat. Musite znat cisla paketu, jez chcete zahrnout nebo vyloudit z vystupniho souboru zachycenych dat. Muzete pro cteni souboru zachycenych dat pouzit TShark, aplikovat filtry a vysledny vystup ulozit do noveho souboru.

Rejstri'k A aclocal-fallback, 354 administrace - systemu, 79 - zabezpeceni, 81 administrator, systemovy, 22 adresa, 221 - cilova, 36, 312 - falsovani, 41 - fyzicka, 29 - hardwarova, 200 - hostitele, 199 - konzistentni zdrojova, 312 - MAC, 252 - urceni, 252 - zdrojova, 36 airdecap-ng, 279, 281 AiroWizard, 280 AirPcap, 244 aktivita - odhaleni, 81 - sitbva, 302 analyza, 282 - bezdratoveho provozu, 247 - site, 20, 54 - sitova, 52 - v realnem case, 22 analyzator, sitbvy, 21, 24 Analyzer, 26 Apply as Filter, 164 architektura, sitbva, 73 ARP, 87 ARP Request Trafic, 305 ARP, pfesmerovani, 40 arpspoof, 85 Atheros, 45 atk, 350 В Backtrack, 45 bajt, sekvence, 220 barva - popfedi, 146 - pozadi, 146 Basic Service Set, 252 boolean, 216 Boot sector, 326 BOOTP, 414 brana, 33 Broadcom, 45 BSSID, 254 - vylouceni, 256 bunzip2, 100 bzip2,100 c Capinfos, 429,433 Capture Interfaces, 151 Capture Options, 152 CCMP, 270-271 Code Red, 328-330 CommView for WiFi, 45 Contents, 183 cracking, 87 CSMA/CD, 35 Cygwin, 351 c cas - absolutni, 223 - zobrazeni, 144 cerv, rozbor, 326, 343 cislo, s pohyblivou desetinnou carkou, 217 citac, protokolu H.225,412
436 Rejstfik D DarwinPorts, 111 DATA, 50 data - pfedani, 370, 378 - rotovani, 157 - rozbor, 335 - zachycena, 24, 286, 288, 335 - zachytavani, 21, 44, 84, 93, 236 - zobrazeni, 127 deautentikace, 297 Debian, 354 Decode As, 165, 167 Decoded packet, 141 dekoder, 22 dekodovat, jako, 165, 167 desifrovani provozu, 278 detekce - mistni, 90 - promiskuitniho modu, 154 - pruniku, 82 - sitbva, 90 - vysilani, 35 Diameter, 354 diasociace, 297 disektor, 373 - bezdratovych protokolu, 314 - ladeni, 383 - pfedavani dat, 378 - spousteni, 371 - vytvofeni, 364 - vyvoj, 359 DNS, 46 - dotaz, 90 dnsspoof, 85 doba, odezvy, 413 DocBook, 355 dosah bezdratovych siti, 236 dotaz - DNS, 90 - sledovani, 43 dovednosti, 347 Dsniff, 26, 84 dtds, 355 Dumpcap, 430, 433 E EAP, 267 EAP Failure, 268 EAP Request, 267 EAP Response, 267 EAP Success, 268 EAP, vymena, 264 Edit Capture Filter List, 158 Edit Display Filter List, 160 editace, 138 Editcap, 71, 419, 432 echo reply, 210 echo request, 210 element, hf, 363 Enable Decryption, 279, 304 Enabled Protocols, 165 endian, 365 enumerace, 318 epan, 356 Ethernet, vysvetleni, 26 EtherPeek, 25 Ettercap, 26, 86 Expert Info, 169 Expert Info Composite, 169 Extend Service Set, 255 F falsovani zprav, 87 filesize, 402 filesnarf, 86 1 liter name, 163, 273-275 Filter string, 163, 273-275 filtr, 64, 197 - barevny, 145, 147 - inverzni, 257 - moznosti, 192 - podle BSSID, 254
Rejstrik 437 - podle SSID, 255 - pro adresu MAC, 253 - pro zachytavani, 198, 209 - pro zachytavani dat, 64 - pro zobrazeni, 64,198 - testovani, 208 -tvorba, 198, 230-231 - vymena, 223 - vyuziti, 228 - zachytavaci, 230 - zobrazovaci, 211, 228, 231, 251, 314, 368 filtrovani datoveho proudu, 169 Fink, 112 flags, 206 Follow SSL Stream, 167 Follow TCP Stream, 167-168 fragmentace paketu, 380 frame number, 215, 404 From DS, 273 FTP, 33 funkce, 226, 365 - globalni, 361 - nazev, 385 - pro registraci, 362 - sloupcu, 370 - staticka, 362 fuzzing protokolu IEEE 802.11, 306 G gettext, 349 glib, 349 glosaf, 229 Go To Packet, 149 gogowepnet, 285 graf - casoveho sledu, 175-177 - datoveho proudu, 173 - diagnostika, 178 - ovladani, 179 - propustnosti, 174, 179 - RTT, 173 - typ, 181 - vstupu a vystupu, 300 Graph control, 179 GTK, 349, 356 - pouzivani, 385 gtk2.tmp, 356 GtkAccelGroup, 385 GtkTooltips, 385 GUI, 383 gunzip, 100 gzip, 100 H Handshake TCP, 37 hardware, 21 HELO, 50 Help, 182, 356 hierarchic protokolu, 172,407 hodnota - integerova, 214 - totozna, 180-181 Honeypot, 43 hostitel, 29 - adresa, 199 - nazev, 199 HTTP, 48, 415-416 CH channel hopping, 235 chyba v ovladaci, 91 I ICMP, 36, 205 - pfesmerovani, 40 identifikace, 78 - IPSec/VPN, 272 - protokolu CCMP, 270 - protokolu TKIP, 270 - protokolu WEP, 269 - selhani, 267 - skrytych SSID, 262 - sifrovacich mechanismu, 269 - typu protokolu EAP, 264 - vlastnosti vyjednavanf klicu, 268
438 Rejstnk identitikator IP, 35 IDL, 356 IEEE 802.11,249 ifconfig, 42-43, 240, 242 Ifstatus, 44 Image, 356 informace - expertni, 169, 309-310 - pfenos, 82 - slozene expertni, 169 interference, 236 IO Graph, 305 ip link, 42 Ip Security, 51 IP adresa, 36 IPSec/VPN, 272 Item Factory, 384 iwconfig, 241-242 J jmeno, uzivatelske, 265 К kanal - identifikace, 282 - pro zachytavani, 245 - stanice, 282 - staticky, 234 - urceni, 245 - vyber, 237 karta - bezdratova, 314 - bezdratova sitbva, 237 - mody, 314 Kismet, 45 klic, vyjednavani, 268 knihovna - libpcap, 101 - WinPcap, 104 knihovny, 348 kolize, 236 konektivita, sitbva, 80 kontrola - dostupnosti aplikace, 80 - konektivity, 80 konverzace, 377 latence, 91 LEAP, 267 libiconv, 349 libpcap, 211, 349 - instalace, 101, 103 licence, GNU GPL, 59 Lprng, 336 M MAC, 29 - adresa, 252 MacSniffer, 26 MADWIFI 0.9.1,240 MAIL FROM, 50 mailsnarf, 86 manual, 185 Manual Pages, 185 Master boot record, 326 mechanismus, sifrovaci, 269 Mergecap, 71,424, 432 metoda, detekcni, 89, 94 mod - monitorovaci, 238 - odepreni sluzby, 329 - operacni, 237 - promiskuitni, 26 - spanku, 329 - sifeni, 329 modul - flexresp2, 341 - zasuvny, 358, 393 N nabidka - analyza, 159 - Capture, 150
Rejstrik 439 -File, 131-132 - Go, 148 - Help, 182 - mistni, 187, 189 - Statistics, 169 NAI Sniffer, 423 nalezeni paketu, 140 napoveda, 182 nastaveni, 142 nastroje, 348 nazev - hostitele, 199 - identifikatoru zabezpeceni, 414 - pfeklad, 133 nazvy funkci, 385 Net Bus, 324 Netfilter, 339 NetMon, 91 Netstumbler, 45 Network General Sniffer, 25 NSIS, 357 NTP, 47 NULL, 321 О obsah,183 odbocka, kabelova, 37, 41, 76 odepreni sluzby, 295 odezva, 205 - aktivni, 339, 343 odhaleni - snifferu, 42 - uzivatelskych jmen, 265 odkaz, casovy, 141 odliseni, barevne, 273 offset, 366 ochrana - proti snifferum, 51 - site, 88 okno - hlavni, 193 - pro zobrazeni dat, 190 - souhrnne, 188, 369 OpenVPN, 52 operace, logicka, 201 operator - bitovy, 206 - logicky, 226 Orinoco, 45 OSI, 27 ovefeni, 78 ovladac - kompatibilni, 239 - konfigurace, 240 oznacovam - opakovanych pokusu, 276 - ruseneho provozu, 275 P Packaging, 357 Packet Details, 247 Packetyzer, 26 paket - delka, 410 - fragmentace, 380 - nalezeni, 140 - omezeni, 153 - RST, 340 - velikost, 208 - zachytavani, 100, 117, 243 pamef, 84 - vyrovnavaci, 21 panel filtru, 128-129 parametr znacek, 263 pcap, 198 Perl, 351 PGP, 89 pocatek, 181 pod2man, 351 podpora - monitorovaciho modu, 244 - nastaveni, 238
440 Rejstrik podstrom, vytvafeni, 374 podvrstva - logickych spoju, 30 - MAC, 29 pokus, opakovany, 276 pole - bitove, 375 - casove, 223 - informacni, 130 - protokolu, 203 - skryte, 229 - subtype, 258 - type, 258 ' - typy, 223 - vicenasobny vyskyt, 227 port, 200 - vetveni, 74 - zdrojovy, 333 - zrcadleni, 39 posloupnost, TCP, 37 posun, automaticky, 145 potencial zobrazovadch filtru, 251 preference, nastaveni, 379 Prepare a Filter, 164 Prism2, 45 privacy bit, 261 probe request, 254 problem, systemovy, 93 proces, rozboru, 372 procesor, 83 program, podpurny, 69, 92 promenna, 365 PromiScan, 44 prostfedky, vyvojafske, 352 protected bit, 261 proto_tree, 368, 395 proto_tree_add, 375 Protocol Hierarchy, 172 protokol, 35, 202 -BOOTP, 414 - CCMP, 270 - EAP, 264, 293 - fuzzing, 306 -H.225, 412 - hierarchic, 172 - hlavni, 35 -HTTP, 415-416 - ICMP, 35 -IEEE 802.11,295 - IP, 35 - podporovany, 61, 184 - pole, 203 - povoleny, 165 - rozbor, 46, 55 -SMB, 414 - SSL, 167 - TCP, 35, 167 - TKIP, 270 - UDP, 35, 37 - WEP, 269 proud - datovy, 167, 173 - filtrovani, 169 provoz - bezdratovy, 242, 246-247, 281 - CCMP, 271 - datovy, 260 - desifrovani, 278 - nesifrovany, 261 - podvrzeny, 303 - poskozeny, 306 - ruseny, 275 - TKIP, 271 pruzkum, 318 - bezdratovych siti, 290 preklad nazvii, 133 pfenos paketu, 378 pfenositelnost, 347 pfepinac, 37, 40 - triky, 87 - zahlceni, 40 pfepinani, 89
Rejstnk 441 pfesmerovani - ARP, 40 - ICMP, 40 pfiblizeni, uzamceni, 180 pfipojeni, selhani, 283 pn'stup - hromadny, 35 - vzdaleny, 322, 343 Python, 351 Q QoS, 249 R Radius, 358 ramec, 29 - bezdratovy» 258 - deformovany, 308 - desifrovany, 305 - kontrolni, 285 - neplatny, 310 - podtyp, 259 - signalni, 285 - statistika, 247 - sifrovany, 262 - typ, 259 Ramen, 336 - spusteni, 338 - sifeni, 337 RapidSVN, 67 reason code, 297 regex, 220 request_reply, 367 ring buffer, 156, 402 riziko, vyhodnoceni, 265 rotovani dat, 157 rozbocovac, 37, 75 rozbor - cervii, 326 - proces, 372 rozdeleni delky paketu, 410 rozhrani - graficke, 383 - uzivatelske, 63 - zpetne smycky, 151 rozsah, 224 rpc.statd, 336 RPM, 101,357 RST.b, 325 RTT Graph, 173 rychlost sitoveho pfipojeni, 83 R fadek, pfikazovy, 191, 194 feseni problemu, 77 fetezec, 217 - hodnot, 380 - Unicode, 376 S sdileni uctu, 293 sekvence - bajtu, 220 - TCP, 65 selham, ovefeni protokolem EAP, 267 Sentinel, 44 sestavovani, 351 seznam filtru, 158, 160 sif - analyza, 20, 26, 54 - bezdratova, 44, 233-234, 290, 313 - dosah. 236 - preferovana, 290 sken - NULL, 320 - polootevfeny, 320 - SYN, 320 - TCP Connect, 318-319 - XMAS, 320 skenovani, 318, 343 Sledovani site, 25 sledovani dotazu, 43
442 Rejstrik sloupec - informacni, Til - souhrnu paketu, 411 sluzba, odepreni, 295, 329 SMB Round Trip Data, 413 smernice, firemni, 52 smerovac, oznameni, 41 smerovani, 88 smerovatel, 30 SMTP, 49 smycka, zpetna, 151 SNA, 215 sniffer, 23, 34 - odhaleni, 42, 55 - ochrana, 51 sniffing, 20, 54 sniffovani - bezdratove site, 233-234 - efektivni, 313 Snoop, 25 Snort, 25 soubor, 191 - zacleneny, 360 - zachycenych dat, 284, 286, 288 souhrn, 171 spoofing na siti IEEE 802.11, 298 spousteni disektoru, 371 SQL Slammer, 327 SSH, 51, 88 SSI Signal, 301 SSID, skryte, 262, 298 SSL, 51, 89 stanice, adresa MAC, 252 statistika - hierarch ie protokolu, 407 - konverzaci, 409 - protokolu BOOTP, 414 - protokolu HTTP, 415 - protokolu podle intervalu, 407 - ramcu, 247, 302 -SIP, 412 statistiky, 169 - TSharku, 406 Stevens, 175 strom - cilu, 411 -protokolu, 125-126, 189 - protokolu HTTP, 415 SubSeven Legend, 322 Summary, 171 Supported Protocols, 184 SVN, 67, 354 SYN, 320 syntaxe, nazvu, 365 system - administrace, 79 - ovlivneny, 282 - subverzi, 67 § sablona, 359 sifrovani, 88 sifeni, mod, 329 tabulka - s adresami MAC, 87 - zahlceni, 87 TAP, 387 - extern!, 381 taptrace, 176 TCP, 31, 36 TCP Connect, 318-319 TCP Stream Graph, 173 TCP SYN, 207 Tcpdump, 25, 198, 211 tcpdump, syntaxe, 199 Telnet, 33 Test, 358 testovani, filtru, 208 Text2pcap, 72,426, 432 Throughput Graph, 174,179 tisk, 135
Rejstrik 443 TKIP, 270-271 To DS, 273, 299 Tools, 358 TortoiseSVN, 67 tree, 366 Trojsky kun, 322, 326, 343 Tshark, 69, 292,400, 432 TShark, statistiky, 406 TTL, 35 tvb, 366 tvb_get, 366 tvbuff, 376 typ - modulacni, 237 - vyjadfeni, 258 U licet, sdileni, 293 UDP, 31 utilita, kompresni, 100 utocnik, 23 litok - MITM, 86 -na siti IEEE 802.11,298 uzamceni, pfiblfzeni, 180 V velikost, paketu, 208 virus, 326 - hybridni, 326 vrstva - aplikacni, 33 - fyzicka, 28 - hostitel-hostitel, 34 - internetova, 34 - prezentacni, 33 - procesu, 34 - relacni, 32 - sifova, 30 - sifoveho pfistupu, 34 - spojova, 29 - transportni, 31 vybaveni, programove, 45 vyhledavani - dopfedne, 46 - zpetne, 43, 46 vyhodnoceni, rizika, 265 vyjednavani, klicu, 268 vylouceni, BSSID, 256 vymena, EAP, 264 vyraz - pfidani, 161 - regularni, 218-220 - tvorba, 212 vysilani, vsesmerove 26 vyskyt, vicenasobny, 227 W WEP, 269 Wiki Wiresharku, 353 WinDump, 25 WinPcap, 104, 349 Wireshark, 24, 45, 58, 92-93, 98, 117, 122, 193 Wireshark Online, 186 Wireshark - e-mailova konference, 353 - historic, 59 - Hlavni okno, 123 - informace, 364 - instalace, 105-113, 117-118 - kompatibilita, 60 - Linux, 106 -Mac OS X, 108-112 - navrh, 394 - optimalizace, 83, 93 - pouziti, 73 - Souhrnne okno, 124 - vlastnosti instalace, 115 - vyvoj, 345-346, 394 - Wiki, 353 - Windows, 105 - zabezpeceni, 82, 93 Wiretap, 359 wlanconfig, 241
worm, 326 wu-ftpd, 336 X XMAS, 320 XML, 417 z zahlceni prepinace, 40 zachytavani, 150 - bezdratoveho provozu, 246, 281 - dat, 21 - do ring bufferu, 156 - moznosti, 152 - paketu, 155, 243 - pokrocile techniky, 84 - rozhrani, 151 - v bezdratovych sitich, 314 - volby, 191 zlib, 350 znacka, parametr, 263 zobrazeni, 143 - casu, 144 - moznosti, 154 - v novem okne, 147 - vizualni, 375 zprava, falsovani, 87 zrcadleni portu, 39
knihy.cpress.cz Vedici Mistrovstvi jiz deset let vychdzeji nejproslulejSi svetove tituly pod- tacove literatury a vyjimecrid dila domacfch autoru, ktera vas nautf doko- nale ovlddnout danou technology nebo produkt, at'jiz jde о programo- vdni v urcitem programovadm jazyce, pouzivani kancelafskeho baliku, tvorbu a spravu databdzi, administraci operacniho systemu nebo kouzla v grafickCm programu. At'jiz mdte tdsteinC zkutenosti nebo teprve stojite na prahu poznani, 5 knihami „Mistrovstvi" dosdhnete umeniznalcii sveho oboru. MISTROVSTVf V MICROSOFT WINDOWS VISTA Ed Bott, Carl Siechert, Craig Stinson MISTROVSTVf V MICROSOFT WINDOWS XP Ed Bott, Carl Siechert MISTROVSTVf V MICROSOFT OFFICE EXCEL 2007 MISTROVSTVf V MICROSOFT OFFICE EXCEL 2003 MISTROVSTVI V MICROSOFT OFFICE ACCESS 2003 Mark Dodge, Craig Stinson Craig Stmson, Mark Dodge John L. Viescas Mkrewft Windows Vista Orih» 40i«r ЬГСы* »«• 1048 stran 790Ki/1190Sk prodejni kdd К1480 642 stran 590 Kc/890 Sk prodejni kod K0725 mistrovstvi * a Microsoft Office Excel 2007 % 940 stran + CD 990 Кё/1350 Sk prodejni kod К1487 Microsoft Office Excel 2003 888 stran + CD 990 Kc/1330 Sk prodejni kdd K1137 mistfovst^j < aa Mi<r»s«H Office Access 2003 •мм» Ю0 J 4« OMaA, 968 stran + CD 890 Kc/1330 Sk prodejni kod KI 073 MISTROVSTVI vcss MISTROVSTVI VPHP5 Andi Gutmans, Stig Saether Bakken, Derick Ret ha ns 469 Ki/699Sk prodejni kdd К1467 656 stran 597 Ki/897 Sk prodejn k6d KI 474 MISTROVSTVI V MYSQL 5 Michael Kofler 808 stran 890 Kc/1340 Sk prodejni kdd KI 341 MISTROVSTVI VC++ 3. akiualizovanE VYDAnI Ste phen Prata 1120 stran 990 Ki/1490Sk prodejni kdd KI 454 MISTROVSTVI V JAZYCE ASSEMBLER Vlad Pirogov iazyc* Assembler 632 stran 890 Kc/1330 Sk prodejni kod KI 272 MISTROVSTVf V LINUXU Phkazovy radek, shell, programovani MarkGSobeil MISTROVSTVf V MICROSOFT WINDOWS SERVER 2003 Petr Setka MISTROVSTVI V PROGRAMOVANl SQL SERVERU 2005 Andrew J. Brust Stephen Forte MISTROVSTVf V MICROSOFT EXCHANGE SERVER 2003 Jim Me Bee, Barry Gerbe^Petr Setka MISTROVSTVI V ORACLE DATABASE10G Kevin Loney, Bob Bryla mi$tro /st. v Linuxu Pnkorovy radek, pioyiMMVM* Windows Server 2003 nlistf О VS I pragramavoni SQL Serveru 2005 Microsoft Exchange Server 2003 Oracle Database j-slOa 984 stran 1490 K£/2230Sk prodejni kdd K1160 704 stran 1390 кг/1940 Sk prodejni kdd KI 221 704 stran + CD 690 Kc/1040 Sk prodejni kdd KI 337 848 stran + DVD 990 Ki/1490 Sk prodejni kdd K1443 880 stran 990 Kl/1490 Sk prodejni kdd KI458
Edice Hotovd reseni prindii zakladni vzory, stavebni kameny a fetenl typickych problemu ph vaii prdci s potitatem. Кготё konkretnich postupu a vysledku obsahuje take potfebna vysvetleni, takze se nauate mnoho noveho tlm nejlepsim zpusobem: praktickym pozndnim. Кготё nejdulezitejsich uloh pfiddvaji osvedcen1 autoh radu inspirativnich pfikladu, efektivnich feteni Ci zajimavych tipu - jak pro vase pozndm dane technologies produktu Ci programovaci^o jazyka, tak pfimo pro vase dokumenty, systemy d aplikace! HTML A DHTML hotovA ReSeni Imrich Buransky CSS hotova ReSenI Petr StaniZek JAVASCRIPT HOTOVA ReSeni Petr V^clavek PHP A MYSQL 5 hotovA ReSenI 2. aktualizovanE VYDAnI Luboslav Lac ко ASP.NET A ADO.NET 2.0 HOTOVA RE$ENl Luboslav Lacko HTML a DHTML Hotova reseni 272 st ran 4* CD 269K€/359Sk prodejni- kod K0891 268 stran + CD 289 Ki/369 Sk prodejni kod K0994 256 stran 199K£/299Sk prodejni kod K0814 350 stran + CD 349 Kc/449 Sk prodejni kod KI 479 388 stran + CD 369 Kc/517Sk prodejni kod K1194 C# hotovA ReSeni Miroslav Virius VIUAL BASIC.NET hotovA ReSenI Martin Giirtler, Pavel Kocich JAVA HOTOVA RESENl Lu bo5 Briiha SQL hotovA ResenI MICROSOFT OFFICE PROJECT Luboslav lacko hotova ReSenI Karel Hyndrcik c# Hotova resent B»ET Hatova resent Java Hotova reseni я Л % SQLfi Project Hotova reseni Hotova reseni 344 stran 4* CD 397 Ke/549 Sk prodejni kod KI 236 312 stran 4* CD 289 Kt/429Sk prodejni kdd KI 017 328 stran + CD 349 Кг/429 Sk prodejni kdd K0880 296 stran + CD 297 Кг/449 Sk prodejni kod K0848 312 stran 319K£/449Sk prodejni kod KI 428 MICROSOFT EXCHANGE SERVER 2003 HOTOVA ReSenI Petr Setka SHAREPOINT HOTOVA ReSenI Ondrej Pasch 3DS MAX hotovA ReSenI Jan Knz MICROSOFT WINDOWS SERVER 2003 HOTOVA ReSeni Patrik Malin a 3dsmax AUTOCAD A AUTOCAD LT HOTOVA ReSen( Peter Janecek 360 stran + DVD 369 Ki/517Sk prodejni kod KI310 328 stran 497 Kl/699 Sk prodejni kdd KI230 208 stran 295 Kd/445 Sk prodejni kdd K1186 248 stran 4* CD 299 Кг/429 Sk prodejni kdd K1187 240 stran + CO 289 Kt/399 Sk prodejni kdd KI 278
Dalsi knihy z nabidky nakladatelstvi Computer Press Exchange Server 2007 । K1525 504 stran / 690 Kc Henrik Walther: Jak vyzrat na Microsoft Exchange Server 2007 Sprava, konfigurace, upgrade Optimalizovany pruvodce pro prazdnene systemove administrato- ry. Exchange 2007 prinasi mnozstvi novych funkci, presto neni nutne stu- lovat tluste publikace, mate-li zkusenosti z dfivejsich verzi । na starosti vice ruznych systemu. Unikatni, avsak naprosto azne minena pfirucka vam pomuze Exchange Server 2007 provoznit a udrzet ve spolehlivem, efektivnim a bezpecnem hodu v nejkratsim moznem case a s minimalnim usilim. zane- radce MicraMfl Windows adrninl»tr«i K1578 704 stran / 649 Kc William R. Stanek: Microsoft Windows Server 2008 Kapesni radce administratora Prakticka reference a pruvodce kazdo- denni spravou Windows Serveru 2008 a pracovnich stanic. Poskytne vam pec- live vybrane rady a tipy к praci se sou- bory, zalohovani a obnoveni dat, sledovani procesu, sluzeb a udalosti, administraci uzivatelskych cictu a skupin, vyuziti TCP/IP, WINS a DNS pfi sprave site, vylepseni zabezpeceni a mnohemu dalsimu. Obsahuje pfehledne tabulky, seznamy a postupy krok za krokem. Windows ....... SharePoint Services 3.0 KI 580 640 stran / 990 Kc Errin O'Connor: Mistrovstvi ve Windows Sharepoint Services 3.0 S timto kompletnim pruvodcem se naucite vse, co potrebujete vedet pri praci s Windows SharePoint Services 3.0. Kniha je plna okamzitych feseni. Dozvite se, jak zjednodusit sdileni informaci v ramci firmy, zefektivnit tymovou spolupraci, zvysit vlastni produktivitu. Objevi'te i nove funkce tykajici se napriklad blogu a RSS. Kniha samozfejme neopomina ani spolupraci SharePoint Services s dalsimi produkty. MICROSOFT SQL SERVER 2005 K1494 1080 stran / 1450 Kc Edward Whalen, Marcilina Garcia, Burzin Patel, Stacia Misner, Victor Isakov: Microsoft SQL Server 2005 Velky pruvodce administratora Pruvodce vsemi aspekty SQL Serveru 2005 a mnoha dulezitymi doved- nostmi spravce. V publikaci se fesi zakladni otazky role a Okolu databazove administrato- ra, vytvafeni tabulek a pohledu, dale konfigurace SQL Serveru v siti a nastaveni pameti, principy zalohovani a obnoveni dat, transakce a uzamykani, deleni dat nebo sprava uzivatelu a zabezpeceni. S timto titulem ovladnete SQL Server dokonale. K1337 704 stran + CD / 690 Kc Petr Setka: Mistrovstvi v Microsoft Windows Server 2003 Ze zacinajiciho spravce expertem Chcete byt Ospesnym spravcem site? Nejoblibenejsi kniha к Windows Serveru 2003 vynika srozumitelnym podanim, spolehlivymi postupy, radami a resenimi od spickoveho konzultanta. Postupnd pronika do taju narocnejsich sitovych konstelaci, nauci vas system v ruznych podminkach instalovat, konfiguro- vat, zabezpecit, aktualizovat, nakonfigurovat pro pfipo- jeni pobocek a praci s elektronickou postou atd. KI514 1432 stran + DVD/1990 Kcb Mitch Tulloch, Tony Northrup, Jerry Honeycutt, Microsoft Windows Vista Team: Microsoft Windows Vista Resource Kit Windows Vista Team vam poskytuje definitivni a kompletni zdroj pro spra- vu, fizeni, nastaveni a zabezpeceni tohoto operacniho systemu. Vykladjde do hloubky a slouzi tez jako technicky pruvodce pro experty. Nahlednete tak do „vnitfnosti" Windows Vista, vyuzijete podrobne infor- mace a rychleji vyfesite pfipadne problemy. Pfilozene DVD obsahuje vice nez 200 skriptu, nastroju a dalsich zdroju. Vsechny tyto a mnohe dalsi zajimavd publikace si muzete objednat u zasilkovd sluzby naseho vydavatelstvi, nebo je zadejte u vaseho knihkupce. Zcisilkova sluzba pro CR: Computer Press Brno, Holandski 8,639 00 Brno, tel.: 800 555 513, e-mail: distribuce@cpress.cz Zasilkovi sluzba pro SR: Computer Press Bratislava, Hattalova 12,831 03 Bratislava, Slovenski republika, tel. +421 (2) 4445 2048, e-mail:distribucia@cpress.sk I
Dalsi knihy z nabidky nakladatelstvi Computer Press Windows Vista K1480 1048 stran / 790 Kd Ed Bott, Carl Siechert, Craig Stinson: Mistrovstvi v Microsoft Windows Vista Oblibena publikacezediceMicrosoft Press Inside Out - tak obdivovana vsemi, kdo chteji pfijit na kloub vsem moznostem produktu Microsoft. >o nejmensiho detailu, ale pfitom velmi srozumitelne, ysvetli vsechny funkce, moznosti nastaveni i prakticke yuziti Windows Vista. Naucite se vyuzivat nove nastroje iro digital™' media, instalovat hardware, upravit registr, istalovat site, zabezpecit system a mnoho dalsiho. PowerShell Podrobny pruvodce skriptovdnim K1511 344 stran + CD/439 к* Patrik Malina: Microsoft Windows PowerShell Podrobny pruvodce skriptovam'm Nastup skriptovaciho jazyka PowerShell zmenil svet administrace operacnich systemu Windows. S prvni ceskou priruckou z pera ceskeho odbornika proniknete do tohoto jazyka praktickym zpuso- bem od jeho zakladu az po pokrocile vyuziti. Mimo ucebni latky v knize najdete take kompletni referencni prirucku jazyka a na CD pfilozenem ke knize instalaci PowerShellu, potrebne nastroje a vsechny kody skriptu z knihy. Ubuntu Praktickd к i-ucka urivatetollnuxu Kl 568 272 stran + 2DVD / 397 Kc kolektiv autorO: Ubuntu Prirucka uzivatele Linuxu Ziskejte nejoblibenejsi linuxovou distribuci a praktickou instalacni a uzivatelskou prirucku v jednom! Kniha se venuje instalaci, prvnimu startu a nastaveni Ubuntu a tez yuziti pfitomnych aplikaci. Zjistite, jak vyladit a vylepsit ystem a upravit vzhled. Ziskate take navody pro spravu konfiguraci Ubuntu. DVD obsahuji Ubuntu 8.04 CZ pro 2- i 64bitovou platforrmu a dve dvouvrstva DVD s ovla- aci, aplikacemi a hrami. WINDOWS SERVER 2003 KI 450 704 stran + CD / 990 Kc Annette Stolz: Microsoft Windows Server 2003 Skripty Velka kniha reseni Resite spravu Windows Serveru 2003 a hledate ta nejlepsi a nejefektivnejsi feseni vsech bezne provadenych cin- nosti? Autofi nachystali temef 200 postupu spravy Windows Serveru 2003 R2 pomoci pfika- zoveho fadku a VBScriptu. Dozvite se jak spravovat uziva- tele a skupiny, soubory a slozky, disky, sit’, registr i role systemu a jak ulohy automatizovat. Ke knize je pfilozeno CD se vsemi kody a dalsimi uzitecnymi nastroji. K1517 1224 stran / 990 Kc John Viescas, Jeff Conrad: Mistrovstvi v Microsoft Office Access 2007 Zaklady Accessu mate za sebou, potfebujete ho vsak poznat lepe, f esit realne problemy. Uznavany pru- vodce z di'lny Microsoftu vas zasveti do hloubky moznosti Accessu 2007 ukaze vam vsechny jeho nastroje v praxi! Kompletni okryti temat, pfehledne uspofadani, stovky postupu, 2seni a triku z vyzbroje pfednkh znalcu vam podaji dpoved'skutecne pro kazdou situaci a uciniz vas oprav- ove mistry databazi! Kl 487 936 stran + CD / 990 Kc Mark Dodge, Craig Stinson: Mistrovstvi v Microsoft Office Excel 2007 Zaklady Excelu mate za sebou, potfebujete vsak о nem vedet vic, fesit realne problemy. Uznavany prO- vodce z di'lny Microsoftu vas zasveti do hloubky moznosti Excelu 2007 a ukaze vam snad vsechny jeho funkce v praxi! Kompletni pokryti temat, pfehledne uspofadani, stovky postupu, feseni a triku z vyzbroje pfednich znalcu vam podaji odpoved’skutecne pro kazdou situaci a ucini z vas oprav- dove mistry tabulkoveho procesoru! Vsechny tyto a mnohd dal§i zajimave publikace si muzete objednat u z^silkove sluzby naseho vydavatelstvi, nebo je zadejte u vaseho knihkupce. Zasilkova sluzba pro CR: Computer Press Brno, Holandsk^ 8,639 00 Brno, tel.: 800 555 513, e-mail: distribuce@cpress.cz Zasilkov^ sluzba pro SR: Computer Press Bratislava, Hattalova 12,831 03 Bratislava, Slovenska republika, tel. +421 (2) 4445 2048, e-mail:distribucia@cpress.sk