Západočeská univerzita v Plzni



Podobné dokumenty
Typy samostatných úloh PSI 2005/2006

Protokoly: IP, ARP, RARP, ICMP, IGMP, OSPF

Semestrální projekt do předmětu SPS

4. Síťová vrstva. Síťová vrstva. Počítačové sítě I. 1 (6) KST/IPS1. Studijní cíl. Představíme si funkci síťové vrstvy a jednotlivé protokoly.

ZÁKLADNÍ ANALÝZA SÍTÍ TCP/IP

STŘEDOŠKOLSKÁ ODBORNÁ ČINNOST. Obor SOČ: 18. Informatika. Školní sdílení PC obrazovek. School sharing PC screens

Úvod do počítačových sítí

ZAŘÍZENÍ PRO VZDÁLENÝ SBĚR A PŘENOS DAT FIRMWARE

Nastavení ového účtu Outlook Express operační systém Windows XP

Ověření možností generování provozu na platformě MikroTik + srovnání s Cisco a Open Source řešeními

Zjednodusene zaklady ARP,TCP/IP Jiri Kubina Ver. 1.0 leden 2006

IntraVUE Co je nového

Síťová vrstva. RNDr. Ing. Vladimir Smotlacha, Ph.D.

Západočeská univerzita v Plzni. Správce virtuálních strojů

Příručka uživatele HELPDESK GEOVAP

ANALÝZA TCP/IP 2 ANALÝZA PROTOKOLŮ DHCP, ARP, ICMP A DNS

Aplikace a služba Money Dnes Publisher v deseti krocích

Y36PSI Protokolová rodina TCP/IP

JAY Systém TELwork s.r.o. JAY Systém Klient. Uživatelská příručka ( ) JAYSystem Klient - Uživatelská příručka.docx Stránka: 1 / 15

Registrační číslo projektu: CZ.1.07/1.5.00/ Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost

Architektura rodiny operačních systémů Windows NT Mgr. Josef Horálek

Návod na nastavení připojení k drátové síti na kolejích Jana Opletala pro operační systém MS Windows 10

6. Transportní vrstva

BRICSCAD V15. Licencování

Příloha č. I: Schéma zapojení vývojové desky PVK-PRO

Příručka pro dodavatele. Systém EZVR 1.1 Verze dokumentu 1.3 Datum vydání:

Programátorská příručka

ZÁKLADNÍ UŽIVATELSKÝ MANUÁL PRO SÍŤOVÉ FAXOVÁNÍ

Hypertext Transfer Protocol (HTTP/1.1 RFC 2616) Počítačové sítě Pavel Šinták

TÉMATICKÝ OKRUH Počítače, sítě a operační systémy

Návod na nastavení sítě Eduroam v prostorách 3.LF

Ovládání mapového prohlížeče a aplikace. Šumperk : Mapa města

TMU. USB teploměr. teploměr s rozhraním USB. měření teplot od -55 C do +125 C. 26. května 2006 w w w. p a p o u c h. c o m

Představenstvo, kontrolní komise, vedení. SBD Vítkovice. Elektronická hlášení závad. Scénář postupu práce. Cornelius Scipio s.r.o.

GRE tunel APLIKA ˇ CNÍ P ˇ RÍRU ˇ CKA

IPv6. RNDr. Ing. Vladimir Smotlacha, Ph.D.

Bc. Martin Majer, AiP Beroun s.r.o.

Konfigurace PPPoE připojení v OS Microsoft Windows Vista

VDDMAIL by ESCAD, Corp. (Součást IWSE.NET Services by ESCAD, Corp.)

Wireshark, aneb jak odposlouchávat síť - 1.díl

TC-502L. Tenký klient

Zprávy: Pošta. 1. Spuštění modulu Zprávy. 2. Popis prostředí a ovládacích prvků modulu Zprávy

Analýza síťového provozu. Ing. Dominik Breitenbacher Mgr. Radim Janča

První kroky s METEL IEC IDE

Vážený kliente, 1. Základní informace. Propojení přístrojů. Nastavení protokolu TCP/IP. Registrace počítače

TC-502L TC-60xL. Tenký klient

Outdoor Expert. Uživatelský manuál. Verze aplikace: OutdoorExpert_Manual.docx 1 /

1 Tabulky Příklad 3 Access 2010

1 Princip fungování Aplikace Šimon. 2 Instalace programu do telefonu

Uživatelský manuál. Format Convert V3.1

Artikul system s.r.o. UŽIVATELSKÁ PŘÍRUČKA tel

Dokumentace k produktu IceWarp Outlook konektor

