vyuka:cviceni:x36los:uloha1-zadani

This is an old revision of the document!


X36LOS: Úloha 1

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.

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

  1. 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.
  2. 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:
    1. jednotlivé fáze navazování spojení
    2. jednotlivé fáze ukončování spojení
    3. ztráta paketu či potvrzení (tj. opakování dat) (vyskytne-li se)
    4. fragmentované pakety (vyskytnou-li se)
    5. dohodu obou stran na MSS (maximum segment size).

Stačí vypsat hodnotu MSS 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.

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.

  • 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 i bez použití notebooku (tzn. předvádět můžete i na notebooku, ale musíte ho umět rozchodit i jinde než doma)

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 Výstupem bude text jednotlivých příkazu a odpovědí včetně vyznačeného směru.

Př.:

>>> USER abcd
<<< 200 OK
>>> PASS xyz
<<< 200 OK

atd…

2. FTP datová relace Výstupem bude celý prenášený soubor nebo data (napr. výstup příkazu DIR, LS).

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.)

4. TELNET relace Výstupem bude text relace včetně vyznačeného směru.

Př.:

<<< Username:
>>> a
<<< a (tohle je echo napsaných písmen)
>>> b
>>> b (opět echo)
...

Pokud TELNET relace obsahuje vyjednávání jednotlivých nastavení (TELNET options), uveďte také odpovídající výzvu i odpověď v textové (lidsky čitelné) podobě.

5. SMTP relace 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

6. POP3 relace 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

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ů …

Pro odchyt paketů použijte programy Wireshark (lin/win), nebo tcpdump (linux). tcpdump spusťte s parametry:

tcpdump -s 1530 -w (jmeno_dump_souboru) -u (vase_uzivatelske_jmeno).

K ulehčení analýzy souboru použijte knihovny WinPcap, resp. libpcap.

  • 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. ulohy dělané ve dvojici budou na service uloženy dvakrát.
  • Odevzdávané úloze rozumí autor i spoluautor.

~~DISCUSSION~~

  • vyuka/cviceni/x36los/uloha1-zadani.1175777964.txt.gz
  • Last modified: 2007/04/05 12:59
  • by ihi