Programowanie Aplikacji Sieciowych 2017/2018

Podobne dokumenty
Informacje ogólne o projekcie

MODEL WARSTWOWY PROTOKOŁY TCP/IP

Programowanie współbieżne i rozproszone

Programowanie Sieciowe 1

Dokumentacja wstępna TIN. Rozproszone repozytorium oparte o WebDAV

SIP Studia Podyplomowe Ćwiczenie laboratoryjne Instrukcja

Projekt zaliczeniowy. Mateusz Hołenko Andrzej Stroiński Piotr Zierhoffer 21 grudnia 2015

INSTRUKCJA KONFIGURACJI KLIENTA POCZTOWEGO

Wykład 5: Najważniejsze usługi sieciowe: DNS, SSH, HTTP, . A. Kisiel,Protokoły DNS, SSH, HTTP,

Bezpieczny system poczty elektronicznej

Technologie cyfrowe. Artur Kalinowski. Zakład Cząstek i Oddziaływań Fundamentalnych Pasteura 5, pokój 4.15 Artur.Kalinowski@fuw.edu.

Klient-Serwer Komunikacja przy pomocy gniazd

Generatory pomocy multimedialnych

Sieci komputerowe i bazy danych

Studium przypadku Case Study CCNA2-ROUTING. Warianty projektów

Wybrane działy Informatyki Stosowanej

Konfiguracja programu MS Outlook 2007 dla poczty w hostingu Sprint Data Center

Sieci komputerowe. Wykład 5: Warstwa transportowa: TCP i UDP. Marcin Bieńkowski. Instytut Informatyki Uniwersytet Wrocławski

TCP/IP. Warstwa aplikacji. mgr inż. Krzysztof Szałajko

Laboratorium - Przechwytywanie i badanie datagramów DNS w programie Wireshark

Poniżej znajduje się instrukcja konfiguracji najpopularniejszych programów do obsługi poczty.

Wykład 3 / Wykład 4. Na podstawie CCNA Exploration Moduł 3 streszczenie Dr inż. Robert Banasiak

Mediatel 4B Sp. z o.o., ul. Bitwy Warszawskiej 1920 r. 7A, Warszawa,

Konfiguracja poczty IMO w programach Microsoft Outlook oraz Mozilla Thunderbird

Problemy z bezpieczeństwem w sieci lokalnej

Dokumentacja aplikacji Szachy online

timetrack Przewodnik Użytkownika timetrack Najważniejsze Funkcje

Instrukcja konfigurowania poczty Exchange dla klienta pocztowego użytkowanego poza siecią uczelnianą SGH.

Instrukcja konfiguracji funkcji skanowania

Zadanie 2: transakcyjny protokół SKJ (2015)

Konfiguracja konta pocztowego w Thunderbird

Wstęp do systemów wielozadaniowych laboratorium 01 Organizacja zajęć

1 IMAP czy POP3? 2 Instalacja programu Mozilla Thunderbird

Problemy techniczne. Jak udostępnić dane na potrzeby wykonania usługi serwisowej lub wdrożeniowej? Zabezpieczanie plików hasłem

Zadanie programistyczne nr 3 z Sieci komputerowych

SEGMENT TCP CZ. II. Suma kontrolna (ang. Checksum) liczona dla danych jak i nagłówka, weryfikowana po stronie odbiorczej

