ZÁKLADNÍ ANALÝZA SÍTÍ TCP/IP ÚVOD Analýza sítě je jedním z prostředků potřebných ke sledování výkonu, údržbě a odstraňování závad v počítačových sítích. Většina dnešních sítí je založena na rodině protokolů TCP/IP a je podporována širokou škálou zařízení, včetně domácích spotřebičů a mobilních zařízení. K analýze sítě mohou sloužit jednoduché nástroje, které jsou součástí OS („nslookup“, „ping“, „tracert“ apod.), nebo specializované nástroje typu packet sniffer (např. Wireshark). Pokud pomocí těchto nástrojů zjistíme topologii a chování sítě, jsme pak schopni určit místo a typ případné závady a následně ji odstranit. Analýzu sítě lze také použít k nelegálnímu přístupu k síti a jejím prostředkům, případně k obraně před takovým útokem. U packet snifferů se využívá tzv. promiskuitního režimu síťového adaptéru. V tomto režimu adaptér zachytává i rámce s jinou než vlastní cílovou MAC adresou. Dalším nutným předpokladem pro použití snifferu je „napíchnutí“ linky, což je relativně jednoduché u rozbočovačů, ale u dnešních sítí založených většinou na přepínačích je poněkud komplikováno tím, že pakety jsou z přepínače posílány jen na port, který má v příslušné tabulce uložen příslušnou MAC adresu příjemce. Samozřejmě existují způsoby, jak získat i tyto rámce – nejčastěji užívaným způsobem je zrcadlení portu (použité i v této úloze), kdy přepínač sám posílá na vybraný port veškerou komunikaci, které prochází portem zrcadleným. Dalšími způsoby jsou např. rozbočování (je nutné dočasně odpojit klienta a může dojít ke ztrátám dat), použití odposlechu (prakticky jediná možnost na optických linkách), znehodnocení tabulky přepínače nebo přímá instalace snifferu na klientském počítači (není vždy možná). Obdobné postupy lze použít i u bezdrátových sítí, ale vzhledem k použití technologie rozprostřeného spektra u těchto sítí může být zapotřebí speciální hardware. ANALYZOVANÁ SÍŤ Základní analýzu budete provádět na jednoduché síti. Její schéma je na následujícím obrázku.
1
V síti jsou přítomná pouze dvě zařízení.
Výchozí brána (gateway) sloužící jako přístupový bod do sítě. Jedná se o směrovač, jehož jedno rozhraní (tzv. WAN rozhraní) slouží k připojení do vnější sítě. Zbytek rozhraní směrovače je určen k propojení zařízení na lokální sítí a funguje tedy jako přepínač (tzv. LAN rozhraní). Na LAN rozhraních výchozí brány je aktivován režim zrcadlení portů a veškerá komunikace na nich je tudíž přeposílána na jediné monitorovací LAN rozhraní. Veškerá LAN rozhraní výchozí brány budou mít přidělenou statickou IP adresu. Sledované PC, které je připojeno na jedno z LAN rozhraní výchozí brány. Toto zařízení bude zdrojem veškerého analyzovaného provozu. IP adresa sledovaného PC bude načítána z DHCP serveru ve výchozí bráně.
Na monitorovací LAN rozhraní výchozí brány je připojeno monitorovací PC, které však nemá v průběhu analýzy přiřazenou žádnou IP adresu a není tak součástí analyzované sítě. PROGRAM WIRESHARK Na následujícím obrázku je zobrazeno hlavní okno programu Wireshark.
Pro zahájení zachytávání rámců vyberte v seznamu dostupných síťových adapterů (1) rozhraní sítě Ethernet. Poté zahajte zachytávání stiskem tlačítka v levé horní části (2). Hlavní okno programu Wireshark po zahájení zachytávání rámců je zobrazeno na následujícím obrázku.
2
Okno programu je rozděleno na následující čtyři části.
Pod horním panelem se nachází panel filtrů. V této části okna jsou také připraveny přednastavené filtry. Pod panelem filtrů se nachází seznam zachycených rámců, spolu se základními informacemi o rámcích (1). Výběrem jednoho konkrétního rámce se zobrazí detailní informace v prostředním okně detailního náhledu (2) a surová data rámce ve spodní části okna (3). Okno detailního náhledu obsahuje detailní informace o struktuře rámce a jeho datové nálože.
Je možné (a také žádoucí) si zachycená data uložit. Uložená data lze poté otevřít v programu Wireshark a analyzovat je stejným způsobem, jako data čerstvě zachycená.
ANALÝZA PROTOKOLŮ V této části provedete analýzu několika základních, většinou aplikačních, protokolů z rodiny TCP/IP a seznámíte se tak s jejich účelem a základními principy. Analýzu vždy proveďte sledováním síťového provozu pomocí programu Wireshark s příslušně vybraným přednastaveným filtrem. Na sledovaném PC je k dispozici na pracovní ploše přednáška zabývající se TCP/IP protokoly (soubor „TCPIP_prednaska.pdf“). Tuto přednášku můžete využít pro nalezení potřebných informací o analyzovaném protokolu. Pro zahájení analýzy proveďte následující kroky.
Na sledovaném PC otevřete příkazový řádek. Zrušte aktuální síťovou konfigurace sledovaného PC zadáním příkazu „ipconfig –release“ a vypojte sledované PC ze sítě. Na monitorovacím PC zahajte v programu Wireshark zachytávání rámců. Zapojte sledované PC do sítě a počkejte na přidělení IP adresy.
DYNAMIC HOST CONFIGURATION PROTOCOL Protokol DHCP je protokol aplikační vrstvy OSI modelu a TCP/IP zásobníku určený k dynamické konfiguraci stanic nově připojených k síti. Konfigurovanými parametry jsou v typickém případě IP adresa, maska podsítě, IP adresa výchozí brány a IP adresy DNS serverů, nicméně nastavovaným parametrů může být i více. Více informací o protokolu DHCP naleznete v přednášce.
Na monitorovacím PC vyberte v programu Wireshark přednastavený filtr „DHCP“, analyzujte průběh dynamické konfigurace sledovaného PC a poznamenejte si následující informace. o Postup přidělení IP adresy. o Zdrojové a cílové L2 a L3 adresy rámců / paketů s DHCP datagramy. o Doba zapůjčení IP adresy. o Název sledovaného PC. o Zapůjčená IP adresa. o Maska podsítě. o IP adresa výchozí brány. o IP adresa DHCP serveru. Na sledovaném PC pomocí příkazu „ipconfig –all“ ověřte, zda zachycené informace skutečně odpovídají nastaveným hodnotám.
ADRESS RESOLUTION PR OTOCOL Protokol ARP slouží k překladu adres. Primárně umožňuje přeložit známou L3 (IP) adresu z lokální sítě na L2 (MAC) adresu, nicméně existuje také reverzní varianta tohoto protokolu, která umožňuje i opačný překlad. Díky tomu, že protokol v podstatě operuje mezi dvěma vrstvami, nejde protokol jednoznačně zařadit ani do jedné z vrstev. 3
Nicméně, často je uváděno, že se nachází „mezi“ linkovou a síťovou vrstvou OSI modelu a TCP / IP zásobníku. Více informací o protokolu ARP naleznete v přednášce. Aby nedocházelo ke zbytečnému vytěžování sítě kvůli překladům adres při odesílání každého IP paketu, ukládají si operační systémy mapování mezi L3 a L2 adresami do tzv. ARP cache, ve které záznamy přetrvávají řádově minuty, než jsou automaticky odstraněny.
Na monitorovacím PC vyberte v programu Wireshark přednastavený filtr „ARP“, analyzujte průběh získání MAC adresy výchozí brány z její známé IP adresy a poznamenejte si následující informace. o Postup získání MAC adresy výchozí brány. o Zdrojové a cílové L2 adresy ARP rámců. o Poznamenejte si obsah ARP rámců. Na sledovaném PC zobrazte obsah jeho ARP cache zadáním příkazu „arp –a“ do příkazové řádky. o Obsah ARP cache analyzujte a zjistěte, zda obsahuje MAC adresu výchozí brány.
INTERNET CONTROL MESSAGE PROTOCOL Protokol ICMP slouží k diagnostice a řízení IP vrstvy TCP/IP zásobníku. Nejznámější z diagnostických zpráv používaných tímto protokolem je zřejmě dvojce Echo Request a Echo Reply. Tuto dvojici zprávy využívá například příkaz „ping“ nebo příkaz „tracert“. Příkladem řídících zpráv může být například zpráva Destination Unreachable, která je zasílána mezilehlým L3 zařízením při zjištění nedosažitelnosti cíle, např. kvůli neznámé cestě k cílové stanici nebo kvůli filtraci provozu. Jelikož protokol ICMP (zejména jeho diagnostické zprávy) pomáhá zajistit přenos informací mezi koncovými stanicemi, lze ho zařadit do síťové vrstvy OSI modelu a TCP/IP zásobníku. Více informací o tomto protokolu naleznete v přednášce.
Na sledovaném PC zadejte do příkazové řádky příkaz „ping 147.32.192.2“. Na monitorovacím PC vyberte v programu Wireshark přednastavený filtr „ICMP“ a analyzujte zachycené ICMP zprávy. o Poznamenejte si obsahy zpráv požadavku (Echo Request) a příslušné odpovědi (Echo Reply).
Dvojici zpráv Echo Request a Echo Reply lze také využít ke zjištění počtu síťových mezilehlých zařízení mezi dvěma analyzovanými stanicemi. Stačí odesílat zprávu Echo Reply s postupně se zvyšující hodnotou Time-To-Live. Přesně toho také využívá nástroj „tracert“.
Na sledovaném PC zjistěte prostřednictvím příkazové řádky a příkazu „tracert“ počet síťových mezilehlých zařízení mezi sledovaným PC a libovolným serverem.
DOMAIN NAME SYSTEM Protokol DNS je protokol aplikační vrstvy OSI modelu a TCP/IP zásobníku určený k překladu doménových jmen (tedy lidmi snadno čitelných názvů) serverů do jejich L3 adres. Protokol využívá systému hierarchicky strukturovaných doménových serverů obsahujících informace o L3 adresách koncových stanic v dané doméně, či případně informace o L3 adresách doménových serverů dané domény. Více informací o protokolu DNS naleznete v přednášce. Obdobně jako v případě protokolu ARP, uchovávají operační záznamy mapování mezi doménovými jmény stanic a jejich L3 adresami v tzv. DNS cache za účelem snížení zátěže sítě.
Na cílovém PC zadejte adresu www.seznam.cz do webového prohlížeče.
4
Na monitorovacím PC vyberte v programu Wireshark přednastavený filtr „DNS“, analyzujte průběh získání IP adresy serveru z jeho doménového jména a poznamenejte si následující informace o Postup získání IP adresy. o Zdrojové a cílové L2 a L3 adresy rámců / paketů s DNS datagramy. o Dotazované doménové jméno. o IP adresa dotazované stanice (tedy serveru www.seznam.cz).
Záznam o přiřazení doménového jména k dané L3 adrese je samozřejmě nezbytné udržovat v systému doménových serverů a udržování takového záznamu je často zpoplatněno a časově omezeno. Na internetu je k dispozici řada volně dostupných databází registrací doménových jmen (tzv. „whois“ služby).
Z volně dostupných databází doménových jmen (tzv. „whois“ služeb) zjistěte datum vypršení pronájmu doménového jména libovolného serveru.
HYPERTEXT TRANSFER PROTOCOL Protokol HTTP je textově orientovaný protokol aplikační vrstvy OSI modelu a TCP/IP zásobníku určený k přenosu dat v textové podobě. Primárně se používá k přenosu webových stránek, nicméně je možné jej využít i pro přenos objektových dat nebo vzdálené volání procedur. Více informací o protokolu HTTP naleznete v přednášce.
Na sledovaném PC otevřete webový prohlížeč a otevřete libovolné webové stránky. Na monitorovacím PC vyberte v programu Wireshark přednastavený filtr „HTTP“, analyzujte přenos dat mezi webovým serverem a sledovaným PC a zjistěte následující informace. o Obsah požadavku zaslaného webovým prohlížečem. o Obsah odpovědi zaslané serverem. o Z kolika webových serverů se celkem načítala data pro zvolenou webovou stránku.
FILE TRANSFER PROTOCOL Protokol FTP je protokol aplikační vrstvy OSI modelu a TCP/IP zásobníku určený k přenosu souborů. Na rozdíl od většiny protokolů aktivně využívá dva porty. Jeden pro přenos řídicích informací a druhý pro přenos binárních dat. Více informací o protokolu FTP naleznete v přednášce.
Na sledovaném PC otevřete program FileZilla a přihlaste se k FTP serveru pomocí následujících údajů. o IP adresa serveru: 147.32.202.63. o Uživatelské jméno: student_low. o Heslo: A3B38DSY. Na monitorovacím PC vyberte v programu Wireshark přednastavený filtr „FTP“ a analyzujte průběh připojení k serveru. o Pokuste se najít zachycené přihlašovací údaje. o Analyzujte mechanismus navázání TCP spojení. Na sledovaném PC nahrajte pomocí programu FileZilla textový soubor „RUR_CZ.txt“ na FTP server. Na monitorovacím PC analyzujte průběh přenosu souboru a ověřte následující mechanismy. o Mechanismus pomalého startu. o Mechanismus řízení datového toku pomocí pole Window Size v hlavičkách TCP segmentů.
ZABEZPEČENÍ Řada personalizovaných webových služeb je dnes zabezpečena. Pokuste se zachytit a analyzovat zabezpečenou komunikaci s libovolnou webovou službou (např. e-mail nebo sociální síť).
Na sledovaném PC otevřete ve webovém prohlížeči stránku libovolné zabezpečené služby. 5
Na monitorovacím PC zrušte veškeré filtry tlačítkem „Clear“ a pokuste se analyzovat zachycenou komunikaci. o Pokuste se vysvětlit, proč je obtížné takovou komunikaci zachytit.
6