vyuka:cviceni:x36los:uloha1-zadani

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
vyuka:cviceni:x36los:uloha1-zadani [2007/02/28 18:01] – vytvořeno rootvyuka:cviceni:x36los:uloha1-zadani [2010/03/10 01:26] (current) – tcpdump uprava ihi
Line 3: Line 3:
 Pomocí programů na odchyt a záznam síťové komunikace (packet sniffer) zaznamenejte relaci níže zadaného typu, kterou budete dále analyzovat. Pomocí programů na odchyt a záznam síťové komunikace (packet sniffer) zaznamenejte relaci níže zadaného typu, kterou budete dále analyzovat.
  
-Zadání má dvě části: společnou a specifickou.+Zadání má dvě části: **společnou** **specifickou**.
  
-===== Společná část ===== +===== I. - Společná část ===== 
-1. stupeň analýzy: Napište program, ktery analyzuje vaši relaci na úrovni TCP spojení. Vstupem programu bude záznam síťové komunikace ve formátu tcpdump, výstupem bude +První stupeň analýzy: Napište program, který analyzuje vaši relaci na úrovni TCP spojení (přes L2, IP k TCP - **nepoužívat filtr z pcapu**). Vstupem programu bude záznam síťové komunikace ve formátu tcpdump, výstupem bude 
-        a) Soubor obsahující již jen vlastní data (data streams) vaší relace bez hlaviček paketů, poskládaná z příslušných TCP paketů. Formát souboru si určete sami. +  Soubor obsahující již jen vlastní data (data streams) vaší relace bez hlaviček paketů, poskládaná z příslušných TCP paketů. Formát souboru si určete sami. 
-        b) Soubor s textovým výpisem informací o daném TCP spojení. Výpis bude obsahovat hlavičky jednotlivých TCP packetů (patřících do téhož spojení) v lidsky čitelné formě. Soustřeďte se především na typy paketů (SYN, SYN-ACK, ACK) a hodnoty čítačů relace. Ve výpisu budou vyznačeny (vloženým řádkem s příslušnou zprávou) zajímavé okamžiky: +  Soubor s textovým výpisem informací o daném TCP spojení. Výpis bude obsahovat hlavičky jednotlivých TCP packetů (patřících do téhož spojení) v lidsky čitelné formě. Soustřeďte se především na typy paketů (SYN, SYN-ACK, ACK) a hodnoty čítačů relace. Ve výpisu budou vyznačeny (vloženým řádkem s příslušnou zprávou) zajímavé okamžiky: 
-        - jednotlivé fáze navazování spojení +        - jednotlivé fáze navazování spojení (pro kontrolu použijte jednoduchý stavový automat) 
-        - jednotlivé fáze ukončování spojení+        - jednotlivé fáze ukončování spojení (pro kontrolu použijte jednoduchý stavový automat)
         - ztráta paketu či potvrzení (tj. opakování dat) (vyskytne-li se)         - ztráta paketu či potvrzení (tj. opakování dat) (vyskytne-li se)
         - fragmentované pakety (vyskytnou-li se)         - fragmentované pakety (vyskytnou-li se)