Dr Michał Tanaś(

Protokół wymiany sentencji, wersja 1

Przesyłania danych przez protokół TCP/IP

Internetowy serwis Era mail Aplikacja sieci Web

Protokoły internetowe

Propozycje projektów (gniazdka)

Sieci komputerowe. Wstęp

Pełna specyfikacja pakietów Mail Cloud

Obsługa poczty elektronicznej w domenie emeritus.ue.poznan.pl

Konfiguracja poczty IMO dla urządzeń mobilnych z systemem ios oraz Android.

Pakiet informacyjny dla nowych użytkowników usługi Multimedia Internet świadczonej przez Multimedia Polska S.A. z siedzibą w Gdyni

Enkapsulacja RARP DANE TYP PREAMBUŁA SFD ADRES DOCELOWY ADRES ŹRÓDŁOWY TYP SUMA KONTROLNA 2 B 2 B 1 B 1 B 2 B N B N B N B N B Typ: 0x0835 Ramka RARP T

System operacyjny UNIX Internet. mgr Michał Popławski, WFAiIS

System kontroli wersji - wprowadzenie. Rzeszów,2 XII 2010

System Kancelaris. Zdalny dostęp do danych

SERWER AKTUALIZACJI UpServ

Wiadomości. Instrukcja użytkownika systemu bankowości internetowej dla firm. BOŚBank24 iboss

Sieci równorzędne, oraz klient - serwer

Programowanie Komponentowe WebAPI

Lekcja 8, 9 i 10. Konspekt lekcji Poczta elektroniczna. Materiał z podręcznika: Rozdział 5. Poczta elektroniczna

SIECI KOMPUTEROWE. Podstawowe wiadomości

Instrukcja uruchomienia egzaminu z użyciem Wirtualnego Serwera Egzaminacyjnego

pomocą programu WinRar.

Zarządzanie bezpieczeństwem w sieciach

DOKUMENTACJA TECHNICZNA SMS API MT

Po pobraniu plików instalacyjnych w pierwszej kolejności dokonujemy instalacji serwera ESET Remote Administrator Server

Trojan bankowy Emotet w wersji DGA

System obsługi ubezpieczeń FORT

Zadanie z lokalnych sieci komputerowych. 1. Cel zajęć

OmniTouch 8400 Instant Communications Suite Integracja z programem Microsoft Outlook

Co w sieci piszczy? Programowanie aplikacji sieciowych w C#

Instrukcja Konfiguracji Programu. MS Outlook Express

Manual konfiguracji konta dla fax2mail

Analiza malware Remote Administration Tool (RAT) DarkComet

Instrukcja konfiguracji programów pocztowych do obsługi poczty

DHL CAS ORACLE Wymagania oraz instalacja

SERWER AKTUALIZACJI UpServ

Skąd dostać adres? Metody uzyskiwania adresów IP. Statycznie RARP. Część sieciowa. Część hosta

Laboratorium 3.4.3: Usługi i protokoły

Co to jest NODE.JS? Nowoczesne środowisko programistyczne

Procedura konfiguracji programu Outlook Express z wykorzystaniem protokołu POP3

Bezpieczeństwo w M875

Autorytatywne serwery DNS w technologii Anycast + IPv6 DNS NOVA. Dlaczego DNS jest tak ważny?

SERWER AKTUALIZACJI UpServ

Laboratorium Ericsson HIS NAE SR-16

HermesEX. Dokumentacja serwisowa v

Qmail radość listonosza. Autorzy: Bartosz Krupowski, Marcin Landoch IVFDS

Połączenie VPN Host-LAN SSL z wykorzystaniem przeglądarki. 1. Konfiguracja serwera VPN 1.1. Ustawienia ogólne 1.2. Konto SSL 1.3. Grupa użytkowników

Portal SRG BFG. Instrukcja korzystania z Portalu SRG BFG

Ćwiczenia 9: Zarządzanie konfiguracją Zadania:

Brinet sp. z o.o. wyłączny przedstawiciel DrayTek w Polsce

1. Model klient-serwer

Wydział Informatyki, Elektroniki i Telekomunikacji Katedra Telekomunikacji

Sprawozdanie Laboratorium 4

Dokumentacja projektu QUAIKE Architektura oprogramowania

Aukcja trwa od momentu, gdy informacje o przedmiocie są dostępne dla klientów, a kończy się wraz z wysłaniem opisanego dalej komunikatu FINISH_MSG.

Klient poczty elektronicznej - Thunderbird

FTP przesył plików w sieci

ZAPYTANIE OFERTOWE. Wsparcie projektów celowych

Instrukcja programu Wireshark (wersja 1.8.3) w zakresie TCP/IP

Metody zabezpieczania transmisji w sieci Ethernet

Projekty Zaliczeniowe Laboratorium Sieci Komputerowych

Rozrywka z komputerem - portal KURNIK.PL

instrukcja INSTALACJI APi_proxy

Transkrypt:

Programowanie Aplikacji Sieciowych 2017/2018 Propozycje programów zaliczeniowych Jako program zaliczeniowy rozumiemy parę programów - serwer i klient. Brak któregokolwiek z programów (klienta lub serwera) skutkuje brakiem zaliczenia. W każdym programie serwer ma możliwość obsługi wielu klientów jednocześnie (do wyboru: za pomocą wątków lub zdarzeń). W każdym z programów należy zaimplementować własny protokół - dokładnie określić typ i format dozwolonych wiadomości. Komendy protokołu wraz z ich parametrami, powinny być dokładnie zdefiniowanie w osobnym plliku, który również należy dołączyć do oddawanego programu zaliczeniowego. Należy zadbać o prawidłową obsługę błędów każdej funkcji w programie. W projektach nie korzystamy z gotowych bibliotek. Program można pisać samodzielnie lub w grupie składającej się z maksymalnie 2 osób, gdzie każda z osób ma jasno określone zadania (ustalone z prowadzącym), które wykonuje, i za które w projekcie odpowiada. Obowiązują zapisy na wybrany projekt, chęć wykonywania określonego projeku można zgłaszać osobiście (na zajęciach) lub mailowo (katarzyna.mazur@umcs.pl). Podczas zapisów na dany temat projektu obowiązuje zasada - kto pierwszy, ten lepszy. Jeden projekt może być wykonywany przez jedną grupę / osobę, nie można wykonywać 2 takich samych projektów. Jako program zaliczeniowy można wybrać dowolny program z poniższej listy, lub zgłaszać własne propozycje programów zaliczeniowych (które muszą zostać zaakceptowane przez prowadzącego). Brak któregokolwiek z plików w paczce oddanej jako program zaliczeniowy (w paczce powinien znaleźć się program klienta, program serwera, opis protokołu, opis uruchomienia programu) skutkuje brakiem zaliczenia. Prawidłowa implementacja wybranego z podanej poniżej listy tematów umożliwia uzyskanie zaliczenia (oceny 3). Projekty, które będą wyróżniały się rozbudowanym protokołem, zaawansowaniem w wykorzystaniu funkcji programowania sieciowego (złożoność projektu) mają szansę na ocenę 5. Na prawidłową implementację składają się: napisanie obu programów: klienta i serwera implementacja własnego protokołu, odpowiednie zdefiniowanie dozwolonych komend i ich parametrów upewnienie się, że wysłano / odebrano całą wiadomość poprawne utworzenie / zamknięcie wykorzystywanych gniazd sieciowych Gotowe projekty zapisane pod nazwą w formacie nazwisko1 nazwisko2 nr projektu 2018.zip należy wysłać, wraz z opisem uruchomienia programu, na adres katarzyna.mazur@umcs.pl co najmniej tydzień przed wybranym terminem zaliczenia. Zaliczenie planowane jest na 25.06.2018-29.06.2018 oraz 02.07.2018-06.07.2018 w godzinach od 9:00 do 15:00. Czas przeznaczony na zaliczenie to ok. pół godziny.

1. Zdalny analizator pakietów (Remote Packet Analyzer) - wysyłają do serwera pakiety sieciowe (w postaci szesnastkowej lub binarnej), a następnie odbierają od serwera odkodowany cały pakiet - odbiera od klientów pakiety, a następnie odkodowuje każde pole pakietu, i tak odkodowany pakiet w całości przesyła klientom Zarówno klient jak i serwer, muszą określić protokół przesyłu pakietów - określić, co aktualnie przesyłamy (typ pakietu) i w jakiej postaci (typ danych: szesnastkowo lub binarnie) W aplikacji należy obsłużyć co najmniej 10 różnych typów pakietów IP, portem, jaki wysłał pakiet, kiedy odesłano odpowiedź,...) Realizacja: Karol Kłodnicki 2. Serwer uploadu/downloadu plików (Remote Hosting Provider) - wysyłają do serwera pliki w dowolnym formacie (txt, mp3, png,...), mają możliwość pobrania z serwera listy wysłanych plików (każdy użytkownik ma własne konto na serwerze służące do przechowywania plików), pobrania dowolnego wcześniej wrzuconego pliku, klient może również pobrać pliki innych użytkowników, jeśli są publicznie dostępne - odbiera od klientów pliki, wysyła klientom pliki, o które pytają, zarządza kontami klientów IP, portem, jaki plik nadesłał,...) 3. Gra w statki (Remote Battleship Game) - łączą się z serwerem i rozgrywają pomiędzy sobą grę w statki - zarządza grą klientów w taki sposób, że równocześnie może być przeprowadzonych kilka gier IP, portem, jaki ruch wykonał,...) Realizacja: Bartłomiej Kloc 4. Zdalny słownik polsko-niemiecki, niemiecko-polski (Remote Anty Grammar Wörterbuch) - łączą się z serwerem, wysyłając mu wiadomość do przetłumaczenia, wiadomość może być krótką wiadomością, lub całym plikiem (tekstowym), który serwer musi przetłumaczyć, i odesłać klientowi w postaci krótkiej wiadomości, bądź całego pliku - tłumaczy tekst i zwraca odpowiedź, zarządza kontami klientów, gdzie przechowuje historię tłumaczeń, każdy klient ma własne konto na serwerze i dostęp do poprzednio tłumaczonych plików/wiadomości, o które może w każdej chwili ponownie zapytać serwer IP, portem, o jakie tłumaczenie poprosił,...) 2

