Teoria sieci komputerowych Wybrane protokoły sieciowe FTP, SMTP, NetBIOS Rafał Wojciechowski
FTP FTP(ang. File Transfer Protocol)- protokół typu klient-serwer umożliwiający przesyłanie plików pomiędzy komputerami pracującymi w oparciu o różne systemy operacyjne poprzez sieć TCP/IP. Protokół ten należy do grupy protokołów warstwy aplikacji modelu TCP/IP i jest zdefiniowany przez IETF w RFC 959
FTP jest protokołem wykorzystujacym do komunikacji dwa połaczenia TCP- jedno z nich jest połączeniem kontrolnym, za pomocą którego przesyłane są polecenia sterujące i informacje statusowe, drugie natomiast służy do transmisji danych FTP działa w dwóch trybach: aktywnym i pasywnym, zależnie od trybu, używa innych portów do komunikacji
Tryb aktywny FTP
Tryb pasywny FTP
Celowość FTP Umożliwienie współdzielenia plików między różnymi stacjami Wprowadzenie możliwości korzystania ze zdalnych systemów Centralizacja archiwów w obrębie wielu hostów Wprowadzenie niezawodnego i wydajnego mechanizmu wymiany danych
Wady FTP Hasła oraz zawartość plików przesyłane są jawnym tekstem, co może być w łatwy sposób przechwycone i wykorzystane przez osoby niepowołane Dla dialogu między serwerem a klientem wykorzystywanych jest wiele połączeń TCP/IP- jedno dla sekwencji kontrolnych i po jednym dla każdej transmisji(reguły systemów bezpieczeństwa wymagają precyzyjnie określonych reguł wspierających wykorzystanie w/w systemów)
Wady FTP Opracowanie reguł firewalla uwzględniających ruch FTP w trybie aktywnym po stronie klienta jest zadaniem skomplikowanym, gdyż wymagane jest otworzenie bezpośredniego portu między serwerem a klientem inicjowane przez serwer, co w większości przypadków uznawane jest za próbę zainicjowania połączenia między zewnętrznym systemem a wewnętrznym klientem i odpowiednio blokowane Duże opóźnienia powodowane znaczną ilością poleceń koniecznych do zainicjowania transferu
Jawna transmisja
Tryby transferu danych FTP ASCII- wysyłane są poszczególne znaki zawierające litery, cyfry, znaki specjalne. Stacja odbiorcza otrzymując znaki, zapisuje je w pliku tekstowym w odpowiednim dla systemu operacyjnego formacie Trybbinarny-danewysyłanesąbitpobicieiwtakiejsamej postaci strona odbiorcza asymiluje strumień bitów umieszczając go w pliku wyjściowym
Konwersacja pomiędzy serwerem FTP a klientem odbywa się za pomocą odpowiednich żądań klienta skierowanych do serwera i odpowiedzi serwera na konkretne żądania klienta Format zapytań klienta bazuje na wyszczególnieniu polecenia konkretnej akcji oraz opcjonalnych parametrów niezbędnych do wykonania określonego zadania
Polecenia sterujące
Odpowiedzi statusowe FTP 1xx- operacja zainicjowana(dodatkowe potwierdzenie przed jej rozpoczęciem) 2xx- operacja wykonana pomyślnie(klient może wykonać kolejną) 3xx- polecenie wykonano pomyślnie(dalsze komendy konieczne zanim serwer przetworzy kolejne żądania) 4xx- tymczasowy błąd(klient może ponowić operację) 5xx-stałybłąd(klientniemożeponowićoperacji)...
Odpowiedzi statusowe FTP x0z-błądskładni x1z- odpowiedź na żądanie informacji x2z- odpowiedź na połączenie x3z- odpowiedź na logowanie i autoryzację x4z-brakspecyfikacji x5z-stansystemuplikówserwerawodniesieniudo przetwarzanych operacji(żądań)...
Korzystanie ze środowiska FTP w trybie tekstowym
Korzystanie z klienta CuteFTP
Korzystanie z IE jako klienta FTP
SMTP SMTP(ang. Simple Mail Transfer Protocol)- protokół komunikacyjny opisujący sposób przekazywania poczty elektronicznej w internecie. Względnie prosty, tekstowy protokół, w którym określa się co najmniej jednego odbiorcę wiadomości(w większości przypadków weryfikowane jest jego istnienie), a następnie przekazuje treść wiadomości. Specyfikacja zawarta w RFC 1123
Początki SMTP SMTP zaczęło być szeroko używane we wczesnych latach osiemdziesiątych jako uzupełnienie UUCP(Unix-to-Unix CoPy) Jednym z pierwszych programów do przesyłania poczty, w którym zastosowano SMTP był sendmail, obecnie istnieje kilkadziesiąt programów implementujących SMTP, m.in. Postfix, Qmail Bernsteina, GroupWise firmy Novell i Microsoft Exchange
SMTP, przeznaczony do transmisji ASCII, nie obsługiwał plików binarnych w celu ich kodowania i przesyłu przez SMTP stworzono oddzielne standardy, takie jak MIME SMTP nie pozwala na pobieranie wiadomości ze zdalnego serwera, do tego celu służą protokoły POP3 lub IMAP SMTP wykorzystuje 25. port TCP Określenie serwera SMTP dla konretnej domeny odbywa się poprzez sprawdzenie rekordu MX(Mail exchange) serwera DNS, w przypadku braku MX wykorzystywany jest rekord A
Wady SMTP Brak mechanizmu weryfikacji nadawcy pierwotnego SMTP, co ułatwia rozpowszechnianie niepożądanych treści poprzez pocztę elektroniczną(wirusy, spam) Rozszerzenie SMTP-AUTH będące jednak tylko częściowym rozwiązaniem problemu- ogranicza wykorzystanie serwera wymagającego autoryzacji do zwielokratniania poczty. Nadal nie istnieje metoda, dzięki której odbiorca autoryzowałby nadawcę-nadawcamożepodszyćsiępodserweriwysłać dowolny komunikat do dowolnego odbiorcy
Sesja SMTP 1. Przedstawienie stron rozpoczynające połączenie z serwerem helo[adres serwera] 2. Podanie adresu nadawcy mail from:[adres nadawcy] 3. Podanie adresu odbiorcy rcpt to:[adresat] 4. Wpisanie wiadomości data 5. Zakończenie sesji quit
Przykładowa sesja SMTP Serwer: 220 www.example.com ESMTP Postfix Klient: HELO mydomain.com Serwer: 250 Hello mydomain.com Klient: MAIL FROM:<sender@mydomain.com> Serwer: 250 Ok Klient: RCPT TO:<friend@example.com> Serwer: 250 Ok...
Przykładowa sesja SMTP... Klient: DATA Serwer: 354 End data with <CR><LF>.<CR><LF> Klient: Subject: test message Klient: From: sender@mydomain.com Klient: To: friend@example.com Klient: Test Klient:. Serwer: 250 Ok: queued as 12345 Klient: QUIT Serwer: 221 Bye
Network Basic Input/ Output System NetBIOS NetBIOS(ang. Network Basic Input/ Output System)- protokół oryginalnie zaprojektowany przez firmę IBM zapewniający podstawowy interfejs łączenia aplikacji z innymi komputerami oraz współdzielenie danych
Network Basic Input/ Output System NetBIOSdziaławwarstwiesesjimodeluOSI/ISO Współpracuje z protokołami TCP/IP, NetBEUI, IPX Początkowo był protokołem przeznaczonym dla IBM PC Network oraz Token Ring Funkcje realizowane przez NetBIOS komunikacjapołączeniowa komunikacjabezpołączeniowa obsługanazw(adresów)
Nazwy NetBIOS AdresamiwNetBIOSsą16znakowenazwy 15 znaków identyfikuje hosta, zaś 16-ty usługę Nazwy moga być dowolnie zmieniane przez hosty zaleta NetBIOS Nazwymusząbyćunikatowewobrębiecałejsieci największa wada
Windows Internet Name Service WINS WINS(ang. Windows Internet Name Service)- usługa stworzona przez firmę Microsoft, umożliwiająca tłumaczenie nazw NetBIOS na adresy internetowe. Usługa przeznaczona jest dla niewielkich sieci
Działanie WINS
NetBIOS Name Query
NetBIOS Name Response
Klient WINS, konfiguracja Weryfikacja ustawień sieci: Menu Start-> Ustawienia-> Połączenia sieciowe i telefoniczne
Klient WINS, konfiguracja Weryfikacja ustawień sieci: MenuStart->Uruchom->cmd->ipconfig/all
Klient WINS, konfiguracja Przeglądanie nazw NetBIOS: MenuStart->Uruchom->cmd->nbtstat-A[AdresIP]
Koniec Dziękujęzauwagę...