PŘÍKAZ K ZADÁNÍ SEPA PLATBY V APLIKACI MULTICASH KB

SEMESTRÁLNÍ PROJEKT Y38PRO

APS Web Panel. Rozšiřující webový modul pro APS Administrator

Programové vybavení počítačů operační systémy

Přístup k poště MS Office 365 mají pouze studenti 1. a 2. ročníku EkF prezenčního studia. Přístup k ostatním službám mají všichni studenti.

E-NABÍDKA PARTNER.REDA.CZ

Semestrální práce KIV/PC

Instalační příručka Command WorkStation 5.6 se sadou Fiery Extended Applications 4.2

Tiskový manažer Printman (Tiskový manažer verze 1.58 a novější)

Postup přechodu na podporované prostředí. Přechod aplikace BankKlient na nový operační systém formou reinstalace ze zálohy

Aplikace pro elektronicke odesla nı da vky Listu o prohlı dce zemr ele ho a dals ı ch da vek do NZIS.

Zápočtová úloha z předmětu KIV/ZSWI DOKUMENT SPECIFIKACE POŽADAVKŮ

Nastavení MS Windows XP (SP2) pro připojení k eduroam na UTIA AVCR

SCS - Manuál. Obsah. Strana 1 (celkem 14) Verze 1.1

Tiskový manažer - Printman

2015 GEOVAP, spol. s r. o. Všechna práva vyhrazena.

Téma 7: Konfigurace počítačů se systémem Windows 7 III. Téma 7: Konfigurace počítačů se systémem Windows 7 III

Ing. Přemysl Brada, MSc., Ph.D. Ing. Martin Dostal. Katedra informatiky a výpočetní techniky, FAV, ZČU v Plzni

Uživatelská příručka RYANT OtWIin RYANT, s.r.o.

Párování zařízení Bluetooth. Uživatelská příručka

Envis LIMS Klient distribučního portálu

Nastavení pošty v Outlook Express pod Windows XP :

ERP informační systém

Počítačové sítě Transportní vrstva. Transportní vrstva

Elektronický formulář

Analyzátor bezdrátových sítí

Zpracoval Datum Verze Popis změn

Návod pro Windows XP. Příprava

Střední odborná škola a Střední odborné učiliště, Hořovice

Uživatelská příručka

BRICSCAD V16. Licencování

Nastavení ového účtu Outlook 2007

Západočeská univerzita v Plzni Fakulta aplikovaných věd Katedra informatiky a výpočetní techniky UPS. FTP Klient. A05463 fboranek@atlas.

Instalace systému Docházka 3000 na operační systém ReactOS Zdarma dostupné kompatibilní alternativě k systému Windows

INSTALAČNÍ MANUÁL. TME gadget

Quido - Telnet. Popis konfigurace modulů Quido protokolem Telnet. 3. srpna 2007 w w w. p a p o u c h. c o m

VComNet uživatelská příručka. VComNet. Uživatelská příručka Úvod. Vlastnosti aplikace. Blokové schéma. «library» MetelCom LAN

1 Uživatelská dokumentace

OUTLOOK ADDIN PRO SYNCHRONIZACI S AKTIVITAMI RAYNET CRM - POUŽITÍ

1. Administrace služby Bezpečný Internet přes webovou aplikaci WebCare GTS

Registrační číslo projektu: CZ.1.07/1.5.00/ Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost

Instalační a uživatelská příručka aplikace PSImulator2 Obsah

1. Administrace služby Bezpečný Internet přes webovou aplikaci WebCare GTS

Téma 1: Práce s Desktop. Téma 1: Práce s Desktop

Transkript:

Západočeská univerzita v Plzni Fakulta aplikovaných věd Katedra informatiky a výpočetní techniky Semestrální práce z předmětu Počítačové sítě Zachytávání a analýza IP paketů Jiří Kučera, A08N0092P kalwi@students.zcu.cz 23. 6. 2009