-        - dohodu obou stran na MTU (max. transfer unit)+        - hodnotu MSS (maximum segment sizevypsat hodnotu MSS
-Stačí vypsat MTU na začátku spojení a každou její případnou změnu během spojení.+
  
-Výpis bude také obsahovat hlavičku udávající IP adresy a čísla IP portů obou komunikujících stran relace. Program bude zpracovávat jen jednu zadanou relaci. Relace může být zadána na příkazové řádce jako adresy a porty komunikujících stran. Budou-li ve vstupním souboru i pakety patřící do jiné relace, musí být ignorovány.Je také možné data předfiltrovat jiným, filtrovacím programem.+Výpis bude také obsahovat hlavičku udávající IP adresy a čísla IP portů obou komunikujících stran relace. Program bude zpracovávat jen jednu zadanou relaci. Relace může být zadána na příkazové řádce jako adresy a porty komunikujících stran. Budou-li ve vstupním souboru i pakety patřící do jiné relace, musí být ignorovány.
  
-Poznámka: Prosím dodržte formát vstupního souboru. Jako ověření funkčnosti vašeho programu můžete dostat ke zpracování data odchytnutá někým jiným.+Poznámka: Prosím dodržte formát vstupního souboru (libpcap). Jako ověření funkčnosti Vašeho programu můžete dostat ke zpracování data odchytnutá někým jiným.
  
-===== Specifická část ===== 
-2. stupeň analýzy: Napište program, který analyzuje vaši relaci na úrovni příslušného aplikačního protokolu. Vstupem je výstupní datový soubor z 1. fáze analýzy, výstupem je textový soubor, popisující průběh relace "v lidsky čitelné" formě. 
  
-1. FTP řídící relace+==== Nutné předpoklady ==== 
 +  * program bude mít následující syntaxi: ''./analyzer soubor.vstup IP1 port IP2 port'', kde ''analyzer'' je název vaší binárky, ''soubor.vstup'' je název vstupního souboru s TCP streamem, ''IP1'' je zdrojová adresa TCP streamu a ''IP2'' je cílová adresa TCP streamu. 
 +  * program půjde spustit i jinde než jen ve Vašem připraveném prostředí (tzn. předvádět můžete klidně na notebooku, ale musíte ho umět rozchodit i někde jinde) 
 + 
 +===== II. - Specifická část ===== 
 +Druhý stupeň analýzy: Napište program, který analyzuje vaši relaci na úrovni příslušného aplikačního protokolu. Vstupem je výstupní datový soubor z 1. fáze analýzy, výstupem je textový soubor, popisující průběh relace "v lidsky čitelné" formě. 
 + 
 +==== Možné aplikační protokoly ==== 
 +(výběr je ponechán zcela na Vaší fantazii - zde uvedené berte jako možné volby) 
 + 
 +1. **FTP** řídící relace
 Výstupem bude text jednotlivých příkazu a odpovědí včetně vyznačeného směru. Výstupem bude text jednotlivých příkazu a odpovědí včetně vyznačeného směru.
  
Line 34: Line 41:
    
  
-2. FTP datová relace+2. **FTP** datová relace
 Výstupem bude celý prenášený soubor nebo data (napr. výstup příkazu DIR, LS). Výstupem bude celý prenášený soubor nebo data (napr. výstup příkazu DIR, LS).
  
-3. HTTP relace+3. **HTTP** relace
 Výstupem budou 3 soubory: HTTP požadavek, hlavička HTTP odpovědi, a vlastní přenášený soubor. (Předpokládáme požadavek typu GET.) Výstupem budou 3 soubory: HTTP požadavek, hlavička HTTP odpovědi, a vlastní přenášený soubor. (Předpokládáme požadavek typu GET.)
    
  
-4. TELNET relace+4. **TELNET** relace
 Výstupem bude text relace včetně vyznačeného směru. Výstupem bude text relace včetně vyznačeného směru.
  
Line 55: Line 62:
    
  
-5. SMTP relace+5. **SMTP** relace
 Výstupem bude text jednotlivých příkazu a odpovědí včetně vyznačeného směru. Výstupem bude text jednotlivých příkazu a odpovědí včetně vyznačeného směru.
  
Line 61: Line 68:
    
  
-6. POP3 relace+6. **POP3** relace
 Výstupem bude text jednotlivých příkazu a odpovědí včetně vyznačeného směru. Výstupem bude text jednotlivých příkazu a odpovědí včetně vyznačeného směru.
  
 Př.: Obdobný jako u zadání č.1 Př.: Obdobný jako u zadání č.1
  
-Vítaným rozšířením práce jsou různá vylepšení. Třeba statistické údaje, časové závislosti, různé dynamické změny parametrů ...+Vítaným (~ bodově ohodnoceným) rozšířením práce jsou různá vylepšení. Třeba statistické údaje, časové závislosti, různé dynamické změny parametrů ..
 + 
 +Pro odchyt paketů použijte programy [[http://www.wireshark.org|Wireshark]] (linux/windows), nebo [[http://www.tcpdump.org|tcpdump]] (linux). tcpdump spusťte s parametry:  
 +<code bash>tcpdump -s 1530 -w (jmeno_dump_souboru)</code> 
 + 
 +K ulehčení analýzy souboru použijte knihovny [[http://winpcap.polito.it/|WinPcap]], resp. [[http://www.tcpdump.org/|libpcap]]. 
 + 
 +===== Odkazy ===== 
 +  * [[http://wiki.wireshark.org/SampleCaptures]] - různě síťové toky zachycené wiresharkem 
 +  * [[http://www.networksorcery.com/enp/topic/ipsuite.htm]] - podrobný popis jednotlivých protokolů 
 +  * [[http://www.tcpdump.org/#documentation]] - dokumentace k TCPDUMPu (zvláště odkaz //Tutorial: Programming with pcap//) 
 +  * [[http://security-freak.net/raw-sockets/raw-sockets.html]] - ukázka použití RAW socketů 
 + 
 +===== Podmínky odevzdání ===== 
 + 
 +  * Soubor s TCP session vám dá cvičící. To znamená, otestujte funkčnost vašeho programu na více vstupních souborech, abyste nebyli překvapeni, že program na jiných datech padá.  
 +  * Ve zdrojovém souboru budou uvedené použité zdroje, pokud vycházíte ze starší úlohy tak musí být poznat co bylo hotové a co je vaše práce. 
 +  * Odevzdání na service.felk.cvut.cz do vašeho projektového adresáře. 
 +  * Uložit ve formě zkomprimovaného zip souboru, název bude ulohaX_<prijmeni>_<prijmeni spoluautora>, tzn. úlohy dělané ve dvojici budou na service uloženy dvakrát. 
 +  * Odevzdávané úloze rozumí autor i spoluautor.
  
-Pro odchyt paketů použijte programy [[www.wireshark.org|Wireshark]] (lin/win), nebo [[http://www.tcpdump.org|tcpdump]] (linux). tcpdump spusťte s parametry:  +~~DISCUSSION~~
-<code bash> +
-tcpdump -s 1530 -w (jmeno_dump_souboru) -u (vase_uzivatelske_jmeno). +
-</code>+
  
-K ulehčení analýzy souboru použijte knihovny [[http://winpcap.polito.it/|WinPcap]], resp. [[libpcap|http://www.tcpdump.org/]]. 
  • vyuka/cviceni/x36los/uloha1-zadani.1172685677.txt.gz
  • Last modified: 2007/02/28 18:01
  • by root