Sieci Komputerowe- ćwiczenia/laboratoria

Termin zajęć:
  • ćwiczenia - wtorek, 8:15, A1-24
Rodzaj zajęć:
  • ćwiczenia - 30h.
Warunek zaliczenia ćwiczeń:
  • Obecności - maksymalnie 3 niebecności w semestrze.
  • Co najmniej 50% punktów.
Ocena ćwiczenia:
  • Projekt I (zajęcia 2-6, gniazda) - 40%
    • grupy 2 osobowe
    • stworzyć aplikację
    • prezentacja działania apliakcji
    • Funkcje związane z protokołem powinny zostać zaimplementowane w formie biblioteki
    • Dokumetancja
      • Założenia projektowe
      • Opis implementowanego zakresu protokołu
      • Lista funkcjonalności aplikacji
    • Etapy prac:
      1. Stworzenie założeń projektowych aplikacji - do dokumentacji
      2. Opracowanie protokołu bez implementacji("na kartce") - do dokumentacji
      3. Orpacowanie API biblioteki - do dokumentacji
      4. Implemetacna połączeń i pdostawowych funkcji - komentarze w kodzie do częśći programu i zmiennych
      5. Sprawdzenie działania programów
      6. Zaliczenie projektu
  • Sprawozdanie/Sprawdzian I (zajęcia 7-8, śledzenie protokołów) - 20%
  • Sprawozdanie/Sprawdzian II (zajęcia 9-11, konfiguracja sieci) - 20%
  • Sprawozdanie/Sprawdzian III (zajęcia 12-13, DHCP i DNS) - 20%


Plan ćwiczeń

Tematy projektów

  1. Protokół IMAP - apliakcja klienta
    • pobieranie wiadomosci z serwera
    • zapisywanie wiadomosci lokalnie
    • implementacja jednej skrzynki odbiorczej
    • przechowywanie wiadomosci lokalnie w skrzynce odbiorczej
    • plik konfiguracyjny z informacjami o serwerze i danych uzytkownika oraz o interwale automatycznego pobierania wiadomosci
    • interpretacja kodów otrzymanych od serwera i informowanie o bledach użytkownika
    • implementacja funkcji klienta zgodnych z protokołem
  2. Protokół POP3 - aplikacja klienta
    • pobieranie wiadomosci z serwera
    • zapisywanie wiadomosci lokalnie
    • implementacja jednej skrzynki odbiorczej
    • przechowywanie wiadomosci lokalnie w skrzynce odbiorczej
    • plik konfiguracyjny z informacjami o serwerze i danych uzytkownika oraz o interwale automatycznego pobierania wiadomosci
    • interpretacja kodów otrzymanych od serwera i informowanie o bledach użytkownika
    • implementacja funkcji klienta zgodnych z protokołem
  3. Protokół FTP - klient
    • nawiązanie połączenia
    • przeglądanie katalogów
    • odbieranie plikuów
    • pasywne odebranie pliku
  4. Protokół FTP - serwer
    • obsługuje tylko logowanie anonymous bez hasła
    • nawiązuje połączenie w trybie passive lub active
    • pozwala na przeglądanie jednego katalogu
  5. Serwer NTP
    • pełnoprawny serwer ntp, z którym możemy synchronizować swój czas
  6. Atak NTP
    • budujemy pakiet podszywający się pod innego odbiorcę
    • wyciągamy listę użytkowników ostatnio korzystających z ntp
  7. Protokół IRC - aplikacja klienta
    • rozmowa na jednym lub wielu kanałach
    • możliwość rozmowy prywatnej
    • implementacja funkcji przydatnych dla uzytkownika (rozmowy, zmiany parametrow kanalu, informacji o uzytkowniku)
    • interpretacja kodów otrzymanych od serwera i informowanie o bledach użytkownika
  8. Protokół IRC - aplikacja serwera
    • obsługa jednego kanału "SIK" (pozostałe są niedostępne, np. brak wymaganego +i)
    • możliwość rozmowy prywatnej
    • implementacja rozmowy na kanale, informacji o wejsciu/wyjsciu użytkownika, zmiany parametrow kanalu, informacji o uzytkowniku
  9. Gra w kółko i krzyżyk (projekt 3 osobowy)
    • Opracowanie protokołu dla 2 lub więcej osób
    • Implementacja klienta, który może działać jako serwer (nasłuchuje na wszystkich IP) lub klienta (gdy podany parametr - adres IP serwera)
    • Przeprowadzanie gry na planszy 50x30)
  10. Serwer HTTP
    • obsluga vritualhost - domeny www.12345.pl, www.54321.pl i wyswietlanie strony o którą poprosił użytkownik w zależnosci od domeny z różnych katalogów ustawianie nagłówków serwera (informacja o systemie, informacja o stornie, itp. )
    • obsługa plików php
    • odbieranie od klienta danych POST i plików
    • interpretacja skryptów php - phpcli
    • wysyłanie odpowiednich kodów do klienta
    • zapisanie do pliku logów informacji o połączeniu - kto, kiedy i do jakiej strony www
    • implementacja funkcji serwera zgodnych z protokołem
  11. Stworzenie klienta Jabber
    • lista kontaktów
    • jedno konto
    • obsługa rozmowy
  12. Stworzenie systemu przesyłania danych przez Multicast (projekt 3 osobowy)
    • opracowanie prostego protokołu przesyłania plików
    • aplikacja nadająca - serwer
    • aplikacja odbieraca - klient