Zadání první samostatné úlohy - RPC Navrhněte program pro zachycování a analýzu paketů IP. Analyzujte zejména volitelné parametry. K ověření funkčnosti využijte vhodný program (např. ping s možností nastavení délky paketu) nebo vlastní program, datagramovou aplikaci s možností nastavovat IP parametry pomocí funkce setsockopt(). Dále realizujte program pro syntézu IP datagramů, dovolující testovat libovolné parametry IP záhlaví a nastavovat libovolnou délku paketů. K zobrazení výsledků využijte vhodného grafického rozhraní (FLTK). Naprogramujte pod operačním systémem Linux v programovacím jazyce C (C++) nebo Java. Programátorská dokumentace Aplikace je naprogramována v jazyce Java s použitím knihovny Jpcap, což je nadstavba pro nativní knihovnu PCAP (potažmo WinPcap). Existují dvě odlišné, ale stejnojmenné knihovny Jpcap, a to: http://sourceforge.net/projects/jpcap a http://netresearch.ics.uci.edu/kfujii/jpcap/doc/ První z nich nabízí bohatší API, ovšem nenašel jsem možnost odesílat pakety (pouze zachytávat), navíc poslední verze je z roku 2004. Druhá (poslední verze z 2007) je co do počtu tříd o poznání chudší, ale umožňuje odesílat pakety, proto jsem použil tuto. Nicméně v implementaci jsem nalezl spousty chyb; některé z nich bylo možno obejít, jiné však ne. Nalezené chyby a způsob jejich obejití uvedu níže v dokumentaci. Protože jak zachytávání, tak odesílání RAW paketů na síťové úrovni je možno jen s pomocí podpůrných knihoven (Jpcap), sloučil jsem analyzátor i syntetizér paketů do jedné aplikace. Aplikace je rozdělena do dvou vrstev síťovou a prezentační, každá z vrstev se nachází v samostatném balíku. Síťová vrstva (balík psi.ip.net) V této vrstvě se nachází následující třídy: Captor Spouští a zastavuje vlákno pro zachytávání paketů. Zachycené pakety posílá prezentační vrstvě. Sender Umožňuje odesílat pakety na síť. Protože pakety se vkládají do Ethernetovských rámců, pro odeslání paketu vyžaduje zadat i zdrojovou a cílovou MAC adresu. IPv4Packet Reprezentuje zachycený paket. Knihovna Jpcap sice obsahuje třídu IPPacket, která slouží ke stejnému účelu, ovšem ta obsahuje chyby v implementaci. Třída IPv4Packet tedy slouží jako fasáda zaobalující původní chybu a skrývající chyby.

FakeOptionsGenerator Generuje falešné volitelné parametry IP paketu pro účely ladění analyzátoru. Další důvod existence této třídy je uveden v sekci s popisem chyb knihovny Jpcap. Prezentační vrstva (balík psi.ip.gui) Vrstva obsahuje tyto třídy: Controller Aplikační rozhraní mezi síťovou a prezentační vrstvou. Zachytává události z GUI a spouští přidružené akce. Taktéž uchovává zachycené IP pakety ze síťové vrstvy. Třídy Controller a Captor jsou propojeny přes návrhový vzor Observer-Observable, což zjednodušuje zasílání paketů ze síťové vrstvy do prezentační, a zároveň je tak zajištěna synchronizace mezi vlákny. MainWindowFrame Třída zobrazující hlavní okno aplikace. Definuje všechny ovládací/vizualizační prvky a nastavuje jejich hodnoty podle hodnot v zobrazovaném paketu. PacketsTableModel Třída implementující rozhraní TableModel. Poskytuje tabulce zobrazující pakety data ve vhodné reprezentaci. SenderWindowFrame Třída zobrazující okno pro odesílání paketů. Při odeslání vloží údaje z formuláře do IP paketu a ten nechá odeslat síťovou vrstvou. Parser Pomocná třída pro parsování části hlavičky IP paketu s volitelnými parametry a dále datové části. Tyto údaje převádí na čitelný textový řetězec. Chyby nalezené v knihovně Jpcap a jejich řešení 1) Knihovní třída IPPacket nevrací všechny parametry hlavičky IP paketu. Jedná se o tyto parametry: - Internet Header Length - Type of Service - Flags - Header Checksum Toto jsem obešel vytvořením obalující třídy (IPv4Packet), která chybějící hodnoty dopočítá z pole obsahujícího hlavičku v binární podobě.