5. BitTorrent - łączą się z głównym serwerem, w celu pobrania danego pliku, mają możliwość sprawdzenia, czy taki plik istnieje, i jeśli tak, na jakim serwerze się znajduje, pobiera dane pliki z jednego lub kilku serwerów - istnieje główny serwer, do którego, podczas uruchomienia, zgłaszają się pozostałe serwery, informując go o tym, jakie posiadają pliki, które mogą udostępnić (w przypadku zmian na jakimkolwiek serwerze wysyłają aktualizację do serwera głównego), serwer udostępnia klientom listę plików i ich położenie IP, portem, o jakie tłumaczenie poprosił,...) Aplikacja to w rzeczywistości sieć peer-to-peer, gdzie jeden plik może znajdować się na jednym serwerze, lub też jeden plik może (w częściach) znajdować się na kilku serwerach 6. Gra w kółko i krzyżyk - serwer zarządza grami klientów, w danej chwili może być prowadzonych kilka gier Realizacja: Paweł Sosnówka, Bartosz Śnieżek 7. Gra w scrabble - serwer zarządza grami klientów, w danej chwili może być prowadzonych kilka gier, serwer dla każdego losuje litery, których można używać, dosyła brakujące litery klientom,... 8. Gra karciana IP,...) 9. Gra w Bingo 3

