vyuka:cviceni:x36los:uloha1-zadani

Differences

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

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
vyuka:cviceni:x36los:uloha1-zadani [2007/03/28 21:25] miskovyuka: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**.
  
- +===== I. - Společná část ===== 
-===== Společná část ===== +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
-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+
   - 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.
   - 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 MSS (maximum segment size).+        - hodnotu MSS (maximum segment size) - vypsat hodnotu MSS
  
-Stačí vypsat hodnotu MSS na začátku spojení každou její ípadnou změnu během spojení.+Výpis bude také obsahovat hlavičku udávající IP adresy čí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 í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.
  
-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.+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.
  
-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. 
  
 ==== Nutné předpoklady ==== ==== Nutné předpoklady ====
-  * program bude mít následující syntaxi: ''./analyzer soubor.vstup IP1 IP2'', 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 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 v učebně K308 bez použití notebooku (tzn. předvádět můžete na notebooku, ale musíte ho umět rozchodit i jinde než doma)+  * 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)
  
-===== Specifická část ===== +===== II. - 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ě.+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ě.
  
-1. FTP řídící relace+==== 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 40: 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 61: 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 67: 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]] (lin/win), nebo [[http://www.tcpdump.org|tcpdump]] (linux). tcpdump spusťte s parametry:  +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> +<code bash>tcpdump -s 1530 -w (jmeno_dump_souboru)</code>
-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. [[http://www.tcpdump.org/|libpcap]]. K ulehčení analýzy souboru použijte knihovny [[http://winpcap.polito.it/|WinPcap]], resp. [[http://www.tcpdump.org/|libpcap]].
Line 83: Line 82:
 ===== Odkazy ===== ===== Odkazy =====
   * [[http://wiki.wireshark.org/SampleCaptures]] - různě síťové toky zachycené wiresharkem   * [[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í ===== ===== Podmínky odevzdání =====
Line 90: Line 91:
   * 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.   * 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.   * 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. ulohy dělané ve dvojici budou na service uloženy dvakrát.+  * 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.   * Odevzdávané úloze rozumí autor i spoluautor.
  
 ~~DISCUSSION~~ ~~DISCUSSION~~
  
  • vyuka/cviceni/x36los/uloha1-zadani.1175117116.txt.gz
  • Last modified: 2007/03/28 21:25
  • (external edit)