2) Datová část zachyceného paketu je poškozená. Obsahuje-li zachycený paket data o délce více než 12 bytů, nejsou tato data vrácena buďto vůbec, nebo jen jejich úsek. To může být způsobeno chybnou implementací knihovny Jpcap, nebo dokonce WinPcap. Tuto chybu nelze obejít žádnými programovacími prostředky. Pozn.: Odesílané pakety obsahují všechna data nepoškozená. 3) Knihovna Jpcap neumožňuje u odesílaných paketů nastavit všechny parametry. Jedná se o tyto parametry: - Version - Fragment Offset - Options Nemožnost nastavení parametru Version je víceméně logická, neboť jiná hodnota než 4 by v IPv4 sítích neměla smysl. S nemožností nastavení Fragment Offset je nutno se smířit, nicméně tato hodnota není z hlediska analýzy jednoho paketu tak zajímavá, takže tato chyba není nikterak fatální. Nemožnost nastavit odesílaným paketům volitelné parametry (pole Options) je poměrně hrubá chyba znesnadňující důsledné splnění zadání. Krom toho v síti, ve které jsem aplikaci ladil, nepřicházely žádné pakety obsahující volitelné parametry. Proto jsem pro účely ladění implementoval možnost vložit do zachycených paketů falešné volitelné parametry, a to ještě před analýzou paketu, takže analyzátoru se pak takový paket jeví, jako by volitelné parametry obsahoval. Pochopitelně je pak také přepočítána délka hlavičky i celého paketu. Obsahuje-li zachycený paket volitelné parametry, pak jsou tyto ponechány tak, jak jsou. Falešné volitelné parametry generuje výše zmíněná třída FakeOptionsGenerator. Uživatelská dokumentace Ke spuštění aplikace je třeba mít nainstalovány knihovny Pcap (WinPcap v případě OS MS Windows) a Jpcap. V případě 64b systému MS Windows není možno použít 64b Javu, ale jen 32b. Aplikace se spustí příkazem java -jar IPAnalyzer.jar Po spuštění se zobrazí okno analyzátoru (Obrázek 1: Okno analyzátoruobrázek 1). V horní části okna se nacházejí ovládací prvky pro zachytávání: Start spustí zachytávání Stop zastaví zachytávání Clear zahodí všechny zachycené pakety Fake Options zapne vkládání falešných volitelných parametrů do zachycených paketů

Device umožňuje vybrat síťové rozhraní, na kterém se bude zachytávat. Packets count limituje počet zachycených paketů, po dosažení tohoto limitu se zachytávání vypne; nastavením nulové hodnoty se tato volba deaktivuje Only last packets v tabulce se zobrazí pouze stanovené množství paketů, starší pakety budou postupně mizet s tím, jak se zachytávají pakety nové, nastavením nulové hodnoty se tato volba deaktivuje Pod ovládacími prvky se nachází tabulka se zachycenými pakety. Kliknutím na paket se zobrazí detailní informace o paketu ve formuláři v dolní části okna. Obrázek 1: Okno analyzátoru Okno pro odesílání paketů (Obrázek 2) se zobrazí po stisknutí tlačítka Send. V okně se nachází formulář se všemi parametry protokolu IP. Ty položky, které není možné nastavit (buď z důvodu chybějící podpory v Jpcap, nebo nesmyslnosti volby), jsou znepřístupněny. Délku paketu je možno ovlivňovat naplněním textové oblasti ve spodní části obrazovky daty. Rovnou se přepočítá hodnota v textovém poli zobrazujícím délku paketu. Oktet TOS se nastavuje podle RFC 2474 jako Differentiated Services, protože původní TOS se již dnes nepoužívá (ovšem v analyzátoru se zobrazí i hodnoty reprezentované jako TOS).

Obrázek 2: Okno pro odesílání paketů Tlačítkem Send v dolní části okna se paket odešle na stejné síťové rozhraní, které je nastavené v analyzátoru.

Závěr Aplikaci jsem vyvíjel pod operačním systémem MS Windows Server 2008 x64 SP2 s knihovnou WinPcap 4.1 beta5 a její nadstavbou Jpcap 0.7 a JDK 1.6.0_13-b03 x86. Jako nejvhodnější způsob ladění aplikace (flexibilnější než výstup do souboru) mi přišlo souběžné zachytávání paketů programem Wireshark a následné porovnávání hodnot v zachycených paketech. Tento způsob ladění jsem použil i pro syntetickou část odesílané pakety jsem kontroloval jak v analyzéru, tak ve zmiňovaném Wiresharku. V použité knihovně Jpcap jsem nalezl několik chyb. Většinu z nich se povedlo nějakým způsobem obejít. Fatální chybou jsou poškozená data v přijímaných paketech. Programem Wireshark jsem ověřil, že naštěstí alespoň data odesílaná jsou v pořádku. Doba trvání vývoje aplikace včetně ladění a psaní dokumentace trvala zhruba týden až deset dní (po 12 16 hod/den). Použité materiály RFC 790 Assigned Numbers RFC 791 Internet Protocol RFC 2474 Definition of the Differentiated Services Field (DS Field) in the IPv4 and IPv6 Headers RFC 3168 The Addition of Explicit Congestion Notification (ECN) to IP http://en.wikipedia.org/wiki/ipv4 http://en.wikipedia.org/wiki/differentiated_services