10. Gra w Go 11. Gra w Makao - łączą się z serwerem, czekają na kolejne osoby (założyć, ile osób może grać w danej rozgrywce), grają razem - serwer zarządza grami klientów, w danej chwili może być prowadzonych kilka gier, lub tylko jedna gra, ale z więcej niż 2 klientami,... 12. Gra liczbowa 13. Gra w szachy 4

14. Gra w wisielca, mogą grać 2 osoby, lub liczba osób dla jednej partii gry jest do ustalenia,... Realizacja: Marek Szajewski, Monika Szkołut 15. Gra Snake,... 16. Czat IRC z mechanizmami bezpieczeństwa - łączą się z serwerem, rozmawiają w tematycznych pokojach,... - odbiera połączenia od klientów następnie pozwala na wybór pokoju i uwierzytelnienie, aby uzyskać dodatkowe uprawnienia,... Realizacja: Mirosław Wnuczek, Szymon Wawrzyńczyk, Mateusz Wlazłowski 17. Kompresja plików ZIP - wysyłaja do serwera pliki zip, oczekują w odpowiedzi od serwera listy plików spakowanych zipem, mogą poprosić serwer o odesłanie wybranego pliku z archiwum,... - odbiera od klientów archiwa zip, dekompresuje, odsyła do klienta listę plików zawartych w zipie, może podesłać klientowi dowolny plik z zipa (rozpakowany),... 5

18. Gra 1 z 10 - łączą się z serwerem, grają razem, odpowiadają na pytania,... - odbiera połączenia klientów, wysyła klientom pytania, odbiera odpowiedzi, sprawdza ich poprawność, odsyła informację o tym, czy udało się odpowiedzieć poprawnie na pytanie, utrzymuje informacje o atanie gry - który klient ma ile punktów, kto wygrał,... 19. Gra Milionrzy - łączą się z serwerem, grają razem, odpowiadają na pytania,... - odbiera połączenia klientów, wysyła klientom pytania, odbiera odpowiedzi, sprawdza ich poprawność, odsyła informację o tym, czy udało się odpowiedzieć poprawnie na pytanie, utrzymuje informacje o atanie gry - który klient ma ile punktów, kto wygrał,... Realizacja: Krystian Witek, Michał Tołczyżewski 20. Gra typu Memory 21. Czat Realizacja: Kirill Yatsenko 6

22. Kalambury 23. Teleturniej 24. Serwer WWW (prosty blog) - posiadają konta na serwerze, każdy ma własną stronę na serwerze, na której może dodawać posty - zarządza stronami (blogami) klientów Realizacja: Jakub Ostrowski, Filip Postępski 25. Serwer SMTP 7

26. Serwer POP3 / IMAP 27. Obsługa BlockChain 28. Serwer HTTP - zwykły klient HTTP (prosta przeglądarka) + atakujący, który próbuje wykonać atak DoS Slowloris na serwerze - obsługa nagłówków HTTP, kodów HTTP, odporny na atak DoS Slowloris 29. Gra RPG 30. Gra Bomberman 8

31. Gra planszowa 32. Gra młynek 33. WAF / DDoS 34. WebSocket Czat - komunikują się z serwerem za pomocą protokołu WebSocket (wiadomość jest opakowana w ramki protokołu WebSocket) - odbiera od klienta wiadomości i wysyła pozostałym klientom na czacie, również wykorzystując protokół WebSocket - tu WebSocket 9

35. Synchronizacja folderów między komputerami - tu WebSocket 36. Gra koło fortuny - tu WebSocket 37. Gra w warcaby Realizacja: Szymon Romaniuk, Michał Paluszkiewicz, Artur Kanclerz 38. Gra w państwa-miasta Realizacja: Dąbrowski Kamil, Pudwel Patryk, Skrzyszewska Agata 39. Gra Lotto Realizacja: Patryk Augustyniak, Mikołaj Batyra, Łukasz Bartmiński 10

40. Gra karciana poker 41. Gra multiplayer Tank 11