• Nie Znaleziono Wyników

Zadania domowe 1.

N/A
N/A
Protected

Academic year: 2021

Share "Zadania domowe 1."

Copied!
2
0
0

Pełen tekst

(1)

Programowanie aplikacji klient-serwer – studia zaoczne 2006/2007

1 Laboratorium 2.

1. Zamiana nazwy usługi na numer portu

Napisać program, który będzie działał następująco:

• jeśli podasz numer usługi, program wyświetli jej nazwę

• jeśli podasz nazwę usługi, program wyświetli jej numer

2. Napisać program, który będzie skanował określone porty korzystając z połączenia TCP (TCP connect scan).

Przykład działania programu:

$ ./tcpscan sz133 0 1000 Running scan...

Open: 22 (ssh) Open: 25 (smtp) Open: 111 (sunrpc) Open: 777 (unknown) Open: 631 (ipp)

3. Napisz wielowątkową wersję skanera portów z zadania 1. Program ma być uruchamiany następująco:

./tcpscan <adres/nazwa hosta> <dolny port> <górny port> <liczba wątków>

Do funkcji wątku przekazywany jest adres/nazwa hosta. Numery graniczne portów są przechowywane w zmiennych globalnych. Numer portu, który aktualnie jest sprawdzany przechowywany jest również w zmiennej globalnej, chronionej za pomocą muteksu.

4. Sprawdź za pomocą programu telnet jak działa usługa echo. Opracuj własną wersję klienta standardowej usługi echo (TCP) współpracującą z serwerem systemowym echa. Ma ona umożliwiać wprowadzanie danych

przesyłanych do serwera do momentu wygenerowania przez użytkownika końca pliku (CTRL-D). Parametrem klienta jest adres IP serwera i numer portu. Jak sprawdzić, czy odebrano cały tekst z serwera? Czy klient powinien od razu wyświetlać otrzymaną część tekstu czy też czekać na zwrócenie przez serwer całego tekstu?

Dodatkowo:

• Klient powinien przed próbą połączenia wyświetlić komunikat: "Nawiazywane polaczenie

z adres_IP na porcie numer_Portu ...". W miejscu adres_IP należy wyświetlać właściwy adres IP, i odpowiednio w miejscu numer_Portu – numer portu.

• Po nawiązaniu połączenia należy wyświetlić komunikat: "Polaczenie nawiazano. Wprowadz tekst."

4.1. Sprawdź działanie klienta przy zablokowanej i odblokowanej usłudze echa na serwerze.

4.2. Sprawdź, co się będzie działo, jeśli nie zamienisz numeru portu na sieciową kolejność bajtów.

Zadania domowe

1. Napisz własny serwer zmodyfikowanej usługi echo (TCP) - serwer ten przyjmuje tekst od użytkownika i zwraca tekst zapisany od końca. Tekst może być dowolnie długi. Parametrem serwera jest numer portu. Serwer może być uruchamiany w dwóch trybach: interakcyjnym (przyłączony do terminala) lub jako demon. Można w nim włączać lub wyłączać logowanie nawiązanych połączeń. Przy włączonym logowaniu w trybie interakcyjnym, informacja o nawiązanych połączeniach jest wyświetlana na ekranie. W trybie demona informacja jest przesyłana do pliku logu. Tryb pracy jest wybierany za pomocą opcji w wierszu wywołania programu.

• Opracuj protokół dla tej usługi.

• Uruchom serwer na porcie powyżej 9000. Sprawdź czy klient z zadania 4 poprawnie współpracuje z tym serwerem. Jeśli nie, zmodyfikuj odpowiednio klienta tak, aby można było przetestować program serwera.

• Jakie sygnały powinny być obsługiwane przez serwer? Jakie sygnały powinny być obsługiwane przez klienta?

(2)

Programowanie aplikacji klient-serwer – studia zaoczne 2006/2007

2 2. Napisz prostą aplikację do pobierania plików z serwera. Klient przesyła do serwera nazwę pliku, który chce pobrać.

Serwer czyta nazwę pliku, odnajduje go na dysku i przesyła do klienta. Klient odbiera plik i albo wyświetla go na ekranie (jeśli pominięta zostanie nazwa docelowa) albo zapisuje na dysku. Proponowane wywołanie klienta:

klientPliki <serwer_IP> <nazwa_pliku_źródłowego> [<nazwa_docelowa_pliku>]

Problemy do rozwiązania: Jak serwer może rozpoznać, że otrzymał pełną nazwę pliku? Jak klient może stwierdzić, że otrzymał już cały plik?

Cytaty

Powiązane dokumenty

Celem pracy jest określenie możliwości wykorzystania darmowej aplikacji mobilnej i urządzenia typu smartfonu w ocenie częstotliwości zespołów QRS i osi elektrycznej serca jako

Przy założeniu, że zmiana natężenia pola magnetycznego odbywa się dostatecznie wolno i ewolucja układu kubitów odbywa się adiabatycznie, układ kubitów pozostanie cały czas

Podać wynik w postaci konkretnej liczby, zapisanej za pomocą kolejnych cyfr, nie zaś iloczynu,..

Ile różnych kodów składających się z 5 znaków można utworzyć z 10 cyfr arabskich i 26 liter alfabetu łacińskiego, jeśli kod musi zaczynać się trzema różnymi literami, a

Należy zwrócić uwagę na cechy algorytmu (poprawność, jednoznaczność, szczegółowość, uniwersalność) oraz na takie cechy jak: skończoność (naturalny koniec

• Powtórzenie jakie obrazy otrzymujemy za pomocą soczewek i jak obraz zależy od odległości od soczewki i ogniskowej – uczniowie przy pomocy nauczyciela objaśniają

Peeling (płyn lub żel) nakłada się na powierzchnię skóry –odczekuje odpowiednią ilość czasu, następnie neutralizuje. Działanie jest zależne od użytego

W obiektowych bibliotekach we/wy zdefiniowano róŜne klasy obiektów − strumieni (w zaleŜności od specyficznych cech danego „urządzenia”). Cechy strumienia moŜna