Rozdział 9. Protokoły i programy usługowe poziomu...

40
Rozdział 9. Protokoły i programy usługowe poziomu aplikacji Dogłębnie Niniejszy rozdział zajmuje się protokołami, które są, koncepcyjnie rzecz biorąc, zlokalizowane w dolnej części warstwy aplikacji czterowarstwowego modelu TCP/IP, lub w warstwie sesyjnej siedmiowarstwowego modelu otwartego połączenia systemów (OSI). Protokoły te wykorzystują protokoły warstwy transportu, aby implementować przesyłanie i przechowywanie informacji w intranetach oraz Internecie. Ten rozdział opisuje protokół transmisji plików (FTP), który wykorzystuje protokół sterowania transmisją (TCP) do przesyłania długich plików i implementowania witryny internetowej FTP, oraz protokół transferu plików podstawowych (TFTP), który wykorzystuje protokół datagramów użytkownika do przesyłania małych ilości danych z zastosowaniem dostawy przy użyciu dostępnych możliwości. Chociaż protokół routingu internetowego (RIP), koncepcyjnie rzecz biorąc, działa w warstwie aplikacji, to jest on wykorzystywany przez protokół IP do tworzenia i utrzymywania tablic tras i z tego powodu został omówiony w rozdziale 3 wraz z protokołem IP. Protokół prostego transferu poczty elektronicznej (SMTP) znajduje się w tej warstwie i jest opisany w niniejszym rozdziale, podobnie jak protokół emulacji terminala (Telnet). Protokół prostego zarządzania siecią (SNMP) wykorzystywany jest do zarządzania siecią oraz usuwania usterek i (prawdopodobnie) działa na wyższym poziomie w warstwie aplikacji. Protokół SNMP jest opisany w rozdziale 17. Rozdział 7 podaje listę komunikacyjnych programów usługowych systemu Windows 2000, które są opisane bardziej szczegółowo w tym rozdziale, podobnie jak protokół transmisji hipertekstu (HTTP), protokół sieciowego transferu grup dyskusyjnych (NNTP) oraz protokół odbierania poczty w wersji 3 (POP3). Diagnostyczne programy usługowe systemu Windows 2000 są opisane w rozdziale 17.

Transcript of Rozdział 9. Protokoły i programy usługowe poziomu...

Page 1: Rozdział 9. Protokoły i programy usługowe poziomu aplikacjicarme.pld-linux.org/~evil/varia/informatyka/semestr_4/sieci/siecki... · Polecenia FTP wydawane z konsoli poleceń mogą

Rozdział 9. Protokoły i programy usługowe poziomu aplikacji

Dogłębnie Niniejszy rozdział zajmuje się protokołami, które są, koncepcyjnie rzecz biorąc, zlokalizowane w dolnej części warstwy aplikacji czterowarstwowego modelu TCP/IP, lub w warstwie sesyjnej siedmiowarstwowego modelu otwartego połączenia systemów (OSI). Protokoły te wykorzystują protokoły warstwy transportu, aby implementować przesyłanie i przechowywanie informacji w intranetach oraz Internecie. Ten rozdział opisuje protokół transmisji plików (FTP), który wykorzystuje protokół sterowania transmisją (TCP) do przesyłania długich plików i implementowania witryny internetowej FTP, oraz protokół transferu plików podstawowych (TFTP), który wykorzystuje protokół datagramów użytkownika do przesyłania małych ilości danych z zastosowaniem dostawy przy użyciu dostępnych możliwości.

Chociaż protokół routingu internetowego (RIP), koncepcyjnie rzecz biorąc, działa w warstwie aplikacji, to jest on wykorzystywany przez protokół IP do tworzenia i utrzymywania tablic tras i z tego powodu został omówiony w rozdziale 3 wraz z protokołem IP. Protokół prostego transferu poczty elektronicznej (SMTP) znajduje się w tej warstwie i jest opisany w niniejszym rozdziale, podobnie jak protokół emulacji terminala (Telnet). Protokół prostego zarządzania siecią (SNMP) wykorzystywany jest do zarządzania siecią oraz usuwania usterek i (prawdopodobnie) działa na wyższym poziomie w warstwie aplikacji. Protokół SNMP jest opisany w rozdziale 17.

Rozdział 7 podaje listę komunikacyjnych programów usługowych systemu Windows 2000, które są opisane bardziej szczegółowo w tym rozdziale, podobnie jak protokół transmisji hipertekstu (HTTP), protokół sieciowego transferu grup dyskusyjnych (NNTP) oraz protokół odbierania poczty w wersji 3 (POP3). Diagnostyczne programy usługowe systemu Windows 2000 są opisane w rozdziale 17.

Page 2: Rozdział 9. Protokoły i programy usługowe poziomu aplikacjicarme.pld-linux.org/~evil/varia/informatyka/semestr_4/sieci/siecki... · Polecenia FTP wydawane z konsoli poleceń mogą

Protokół transmisji plików (FTP) Protokół FTP, zdefiniowany w dokumencie RFC 959 uaktualnionym przez RFC 2228, jest jednym z najstarszych protokołów internetowych i pozostaje jednym z najszerzej stosowanych. Wykorzystuje on oddzielne połączenia do poleceń i do danych — interpretator protokołów implementuje operacje protokołu FTP, a proces przesyłania danych (DTP) przesyła dane. Protokół i ruch przesyłu danych korzystają z całkowicie oddzielnych sesji TCP. Serwery FTP oczekują na sygnał z portu 21, a serwer inicjuje połączenia transmisji danych z portu 20 serwera do określonego portu w kliencie. Połączenie transmisji danych może być stosowane w obu kierunkach i nie musi istnieć przez cały czas.

Ustalonym celem protokołu FTP jest osłanianie użytkowników przed wahaniami w systemach przechowywania plików na hostach oraz niezawodny i wydajny przesył danych. Chociaż można go używać bezpośrednio na terminalu za pomocą polecenia ftp, jest on zaprojektowany głównie do wykorzystywania przez aplikacje. Protokół FTP może przesyłać pliki o różnym formacie danych i różnej długości słów. Dane są pakowane w 8-bitowe bajty transmisji na hoście wysyłającym i rozpakowywane do formatu macierzystego na hoście odbierającym.

Struktury plików i tryby transmisji protokołu FTP Protokół FTP pozwala również na określanie struktury pliku. Zdefiniowane są trzy struktury:

• struktura pliku — nie ma żadnej struktury wewnętrznej, a plik uważany jest za nieprzerwany ciąg bajtów danych,

• struktura rekordu — plik składa się z rekordów sekwencyjnych,

• struktura strony — plik składa się z niezależnych stron indeksowanych.

Strukturą domyślną jest struktura pliku, ale zarówno struktura pliku, jak i struktura rekordu są akceptowane dla plików tekstowych, takich jak pliki ASCII (Amerykański Standard Kodowy Wymiany Informacji), przez wszystkie implementacje protokołu FTP. Struktura pliku ma wpływ zarówno na jego tryb transmisji, jak i na jego interpretację i przechowywanie. Są trzy tryby transmisji:

• Tryb strumieniowy — plik jest transmitowany jako strumień bajtów, bez żadnych ograniczeń dotyczących wykorzystywanego typu danych. Dozwolone są struktury rekordu. W pliku o strukturze rekordu, koniec rekordu (End-of-Record, EOR) oraz koniec pliku (End-of-File, EOF) identyfikowane są po 2-bajtowym kodzie kontrolnym. W strukturze pliku, zamknięcie połączenia transmisji danych przez hosta wysyłającego wyznacza EOF. Wszystkie bajty w komunikacie o strukturze pliku są więc bajtami danych.

• Tryb blokowy — plik jest transmitowany jako szereg bloków danych poprzedzonych jednym lub większą ilością bajtów nagłówka. Bajty nagłówka zawierają pole liczby oraz kod deskryptora. Pole liczby zawiera całkowitą długość bloku danych w bajtach, oznaczając w ten sposób początek następnego bloku danych. Kod deskryptora definiuje atrybuty bloków, takie jak ostatni blok w pliku (EOF), ostatni blok w rekordzie (EOR), znacznik ponownego uruchomienia, czy dane podejrzane. W tym trybie dozwolone są struktury rekordu i może być stosowany każdy typ reprezentacji.

Page 3: Rozdział 9. Protokoły i programy usługowe poziomu aplikacjicarme.pld-linux.org/~evil/varia/informatyka/semestr_4/sieci/siecki... · Polecenia FTP wydawane z konsoli poleceń mogą

• Tryb zagęszczony — umożliwia kompresję danych składających się z bajtów wypełniacza lub replikacji. Nagłówek trybu zagęszczonego określa liczbę takich bajtów (do 127). Te są następnie wysyłane po upakowaniu do pojedynczego bajta.

Wskazówka: Kod danych podejrzanych nie służy do korygowania błędów. Jest on wykorzystywany, kiedy ośrodki wymieniają dane (takie jak dane pogodowe), które mogą być podatne na błąd lokalny. Kod ten sygnalizuje, że powinny zostać wymienione wszystkie informacje, pomimo że podejrzane są niektóre ich części.

Protokół FTP ma również dwa tryby przesyłania:

• tryb ascii — wykorzystuje standardowy 8-bitowy kod ASCII do przesyłania plików tekstowych,

• tryb binarny — przesyła pliki binarne w formie procesu „bit po bicie”.

Protokół FTP wykorzystuje do wykrywania błędów protokół TCP, ale może zainicjować ponowne uruchomienie transmisji, jeżeli wystąpi gruby błąd, taki jak „padnięcie” hosta. Protokół standardowy nie ma żadnych zdolności do szyfrowania danych, czy informacji rejestracyjnych, chociaż specyfikacja RFC 2228 zajmuje się tym niedostatkiem. Z tego powodu łączność FTP jest często konfigurowana tak, aby umożliwiać tylko dostęp anonimowy, co zapobiega transmisji nazw użytkowników i haseł w tekście jawnym. Struktura pakietów FTP zależy od struktury plików, trybu transmisji oraz trybu przesyłu danych. Rysunki 9.1 i 9.2 przedstawiają typowe ramki FTP, korzystające z portów serwera — odpowiednio — 21 oraz 22. Rysunki te zostały wygenerowane z pliku przechwytywania Monitora sieci — ftp.cap, dostarczonego na CD-ROM-ie. Procedura służąca do wygenerowania podobnego pliku przechwytywania podana jest w rozwiązaniu natychmiastowym Przechwytywanie ruchu TCP w rozdziale 7.

Rysunek 9.1.

Rysunek 9.2. Ruch FTP korzystający z portu danych 20

Użytkownik może korzystać z konsoli poleceń, aby wpisywać z klawiatury polecenia FTP, takie jak get i put (patrz: dalsza część tego rozdziału), albo uruchamiać plik opisowy zawierający te polecenia. Zazwyczaj jednak protokół FTP wykorzystywany jest przez aplikacje do przesyłania danych oraz przez internetowe usługi informacyjne (IIS), które implementują witryny FTP.

Wskazówka: Akronim IIS może również oznaczać serwer internetowych usług informacyjnych. Jednak w tym rozdziale oznacza on usługi, które na nim działają.

Polecenia FTP wydawane z konsoli poleceń mogą zyskiwać dostęp do witryny FTP. Przeglądarka WWW, taka jak Internet Explorer, może również uzyskać dostęp do witryny FTP, ale przy ograniczonych możliwościach. Pełny dostęp do FTP implementuje się zazwyczaj poprzez zastosowanie komercyjnego zestawu dostępu do FTP (na przykład CuteFTP).

Odnośne rozwiązanie: Strona:

Piotr Omasta
Proponujê usun¹æ, gdy¿ numer strony mo¿na wstawiæ dopiero przy sk³adzie.
Page 4: Rozdział 9. Protokoły i programy usługowe poziomu aplikacjicarme.pld-linux.org/~evil/varia/informatyka/semestr_4/sieci/siecki... · Polecenia FTP wydawane z konsoli poleceń mogą

Przechwytywanie ruchu TCP

Protokół transferu plików podstawowych (TFTP) Protokół TFTP, zdefiniowany w specyfikacji RFC uaktualnianej przez RFC 1783, 1785, 2347 oraz 2349, jest względnie prostym protokołem wykorzystywanym do przesyłania plików, które są (zazwyczaj) małe i nie wymagają wiele fragmentacji. Jest on implementowany na protokole UDP, chociaż jego definicja nie wyklucza stosowania innych protokołów datagramów. Jest on pozbawiony większości funkcji protokołu FTP — na przykład nie może wyświetlać katalogów, ani uwierzytelniać użytkowników — a jego jedynym zadaniem jest odczytywanie plików z komputera zdalnego i transmitowanie do niego plików. Protokół TFTP jest przeważnie wykorzystywany przez aplikacje poczty elektronicznej.

Przesył TFTP rozpoczyna się od żądania odczytu lub zapisu pliku, które żąda również połączenia. Plik wysyłany jest w blokach o stałej długości 512 bajtów. Każdy z pakietów musi być potwierdzony przez pakiet potwierdzający, zanim będzie mógł zostać wysłany następny pakiet. Pakiet danych mniejszy niż 512 bajtów wskazuje zakończenie przesyłu. Jeżeli jakiś pakiet ulegnie zagubieniu, to u planowanego odbiorcy następuje przeterminowanie, a ten następnie żąda transmisji zagubionego pakietu. Pakiet retransmitowany w tym przypadku, to ostatni pakiet poprzedniej transmisji, więc nadawca musi zachować do retransmisji tylko jeden pakiet. Poprzednie potwierdzenia gwarantują, że pakiety uprzednio wysłane zostały otrzymane.

Wskazówka: Specyfikacja RFC 1783 definiuje opcję rozmiaru bloku, która pozwala TFTP stosować rozmiar pakietu danych inny (zazwyczaj większy) niż 512 bajtów.

Każdemu z pakietów danych towarzyszy numer bloku. Numery bloków są kolejne i zaczynają się od jeden, za wyjątkiem pozytywnej odpowiedzi na żądanie zapisu, która jest pakietem potwierdzającym o numerze bloku zero. Zazwyczaj pakiet potwierdzający zawiera numer bloku potwierdzanego pakietu danych.

Poza jednym wyjątkiem (opisanym poniżej), błąd sprawia zakończenie połączenia. Błąd, sygnalizowany przez pakiet błędu, nie jest potwierdzany ani retransmitowany. Dlatego też, kiedy pakiet ulegnie zagubieniu, do wykrycia zakończenia wykorzystywane jest przeterminowanie.

Jeżeli port źródłowy otrzymanego pakietu jest niewłaściwy, to owa okoliczność błędu nie powoduje zakończenia. Zamiast tego do hosta, od którego pochodzi pakiet, wysłany zostaje pakiet błędu.

Tryby przesyłania protokołu TFTP Protokół TFTP obsługuje trzy tryby przesyłania, chociaż tylko dwa z nich są zazwyczaj wykorzystywane:

• Netascii — standardowy 8-bitowy kod ASCII zmodyfikowany przez specyfikację protokołu Telnet (RFC 854).

• Oktet — wykorzystywany do przesyłania informacji bit po bicie. Tryb ten składa się z „surowych” 8-bitowych bajtów i jest on podobny do trybu binarnego protokołu FTP.

• Poczta — znaki Netascii wysyłane do użytkownika zamiast pliku. Choć jest wciąż obsługiwany, tryb ten jest przestarzały i nie powinien być implementowany ani używany.

Piotr Omasta
... powoduje ...
Piotr Omasta
... taki rodzaj ...
Page 5: Rozdział 9. Protokoły i programy usługowe poziomu aplikacjicarme.pld-linux.org/~evil/varia/informatyka/semestr_4/sieci/siecki... · Polecenia FTP wydawane z konsoli poleceń mogą

Dokument RFC nie czyni tej listy wyłączną. Mogą być definiowane dodatkowe tryby, jeżeli obsługuje je zarówno host wysyłający, jak i odbierający. System Windows 2000 domyślnie obsługuje tylko tryby netascii i oktet.

Wskazówka: Microsoft definiuje tryby przesyłania danych protokołu TFTP jako binarne (przy użyciu przełącznika –i) i ascii. Tryby te są odpowiednikami trybów oktet i netascii w specyfikacji RFC 1350.

Struktura pakietów protokołu TFTP Protokół TFTP obsługuje pięć typów pakietów, z których każdy ma swój własny kod operacji (opcode), wypisany w tabeli 9.1.

Pakiety RRQ i WRQ zawierają następujące pola:

• Opcode — to 16-bitowe pole zawiera opcode, jak w tabeli 9.1.

• Filename — to pole o zmiennej długości zawiera nazwę pliku, który ma zostać przesłany jako ciąg bajtów netascii.

• Filename terminator — to 8-bitowe pole zawiera wartość zero, która wskazuje koniec pola Filename.

• Mode — to pole o zmiennej długości zawiera netascii, oktet, lub (rzadko) poczta jako szereg bajtów netascii. Tekst może być napisany dużymi literami, małymi literami, lub połączeniem jednych i drugich.

• Mode terminator — to 8-bitowe pole zawiera wartość zero, która wskazuje koniec pola Mode.

Tabela 9.1. Typy pakietów TFTP

Opcode Typ pakietu

1 Żądanie odczytu (RRQ)

2 Żądanie zapisu (WRQ)

3 Dane (DATA)

4 Potwierdzenie (ACK)

5 Błąd (ERROR)

Wskazówka: Pola Filename terminator i Mode terminator są czasem uznawane za część pól, odpowiednio, Filename, oraz Mode.

Specyfikacja RFC 2347 rozszerza pakiety RRQ i WRQ, aby hosty wysyłające i odbierające mogły negocjować dodatkowe opcje TFTP. Do potwierdzania żądania negocjacji opcji zgłoszonego przez klienta wykorzystywany jest nowego typu pakiet TFTP, potwierdzenie opcji (OACK). Specyfikacja RFC 2349 jeszcze bardziej rozszerza pakiety RRQ i WRQ, aby umożliwić hostom protokołu TFTP uzgadnianie interwałów przeterminowania oraz rozmiarów przesyłu. Pełne szczegóły podane są w dokumentach RFC.

Piotr Omasta
... dopuszcza mo¿liwoœæ innych trybów, spoza tej listy ...
Page 6: Rozdział 9. Protokoły i programy usługowe poziomu aplikacjicarme.pld-linux.org/~evil/varia/informatyka/semestr_4/sieci/siecki... · Polecenia FTP wydawane z konsoli poleceń mogą

Do wysyłania określonego pliku wykorzystywane są pakiety DATA; zawierają one następujące pola:

• Opcode — w przypadku pakietów DATA, to 16-bitowe pole zawiera wartość 3.

• Numer bloku — to16-bitowe pole zawiera numer bloku. W przypadku pakietów DATA, zaczyna się ono od 1 i wzrasta o 1 wraz z każdym wysłanym blokiem danych.

• Data — to pole o zmiennej długości zawiera dane. W przypadku tradycyjnego TFTP to pole zawiera 512 bajtów — chyba że pakiet sygnalizuje koniec przesyłu; w takim wypadku pole Data zawiera mniej niż 512 bajtów. Jeżeli wynegocjowana zostanie opcja rozmiaru bloku, to rozmiar pola dla przesyłu danych może być inny niż 512 bajtów. Koniec przesyłu, podobnie jak wcześniej, będzie sygnalizowany przez mniejszy rozmiar pola.

Potwierdzane są wszystkie pakiety, poza podwojonymi ACK-ami oraz pakietami DATA sygnalizującymi zakończenie, chyba że wystąpi przeterminowanie. Pakiet DATA potwierdza pakiet ACK poprzedniego pakietu DATA. Pakiety ACK lub ERROR potwierdzają pakiety WRQ i DATA, a pakiety DATA lub ERROR potwierdzają pakiety RRQ oraz ACK. Pakiet ACK o numerze bloku zero potwierdza WRQ.

Pakiet ACK zawiera następujące pola:

• Opcode — w przypadku pakietów ACK, to 16-bitowe pole zawiera wartość 4.

• Block number — numer bloku w pakiecie ACK potwierdza numer bloku pakietu DATA, który potwierdza. To pole zawiera wartość zerową, jeśli ACK potwierdza WRQ.

Pakiet ERROR może być potwierdzeniem każdego innego typu pakietu. Zawiera on następujące pola:

• Opcode — w przypadku pakietów ERROR to 16-bitowe pole zawiera wartość 5.

• Error code — to 16-bitowe pole zawiera kod błędu, zdefiniowany w tabeli 9.2.

• Errmsg — to pole o zmiennej długości zawiera czytelny dla człowieka komunikat o błędzie w netascii.

• Errmsg terminator — to 8-bitowe pole zawiera wartość zerową i wskazuje koniec komunikatu o błędzie. Jest ono czasem uważane za część pola errmsg, a nie oddzielne pole.

Użytkownik może wydawać polecenia protokołu TFTP z konsoli polecenia. Zazwyczaj jednak są one wykorzystywane przez aplikacje opierające się na TFTP, takie jak zestawy poczty elektronicznej.

Demon protokołu transferu plików podstawowych Demon TFTP (TFTPD) jest przykładem usługi opartej na protokole TFTP, wykorzystywanej przez system Windows 2000. Serwer usług instalacji zdalnej (RIS) wykorzystuje tę usługę do pobierania plików, które są mu potrzebne do rozpoczęcia procesu instalacji zdalnej.

Tabela 9.2. Kody błędów TFTP

Kod błędu Znaczenie

Piotr Omasta
... pakietami ACK ...
Page 7: Rozdział 9. Protokoły i programy usługowe poziomu aplikacjicarme.pld-linux.org/~evil/varia/informatyka/semestr_4/sieci/siecki... · Polecenia FTP wydawane z konsoli poleceń mogą

0 Niezdefiniowany. Sprawdź komunikat o błędzie (jeżeli jest).

1 Nie znaleziono pliku.

2 Naruszenie dostępu.

3 Dysk pełny lub przekroczona alokacja.

4 Zabroniona operacja TFTP.

5 Nieznana tożsamość przesyłu.

6 Plik już istnieje.

7 Nie ma takiego użytkownika.

Protokół transmisji hipertekstu (HTTP) Protokół HTTP w wersji 1.1, opisany w dokumencie RFC 2068, jest faktycznym standardem przesyłu dokumentów WWW. Protokół ten jest ogólny i bezpaństwowy, i został zaprojektowany w taki sposób, aby był rozszerzalny do prawie każdego formatu dokumentu. Działa on poprzez połączenia protokołu TCP, zazwyczaj wykorzystując port 80, chociaż można określić inny port (na przykład 8080). Po ustanowieniu połączenia, klient transmituje do serwera komunikat żądania, a ten wysyła odpowiedź. Protokół HTTP jest zazwyczaj wykorzystywany przez takie aplikacje, jak przeglądarki.

Najprostszą funkcją, lub metodą, protokołu HTTP jest GET, która pobiera informacje zapamiętane w witrynie WWW, lub na serwerze WWW. Jednak systemy informacyjne o pełnych możliwościach wymagają szerszego zestawu funkcji, łącznie z wyszukiwaniem, uaktualnianiem oraz przypisami. Protokół HTTP zapewnia zestaw metod sygnalizujących cel danego żądania. Wykorzystuje on ujednolicony identyfikator zasobów (URI) albo jako ujednolicony lokalizator zasobów (URL), albo jako ujednoliconą nazwę zasobów (URN), aby wskazać zasób, wobec którego ma zostać zastosowana metoda. Komunikaty są przekazywane w formacie podobnym do tego, który wykorzystuje poczta internetowa, zdefiniowanym przez standard uniwersalnych rozszerzeń internetowej poczty elektronicznej (MIME) — odwołaj się do dokumentów RFC od 2045 do 2049.

Protokół HTTP jest również używany do komunikacji pomiędzy agentami użytkownika a bramami do innych systemów internetowych, łącznie z tymi, które są obsługiwane przez protokoły SMTP, NNTP oraz FTP. W ten sposób umożliwia on podstawowy dostęp hipermedialny do zasobów dostępnych z różnorodnych aplikacji.

Metody HTTP Dokument RFC 2616 definiuje zestaw wspólnych metod HTTP. Dokument ten nie wyklucza dodatkowych metod, ale przestrzega, iż metody spoza wspólnej listy „mogą nie posiadać takiej samej semantyki dla oddzielnie rozszerzonych klientów i serwerów”. Innymi słowy, jeżeli zdefiniujesz i będziesz korzystał z dodatkowych metod, to mogą wystąpić niezgodności pomiędzy niektórymi hostami i niektórymi serwerami. Wspólne metody HTTP są następujące:

Piotr Omasta
... zajrzyj ...
Page 8: Rozdział 9. Protokoły i programy usługowe poziomu aplikacjicarme.pld-linux.org/~evil/varia/informatyka/semestr_4/sieci/siecki... · Polecenia FTP wydawane z konsoli poleceń mogą

• OPTIONS — pozwala klientowi ustalić opcje i/lub wymagania związane z danym zasobem, albo możliwości danego serwera, nie implikując działań zasobu i nie inicjując pobierania zasobu.

• GET — pobiera informacje (w formie jednostki) zidentyfikowane przez URI, do którego zostało zgłoszone żądanie. Jeżeli URI zidentyfikuje proces wytwarzający dane, to wytworzone dane zostaną zwrócone jako jednostka. Warunkowy komunikat GET zawiera pole nagłówka If-Modified-Since, If-Unmodified-Since, If-Match, If-None-Match, lub If-Range. Pozwala to na odświeżanie buforowanych jednostek bez potrzeby wielokrotnego przesyłu, czy żądania danych, które są już w posiadaniu klienta. GET częściowy żąda, aby przesłana została tylko część jednostki, określona przez pole nagłówka Range.

• HEAD — identyczny z GET, z tym że serwer nie zwraca w odpowiedzi treści komunikatu. Metoda ta uzyskuje informacje dotyczące jednostki nie przesyłając samej treści jednostki i jest wykorzystywana do testowania ważności, dostępności oraz niedawnych modyfikacji łączy hipertekstowych.

• POST — żąda, aby serwery przyjmowały jednostkę załączoną w żądaniu, jako nowego podwładnego zasobu zidentyfikowanego przez URI, do którego zostało zgłoszone żądanie (podobnie, jak mówi się, że plik umieszczony w katalogu jest nowym podwładnym tego katalogu). POST jest wykorzystywany do przypisywania zasobów, do wysyłania komunikatów (na przykład do elektronicznego biuletynu informacyjnego), do przedkładania danych formularzy oraz do rozszerzania bazy danych poprzez operację dołączania. Funkcja pełniona przez metodę POST określana jest przez serwer i zazwyczaj jest uzależniona od URI.

• PUT — żąda, aby jednostka załączona w żądaniu została zapamiętana pod URI, do którego zostało zgłoszone żądanie. Jeżeli dany zasób wspomniany w URI już istnieje, to przesyłaną jednostkę uznaje się za wersję zmodyfikowaną. Jeżeli URI nie wskazuje na istniejący zasób, a żądający użytkownik może zdefiniować URI jako nowy zasób, to zasób jest tworzony na serwerze.

• DELETE — żąda, aby serwer usunął zasób zidentyfikowany przez URI.

• TRACE — wywołuje zdalną pętlę zwrotną komunikatu żądania. Ostateczny odbiorca żądania odbija otrzymany komunikat z powrotem do klienta. TRACE pozwala klientowi zobaczyć co jest odbierane na drugim końcu łańcucha żądania. Informacja ta może być wykorzystywana do testowania, lub znajdywania uszkodzeń.

• CONNECT — nazwa metody zarezerwowana do wykorzystywania wraz z proxy, który może dynamicznie przełączyć się na pełnienie funkcji tunelu, przy użyciu, na przykład, tunelowania z wykorzystaniem warstwy zabezpieczeń łączy (SSL). Proxy to program pośredniczący, pełniący zarówno funkcję serwera, jak i klienta, w celu zgłaszania żądań w imieniu innych klientów.

Kody stanu protokołu HTTP Kody stanu HTTP są wykorzystywane przez metody podczas normalnej pracy, albo wysyłane do użytkownika, jeżeli wystąpi błąd. Jest pięć klasyfikacji kodów stanu:

• Informacyjny (1xx) — sygnalizuje prowizoryczną (zazwyczaj pośrednią) odpowiedź. Te kody wskazują, że dana metoda przebiega normalnie i miało miejsce oczekiwane

Page 9: Rozdział 9. Protokoły i programy usługowe poziomu aplikacjicarme.pld-linux.org/~evil/varia/informatyka/semestr_4/sieci/siecki... · Polecenia FTP wydawane z konsoli poleceń mogą

zdarzenie. Jeżeli serwer protokołu HTTP 1.1 wykryje klienta protokołu HTTP 1.0, to nie będzie wysyłał komunikatów informacyjnych, ponieważ nie są one zdefiniowane dla HTTP 1.0.

• Pomyślny (2xx) — sygnalizuje, że żądanie klienta zostało pomyślnie otrzymane, zrozumiane i przyjęte.

• Readresowanie (3xx) — sygnalizuje, że agent użytkownika musi podjąć dalsze działania, aby spełnić żądanie. Działania te mogą być przeprowadzane automatycznie przez agenta użytkownika (jeżeli wykorzystywaną metodą jest GET, lub HEAD) albo mogą wymagać interwencji użytkownika.

• Błąd klienta(4xx) — sygnalizuje, że występuje, lub wydaje się, że występuje, błąd klienta. Za wyjątkiem przypadku odpowiadania na żądanie HEAD, komunikat zawiera wyjaśnienie błędu i informuje użytkownika, czy jest on tymczasowy, czy stały.

• Błąd serwera (5xx) — sygnalizuje, że serwer zdaje sobie sprawę, iż wygenerował błąd, albo że nie jest w stanie wykonać żądania. Za wyjątkiem przypadku odpowiadania na żądanie HEAD, komunikat zawiera wyjaśnienie błędu i informuje użytkownika, czy jest on tymczasowy, czy stały.

Wskazówka: Witryny WWW znajdujące się na serwerze IIS systemu Windows 2000 mogą być konfigurowane tak, aby wysyłały wygodne w użyciu komunikaty o błędach.

Tabela 9.3 podaje kody stanu i komunikaty protokołu HTTP. Aby uzyskać szczegóły dotyczące znaczenia każdego z komunikatów, odwołaj się do paragrafu 10 dokumentu RFC 2616.

Tabela 9.3. Kody stanu i komunikaty protokołu HTTP

Kod stanu Komunikat Kod stanu Komunikat

100 Kontynuuj 404 Nie znaleziony

101 Przełączanie protokołów 405 Metoda niedozwolona

200 OK 406 Nie do przyjęcia

201 Utworzony 407 Wymagane uwierzytelnienie proxy

202 Przyjęty 408 Przeterminowanie żądania

203 Nie autorytatywny 409 Konflikt

204 Bez treści 410 Minęło

205 Resetuj treść 411 Wymagana długość

206 Treść częściowa 412 Warunek wstępny nie powiódł się

300 Wiele opcji 413 Jednostka żądania zbyt duża

301 Przeniesiony na stałe 414 URI żądania zbyt duży

302 Znaleziony 415 Nieobsługiwany typ nośnika

Piotr Omasta
... zajrzyj ...
Page 10: Rozdział 9. Protokoły i programy usługowe poziomu aplikacjicarme.pld-linux.org/~evil/varia/informatyka/semestr_4/sieci/siecki... · Polecenia FTP wydawane z konsoli poleceń mogą

303 Zobacz inny 416 Żądany zakres nie do spełnienia

304 Nie zmodyfikowany 417 Oczekiwanie nie powiodło się

305 Użyj proxy 500 Wewnętrzny błąd serwera

307 Readresowanie tymczasowe 501 Nie zaimplementowany

400 Złe żądanie 502 Zła brama

401 Nieautoryzowany 503 Usługa niedostępna

402 Wymagana opłata 504 Przeterminowanie bramy

403 Wzbroniony 505 Nieobsługiwana wersja HTTP

Struktura pakietów protokołu HTTP Pakiety protokołu HTTP są, ogólnie rzecz biorąc, wyjątkowo złożone. Zdefiniowanie struktury nagłówka pakietu protokołu HTTP zajmuje 51 stron dokumentu RFC 2616 (paragraf 14, strony 100 do 150). Odtwarzanie w tym miejscu takich szczegółów byłoby bezcelowe. Zamiast tego, na rysunku 9.3 przedstawiony został typowy pakiet GET protokołu HTTP. Rysunek ten został wygenerowana z pliku przechwytywania http.cap, znajdującego się na CD-ROM-ie. Procedura służąca do wygenerowania podobnego pliku przechwytywania podana jest w rozwiązaniu natychmiastowym Przechwytywanie ruchu TCP w rozdziale 7.

Odnośne rozwiązanie: Strona:

Przechwytywanie ruchu TCP

Zabezpieczony protokół HTTP (HTTPS) Sieć WWW jest intensywnie wykorzystywana do wymiany informacji na skalę ogólnoświatową, szczególnie dla potrzeb biznesowych. Pociąga to za sobą kilka kwestii związanych z bezpieczeństwem:

• Uwierzytelnianie serwerów — klienty muszą sprawdzać, czy serwer, z którym się komunikują jest tym, za kogo się podaje.

• Uwierzytelnianie klientów — serwery muszą sprawdzać tożsamość klienta i wykorzystywać ją jako podstawę podejmowania decyzji dotyczących kontroli dostępu.

• Poufność — aby zapobiec przechwytywaniu poufnych informacji przesyłanych poprzez publiczne łącza internetowe, potrzebne jest szyfrowanie danych pomiędzy klientem a serwerem.

Protokół SSL wersji 3 (SSL3) oraz protokół zabezpieczeń warstwy transportu (TLS) odgrywają ważną rolę przy zaspokajaniu tych potrzeb. SSL3 i TLS są elastycznymi protokołami zabezpieczeń, które mogą być umiejscowione w górnej warstwie protokołów transportowych, takich jak HTTP. Bazują one na technologii uwierzytelniania opartego na kluczach publicznych (PK) i wykorzystują opartą na PK negocjację kluczy do generowania niepowtarzalnego klucza szyfrującego dla każdej sesji typu klient — serwer. Kiedy dla danej strony WWW włączone jest szyfrowanie SSL, to rezultatem tego jest zabezpieczony protokół HTTP, określany jako HTTPS.

Piotr Omasta
Proponujê usun¹æ.
Page 11: Rozdział 9. Protokoły i programy usługowe poziomu aplikacjicarme.pld-linux.org/~evil/varia/informatyka/semestr_4/sieci/siecki... · Polecenia FTP wydawane z konsoli poleceń mogą

Procedura mająca na celu ustawienie zabezpieczonej witryny WWW opisana jest w podrozdziale rozwiązań natychmiastowych niniejszego rozdziału.

Wskazówka: IIS5 mogą być zabezpieczane przy użyciu innych protokołów niż SSL3/TLS — na przykład Fortezza, Digest Authentication, PKCS#7 oraz PKCS#10 (PKCS jest akronimem od Public Key Cryptography Standard — standard kryptografii klucza publicznego). Domyślny protokół uwierzytelniania systemu Windows 2000, Kerberos 5, jest opisany w rozdziale 10.

Rysunek 9.3. Pakiet GET protokołu HTTP

Protokół prostego transferu poczty elektronicznej (SMTP) Protokół SMTP, zdefiniowany w dokumencie RFC 821, jest zaprojektowany do niezawodnego i wydajnego przesyłania poczty elektronicznej. Jest on niezależny od zastosowanego protokołu transmisji i wymaga jedynie niezawodnego kanału uporządkowanego strumienia danych. Oznacza to, że SMTP będzie działał poprzez (na przykład) usługę transportu protokołu kontroli sieci (NCP), czy niezależną od sieci usługę transportu (NITS), jak również poprzez TCP. A zatem protokół SMTP może przekazywać pocztę w obrębie różnych środowisk usług transportu.

Usługa transportu zapewnia środowisko komunikacji międzyprocesowej (IPCE), mogące obejmować jedną sieć, kilka sieci, lub podsieć. Poczta elektroniczna to komunikacja międzyprocesowa, mogąca wysyłać pocztę pomiędzy hostami w różnych systemach transportowych, przekazując za pomocą procesu połączonego z dwoma (lub więcej) IPCE.

Jak działa protokół SMTP Kiedy użytkownik zgłasza żądanie poczty elektronicznej (tj. wysyła wiadomość poczty elektronicznej), ma miejsce następujący ciąg zdarzeń:

1. Nadawca SMTP ustanawia dwukierunkowy kanał transmisyjny do odbiorcy SMTP, który może być albo celem ostatecznym, albo pośrednim.

2. Nadawca SMTP wysyła polecenie MAIL, wskazujące nadawcę poczty.

3. Jeżeli odbiorca SMTP może przyjąć pocztę, to reaguje odpowiedzią OK.

4. Nadawca SMTP wysyła polecenie RCPT, identyfikujące adresata poczty.

5. Jeżeli odbiorca SMTP może przyjąć pocztę dla tego adresata, to reaguje odpowiedzią OK; jeżeli nie, to reaguje odpowiedzią odrzucającą tego adresata (ale nie całą transakcję pocztową, ponieważ nadawca i odbiorca mogą wynegocjować kilku adresatów).

6. Kiedy adresaci zostaną wynegocjowani, nadawca SMTP wysyła dane pocztowe.

7. Jeżeli odbiorca SMTP przetworzy dane pomyślnie, to reaguje odpowiedzią OK.

Page 12: Rozdział 9. Protokoły i programy usługowe poziomu aplikacjicarme.pld-linux.org/~evil/varia/informatyka/semestr_4/sieci/siecki... · Polecenia FTP wydawane z konsoli poleceń mogą

Wskazówka: Dokument RFC korzysta z terminów „SMTP nadawcy” i „SMTP odbiorcy”, a nie nadawca SMTP i odbiorca SMTP.

Jeżeli host wysyłający i odbierający są połączeni z tą samą usługą transportu, to SMTP może transmitować pocztę bezpośrednio od nadawcy do odbiorcy. W przeciwnym razie wiadomość transmitowana jest poprzez jeden lub więcej serwerów przekazujących. W takim przypadku serwer przekazujący SMTP musi otrzymać nazwę ostatecznego hosta docelowego, jak również nazwę docelowej skrzynki pocztowej.

SMTP może implementować usługę przekazywania, która jest wykorzystywana, kiedy ścieżka określona przez polecenie RCPT jest niewłaściwa, ale odbiorca SMTP zna właściwe miejsce docelowe. W tym przypadku wysyłana jest jedna z następujących odpowiedzi, w zależności od tożsamości nadawcy i odbiorcy oraz od tego, czy odbiorca SMTP może wziąć na siebie odpowiedzialność za przekazanie wiadomości:

• 251 użytkownik nielokalny; przekażę do ścieżki przekazywania,

• 551 użytkownik nielokalny; spróbuj wykorzystać ścieżkę przekazywania.

Polecenia VRFY oraz EXPN protokołu SMTP, odpowiednio, weryfikują nazwę użytkownika i rozwijają listę dystrybucyjną. Obydwa polecenia mają ciągi znaków jako argumenty. Ciągiem w przypadku polecenia VRFY jest nazwa użytkownika, a odpowiedź musi zawierać skrzynkę pocztową użytkownika i może zawierać pełną nazwę użytkownika.

Ciąg w przypadku polecenia EXPN identyfikuje listę dystrybucyjną, a odpowiedź musi zawierać skrzynkę pocztową użytkownika i może zawierać pełną nazwę użytkownika.

Wskazówka: Dokument RFC wykazuje, całkiem umyślnie, ambiwalencję w kwestii określenia „nazwa użytkownika”. W niektórych systemach poczty elektronicznej nazwa użytkownika jest tym samym, co skrzynka pocztowa użytkownika. Jeśli dany system poczty elektronicznej postanowi wybrać jakiś inny ciąg na nazwę użytkownika, to specyfikacja zezwala na to pod warunkiem, że ciągi dla polecenia VRFY i odpowiedzi EXPN również identyfikują skrzynkę pocztową użytkownika.

Wysyłanie i wysyłanie pocztą Niektóre hosty dostarczają wiadomości do terminala użytkownika (pod warunkiem, że użytkownik jest aktywny na danym hoście), a nie do skrzynki pocztowej użytkownika. Dostawa do skrzynki pocztowej zwana jest wysyłaniem pocztą; dostawa do terminala zwana jest wysyłaniem. Implementacje wysyłania pocztą i wysyłania są prawie identyczne i w SMTP są one zazwyczaj połączone. Jednak użytkownicy powinni być w stanie kontrolować, czy na ich terminalach pisane są wiadomości; przy czym dokument RFC 821 definiuje polecenia wysyłania (choć nie są one wymagane przy implementacji minimalnej).

Aby obsłużyć funkcję wysyłania, można zamiast polecenia MAIL użyć w transakcji pocztowej następujących poleceń:

• SEND — dostarcza dane pocztowe do terminala użytkownika. Jeżeli dany użytkownik nie jest aktywny na danym hoście (albo nie przyjmuje wiadomości terminala), może zostać zwrócona odpowiedź 450 (patrz: tabela 9.5).

Page 13: Rozdział 9. Protokoły i programy usługowe poziomu aplikacjicarme.pld-linux.org/~evil/varia/informatyka/semestr_4/sieci/siecki... · Polecenia FTP wydawane z konsoli poleceń mogą

• SOMAIL (wyślij lub wyślij pocztą) — dostarcza pocztę do terminala użytkownika, jeżeli użytkownik jest aktywny na danym hoście i przyjmuje wiadomości terminala. W przeciwnym razie poczta jest dostarczana do skrzynki pocztowej użytkownika.

• SAML (wyślij i wyślij pocztą) — dostarcza pocztę do terminala użytkownika, jeżeli użytkownik jest aktywny na danym hoście i przyjmuje wiadomości terminala. Poczta jest dostarczana do skrzynki pocztowej użytkownika niezależnie od tego, czy jest dostarczana do terminala, czy nie.

Polecenia i komunikaty SMTP Niektóre polecenia SMTP zostały już opisane przy omawianiu zestawu możliwości SMTP. Jednak, dla wygody, wszystkie polecenia SMTP, wraz z krótkim opisem, zostały wypisane w tabeli 9.4. Tabela 9.5 podaje komunikaty, lub kody odpowiedzi, które mogą zostać wygenerowane podczas działania SMTP.

Tabela 9.4. Polecenia SMTP

Polecenie Opis

HELO Inicjuje połączenie i identyfikuje nadawcę SMTP dla odbiorcy SMTP.

MAIL Inicjuje transakcję pocztową.

RCPT Identyfikuje pojedynczego adresata.

DATA Identyfikuje wiersze następujące po poleceniu jako dane pocztowe od nadawcy.

RSET Przerywa bieżącą transakcję pocztową.

SEND Dostarcza pocztę do terminala.

SOML Dostarcza pocztę do terminala. Jeżeli ta operacja się nie powiedzie, poczta zostanie dostarczona do skrzynki pocztowej.

SAML Dostarcza pocztę do terminala. Poczta jest również dostarczana do skrzynki pocztowej.

VRFY Weryfikuje nazwę użytkownika.

EXPN Rozwija listę dystrybucyjną.

HELP Sprawia, że odbiorca wysyła przydatne informacje.

NOOP Żąda, by odbiorca wysłał odpowiedź OK, ale w przeciwnym razie nie określa żadnych działań.

QUIT Żąda, by odbiorca wysłał odpowiedź OK, a następnie zamknął kanał transmisyjny.

TURN Żąda, by odbiorca przejął rolę nadawcy. Jeżeli zostanie otrzymana odpowiedź OK, to nadawca staje się odbiorcą.

Tabela 9.5. Kody odpowiedzi SMTP

Kod odpowiedzi Znaczenie

Piotr Omasta
... razie braku odpowiedzi ...
Page 14: Rozdział 9. Protokoły i programy usługowe poziomu aplikacjicarme.pld-linux.org/~evil/varia/informatyka/semestr_4/sieci/siecki... · Polecenia FTP wydawane z konsoli poleceń mogą

211 Odpowiedź stanu systemu lub pomocy systemowej.

214 Komunikat pomocy.

220 Usługa gotowa.

221 Usługa zamyka kanał transmisyjny.

250 Żądane działanie poczty OK, zakończone.

251 Użytkownik nielokalny; przekażę do ścieżki przekazywania.

354 Rozpocznij wprowadzanie poczty.

421 Usługa niedostępna, zamykam kanał transmisyjny.

450 Żądane działanie poczty nie zostało podjęte: skrzynka pocztowa niedostępna.

451 Żądane działanie zostało przerwane.

452 Żądane działanie nie zostało podjęte: niewystarczająca ilość pamięci systemowej.

500 Błąd składniowy, polecenie nierozpoznane.

501 Błąd składniowy w parametrach lub argumentach.

502 Polecenie nie zostało implementowane.

503 Zła kolejność poleceń.

504 Parametr polecenia nie został implementowany.

550 Żądane działanie poczty nie zostało podjęte: skrzynka pocztowa niedostępna.

551 Użytkownik nielokalny; spróbuj wykorzystać ścieżkę przekazywania.

552 Żądane działanie poczty zostało przerwane: przekroczona alokacja pamięci.

553 Żądane działanie nie zostało podjęte: niedozwolona nazwa skrzynki pocztowej.

554 Transakcja nie powiodła się.

Dodatkowe dokumenty RFC protokołu SMTP Dodatkowe dokumenty RFC dostarczają informacji na temat RFC 821 lub proponują jego rozszerzenia. Te ostatnie są albo proponowanymi standardami, albo też są eksperymentalne lub informacyjne. Aby uzyskać więcej informacji, odwołaj się do następujących dokumentów RFC: 2645, 2554, 2502, 2487, 2442, 2197, 2034, 1985, 1891, 1870, 1869, 1846, 1845, 1830, 1652 oraz 1428.

Piotr Omasta
... zajrzyj ...
Page 15: Rozdział 9. Protokoły i programy usługowe poziomu aplikacjicarme.pld-linux.org/~evil/varia/informatyka/semestr_4/sieci/siecki... · Polecenia FTP wydawane z konsoli poleceń mogą

Protokół odbierania poczty (POP) Protokół POP3, zdefiniowany w dokumencie RFC 1939 uaktualnionym przez RFC 1957 oraz 2449, pozwala klientowi, który może mieć ograniczone zasoby, na dynamiczny dostęp do skrzynki pocztowej na serwerze i (przeważnie) na pobieranie poczty, którą serwer dla niego przechowuje. Protokół ten wymaga niewielkich zasobów i ma ograniczone możliwości. Zazwyczaj poczta jest pobierana, a następnie usuwana, ale nie jest manipulowana w żaden inny sposób.

Klient, który chce skorzystać z usługi POP3, ustanawia połączenie z portem TCP 110 na serwerze POP3. Kiedy połączenie zostanie ustanowione, serwer POP3 wysyła komunikat powitalny. Wtedy klient i serwer wymieniają polecenia i odpowiedzi (odpowiednio), dopóki połączenie nie zostanie zamknięte lub przerwane. Działanie POP3 wykorzystuje stany i przebiega w następujący sposób:

1. Połączenie TCP zostaje otworzone, a klient otrzymuje komunikat powitalny.

2. Sesja wchodzi w stan AUTORYZACJI.

3. Klient pozwala się zidentyfikować serwerowi, który następnie pozyskuje zasoby związane ze skrzynką pocztową klienta.

4. Sesja wchodzi w stan TRANSAKCJI.

5. Klient żąda, aby na serwerze zostały przeprowadzone działania.

6. Klient wydaje polecenie QUIT.

7. Sesja wchodzi w stan UAKTUALNIANIA.

8. Serwer POP3 uwalnia wszelkie zasoby pozyskane podczas w stanie TRANSAKCJI i wysyła komunikat pożegnalny.

9. Połączenie TCP zostaje zamknięte.

Wskazówka: Jeżeli serwer ma czasomierz wylogowania automatycznego i czasomierz ten ulegnie przeterminowaniu z powodu braku aktywności ze strony klienta, to serwer zamyka połączenie TCP nie usuwając żadnych wiadomości i nie wysyłając żadnej odpowiedzi do klienta.

Polecenia protokołu POP3 Każde z poleceń protokołu POP3 jest ważne w określonym stanie. Tabela 9.6 podaje każde z poleceń oraz stan, w którym jest ono ważne, wraz z krótkim opisem. Polecenia APOP, TOP i UIDL są opcjonalne.

Wskazówka: MD5 jest mieszającym algorytmem tworzenia wyciągów z wiadomości, który dokonuje bezpiecznej kompresji komunikatów, przed zaszyfrowaniem ich za pomocą klucza prywatnego. Opisy oraz kod źródłowy algorytmów tworzenia wyciągów z wiadomości podane są w specyfikacjach RFC od 1319 do 1321. Więcej informacji można uzyskać z witryny laboratoriów Rivest-Sharmir-Adelman (RSA), mieszczącej się pod adresem www.rsasecurity.com/rsalabs.

Piotr Omasta
... manipuluje siê ni¹ ...
Piotr Omasta
... stanu ...
Piotr Omasta
... dadaistycznym ...?
Page 16: Rozdział 9. Protokoły i programy usługowe poziomu aplikacjicarme.pld-linux.org/~evil/varia/informatyka/semestr_4/sieci/siecki... · Polecenia FTP wydawane z konsoli poleceń mogą

Uaktualnienia protokołu POP3 RFC 1957 jest dokumentem informacyjnym. Natomiast RFC 2595 dodaje dwa dodatkowe (opcjonalne) polecenia POP3. Polecenie CAPA może mieć kilka znaczników i zwróci informacje dotyczące możliwości danej witryny POP3 (na przykład znacznik UIDL będzie wskazywał czy polecenie UIDL jest włączone, czy nie).

Polecenie AUTH umożliwia bezpieczne uwierzytelnianie użytkowników przy użyciu metody warstwy prostego uwierzytelniania i zabezpieczeń (SASL), określonej w dokumencie RFC 2222. Odwołaj się do dokumentów RFC, aby poznać więcej szczegółów.

Tabela 9.6. Polecenia protokołu POP3

Polecenie Aktualny stan Opis

USER AUTORYZACJA Identyfikuje daną skrzynkę pocztową.

PASS AUTORYZACJA Zapewnia hasło wyłączne dla serwera-skrzynki pocztowej.

QUIT AUTORYZACJA Zakańcza sesję nie wchodząc w stan UAKTUALNIANIA.

STAT TRANSAKCJA Dostarcza informacji (na przykład rozmiar i liczba wiadomości) dotyczących skrzynki pocztowej. Określa się to drop listing.

LIST TRANSAKCJA Określa numer wiadomości i rozmiar wiadomości. Określa się to jako scan listing.

RETR TRANSAKCJA Przy użyciu tego polecenia klient wysyła numer wiadomości. Serwer odpowiada zawartością wiadomości.

DELE Przy użyciu tego polecenia klient wysyła numer wiadomości, a serwer oznacza wiadomość jako usuniętą. W rzeczywistości wiadomość nie zostanie usunięta, do momentu kiedy transakcja wejdzie w stan UAKTUALNIANIA.

NOOP Kiedy klient wyśle ten komunikat, to serwer udzieli pozytywnej odpowiedzi, ale nie udzieli żadnych innych informacji.

RSET Usuwa oznaczenie ze wszelkich wiadomości, które zostały oznaczone na serwerze jako usunięte.

QUIT Sprawia, że sesja wchodzi w stan UAKTUALNIANIA. Wtedy klient wysyła komunikat pożegnalny.

APOP AUTORYZACJA Identyfikuje skrzynkę pocztową oraz ciąg MD5 w celu uwierzytelnienia oraz ochrony przed atakami powtórzeń.

Piotr Omasta
... Skorzystaj z ...
Page 17: Rozdział 9. Protokoły i programy usługowe poziomu aplikacjicarme.pld-linux.org/~evil/varia/informatyka/semestr_4/sieci/siecki... · Polecenia FTP wydawane z konsoli poleceń mogą

TOP Określa numer wiadomości oraz numer (n) wierszy. Serwer zwraca wiersze wiadomości o najwyższym n.

UIDL Podaje numer wiadomości oraz niepowtarzalną tożsamość, które razem tworzą niepowtarzalny listing id dla wiadomości.

Protokół sieciowego transferu grup dyskusyjnych (NNTP) NNTP, określony w specyfikacji RFC 977, wykorzystywany jest do dystrybucji, przeglądania, pobierania i wysyłania artykułów grup dyskusyjnych przy użyciu niezawodnego protokołu opartego na przesyłaniu strumieniowym (takiego jak TCP) oraz poleceń i odpowiedzi podobnych do SMTP. Usługa NNTP wykorzystuje port 119 TCP.

Artykuły grup dyskusyjnych przechowywane są w centralnej bazie danych, a abonenci wybierają tylko te pozycje, które chcą przeczytać. Indeksowanie jest włączone, podobnie jak odsyłanie i przeterminowanie starych artykułów. Zazwyczaj NNTP działa w środowisku klient — serwer z pojedynczym centralnym magazynem informacji grup dyskusyjnych. Jednak serwery wymieniające artykuły grup dyskusyjnych są wyposażone w interaktywny mechanizm decydowania o tym, co transmitować.

Odpowiedzi na polecenia NNTP mogą być albo raportami tekstowymi (artykuły grup dyskusyjnych), albo raportami stanu, poprzedzonymi liczbą trzycyfrową. Raporty stanu są podobne do kodów odpowiedzi SMTP wypisanych w tabeli 9.5 i są zazwyczaj przechwytywane przez oprogramowanie klienckie, które przekształca je na komunikaty bardziej wygodne w użyciu.

Polecenia NNTP Polecenia NNTP są wypisane w tabeli 9.7. Dokument RFC 977 nie określa żadnych dodatkowych poleceń.

Podobnie jak polecenia SMTP i POP3, polecenia NNTP wykorzystywane są przez programy użytkowe, a nie bezpośrednio przez użytkownika. Szczegóły dotyczące składni poleceń oraz kody odpowiedzi komunikatów podane są w dokumencie RFC 977. Struktury protokołów tekstowych, takich jak SMTP, POP3 oraz NNTP, zdefiniowane są w dokumencie RFC 822, uaktualnionym przez RFC 1123, 1138, 1148 oraz 2156.

Wskazówka: Opcje serwera SMTP, POP3 oraz NNTP dla protokołu dynamicznej konfiguracji hosta (DHCP) mogą być dodawane dla zapewnienia obsługi klientom DHCP, którzy je rozpoznają. Opcje te zostały zarezerwowane oraz określone do wykorzystania w dokumencie RFC 2132, ale nie są aktualnie wstępnie zdefiniowane w menadżerze DHCP systemu Windows 2000. Protokół DHCP jest opisany w rozdziale 11.

Tabela 9.7. Polecenia protokołu NNTP

Polecenie Opis

NNTP Określa artykuł albo po numerze, albo po tytule. Serwer zwraca artykuł (albo kod błędu).

Piotr Omasta
W oryginale: ARTICLE
Page 18: Rozdział 9. Protokoły i programy usługowe poziomu aplikacjicarme.pld-linux.org/~evil/varia/informatyka/semestr_4/sieci/siecki... · Polecenia FTP wydawane z konsoli poleceń mogą

BODY Określa artykuł albo po numerze, albo po tytule. Serwer zwraca tekst podstawowy artykułu.

GROUP Określa nazwę grupy dyskusyjnej. Serwer zwraca numery pierwszego i ostatniego artykułu w danej grupie, oraz oszacowanie liczby artykułów w danej grupie.

HEAD Określa artykuł albo po numerze, albo po tytule. Serwer zwraca nagłówek artykułu.

HELP Określa polecenie. Serwer zwraca krótki opis.

IHAVE Informuje serwer, że klient ma artykuł (określony przez identyfikator wiadomości). Serwer informuje klienta czy chce kopię, czy nie.

LAST Rozkazuje serwerowi, aby ustawił wskaźnik bieżącego artykułu na poprzedni artykuł w bieżącej grupie.

LIST Rozkazuje serwerowi, aby zwrócił listę ważnych grup dyskusyjnych i związane z nimi informacje.

NEWSGROUPS Serwer zwraca listę grup dyskusyjnych utworzonych od określonej daty i czasu. Dodatkowo polecenie może również określać listę grup dystrybucyjnych, a serwer może zwracać listę grup dyskusyjnych, które pasują do grup dystrybucyjnych.

NEWNEWS Określa datę, czas i jedną lub więcej grup dyskusyjnych. Serwer zwraca listę tożsamości komunikatów artykułów wysłanych do określonych grup dyskusyjnych, albo od nich otrzymanych, od tej daty i czasu.

NEXT Rozkazuje serwerowi, aby ustawił wskaźnik bieżącego artykułu na następny artykuł w bieżącej grupie.

POST Klient wysyła to polecenie (bez argumentu), aby ubiegać się o pozwolenie na przedłożenie dokumentu. Jeżeli pozwolenie zostanie przyznane, to klient wysyła artykuł, słowo w słowo, do nadawcy.

QUIT Serwer potwierdza to polecenie, a następnie zamyka połączenie z klientem.

SLAVE Informuje serwer, że połączenie klienckie jest połączeniem do serwera podległego, a nie do użytkownika. Funkcja ta mogłaby być (przykładowo) użyta, aby dać priorytet żądaniom od serwerów podległych, ponieważ obsługują one więcej niż jednego użytkownika.

STAT Określa artykuł albo po numerze, albo po tytule. Serwer zwraca tożsamość artykułu i ustawia wskaźnik bieżącego artykułu.

Wskazówka: Polecenie IHAVE pomyślane jest dla artykułów, które już zostały wysłane gdzieś indziej, być może na inny serwer i które mają już tożsamość wiadomości. Polecenie POST jest zwykle używane w przypadku nowych wiadomości.

Page 19: Rozdział 9. Protokoły i programy usługowe poziomu aplikacjicarme.pld-linux.org/~evil/varia/informatyka/semestr_4/sieci/siecki... · Polecenia FTP wydawane z konsoli poleceń mogą

Telnet Protokół Telnet zdefiniowany jest w specyfikacji RFC 854, z opcjami i udoskonaleniami opisanymi w dokumentach od RFC 855 do 861, 885, 927, 933, 946, 1041, 1043, 1053, 1073, 1079, 1091,1096, 1372, 1411, 1412, 1416, 1572, 2066 oraz 2217, i dalszymi informacjami dostarczonymi w dokumentach RFC 1143, 1205 oraz 1571. Daje on dwukierunkowe, 8-bitowe, zorientowane bajtowo urządzenie komunikacyjne i zapewnia standardową metodę sprzęgania urządzeń terminala z procesami zorientowanymi terminalowo. Telnet jest zazwyczaj (ale nie wyłącznie) używany do emulacji terminala. Protokół ten został znacznie udoskonalony i rozszerzony od kiedy go wprowadzono po raz pierwszy, a tutaj opisany jest jedynie podstawowy zestaw jego możliwości. Program usługowy Telnet systemu Windows 2000 dostarcza usług klienta i serwera telnet, i jest opisany w dalszej części niniejszego rozdziału.

Telnet wykorzystuje protokół TCP do transmitowania danych urozmaiconych informacjami kontrolnymi protokołu Telnet. Serwer protokołu Telnet oczekuje żądań połączenia w porcie 23 protokołu TCP. Kiedy zostanie ustanowione połączenie, Telnet tworzy wirtualny terminal sieciowy (NVT) na obydwu końcach połączenia. Eliminuje to potrzebę, aby host klienta i serwera zapamiętywały wzajemne właściwości swoich terminali. Wszystkie hosty odwzorowują właściwości i konwencje swoich urządzeń lokalnych, aby wydawało się, że uzyskują dostęp do NVT przez sieć.

Protokół ten jest łatwo rozszerzalny o wiele opcji (stąd tak długa lista dokumentów RFC). Klient i serwer mogą negocjować opcje, które mają być wykorzystywane podczas sesji Telnet, co pozwala serwerom oferować usługi, poza tymi, które są dostępne w obrębie NVT, klientom, które mają wyszukane terminale, mogące korzystać z tych usług. Proces ten znany jest jako negocjacja podrzędna i zaczyna się od polecenia negocjacji podrzędnej (SB).

Standardowe funkcje protokołu Telnet Protokół Telnet może łączyć użytkownika z szeroką gamą serwerów, które mogą mieć różne metody wykonywania tych samych funkcji. Zapewnia on standardowe reprezentacje dla czterech najbardziej powszechnych funkcji, jak następuje:

• Interrupt Process (IP) — zawiesza, przerywa, lub zakańcza działanie procesu użytkownika. Funkcja ta jest wykorzystywana, na przykład, kiedy proces znajduje się w nie kończącej się pętli.

• Abort Output (AO) — pozwala procesowi, który generuje dane wyjściowe, aby dobiegł do końca nie wysyłając danych do terminala użytkownika. Funkcja ta zazwyczaj kasuje wszelkie dane wyjściowe już wyprodukowane, ale jeszcze nie wydrukowane, lub nie wyświetlone. Jeżeli są jakieś bufory zewnętrzne względem systemu, które muszą również zostać opróżnione, to dokonuje się tego przy użyciu sygnału synchronizacji protokołu Telnet (patrz: poniżej).

• Are You There (AYT) — dostarcza użytkownikowi widocznego dowodu na to, że system jest wciąż aktywny.

• Erase Character (EC) — usuwa ostatni poprzedzający nieusunięty znak ze strumienia danych dostarczanego przez użytkownika. Zazwyczaj funkcja ta wykorzystywana jest do edycji danych wprowadzanych z klawiatury, kiedy popełniane są błędy wpisywania.

Piotr Omasta
... koñczy ..., ... zamyka ...
Page 20: Rozdział 9. Protokoły i programy usługowe poziomu aplikacjicarme.pld-linux.org/~evil/varia/informatyka/semestr_4/sieci/siecki... · Polecenia FTP wydawane z konsoli poleceń mogą

• Erase Line (EL) — usuwa wszystkie dane w wierszu aktualnie wpisywanym.

Sygnał synchronizacji protokołu Telnet Sygnał synchronizacji protokołu Telnet składa się z pilnego powiadomienia protokołu TCP (patrz: rozdział 7) stosowanego z poleceniem DATA MARK (DM) protokołu Telnet. W tym trybie strumień danych jest przeszukiwany w celu znalezienia „interesujących” sygnałów; to jest IP, AO, lub AYT (ale nie EC, ani EL) przy odrzuceniu przeszkadzających danych. Polecenie DM sygnalizuje, że został otrzymany interesujący sygnał i adresat może teraz przetwarzać strumień danych w normalny sposób. Bajty polecenia DM to ostatnie i zazwyczaj jedyne dane w sygnale synchronizacji.

Jednym ze skutków sygnału synchronizacji jest to, że wszystkie znaki (oprócz poleceń protokołu Telnet), będące aktualnie w buforze pomiędzy nadawcą a adresatem, zostają usunięte. Mechanizm ten jest standardowym sposobem kasowania ścieżki danych.

Polecenia protokołu Telnet Polecenia protokołu Telnet składają się z ciągu co najmniej 2 bajtów. Pierwszy to kod ucieczki (tj. niedrukowalny kod ASCII 255), znany jako interpretuj jako polecenie (IAC). Po nim następuje kod dla polecenia. W przypadku poleceń, które zajmują się negocjacją podrzędną opcji (WILL, WON’T, DO, DON’T), trzeci bajt określa opcję. Tabela 9.8 podaje standardowe polecenia protokołu Telnet, wraz z kodem ASCII i krótkim opisem każdego z nich.

Tabela 9.8. Polecenia protokołu Telnet

Polecenie Kod ASCII Opis

SE 240 Koniec parametrów negocjacji podrzędnej.

NOP 241 Brak operacji.

DM 242 Wykorzystywane w sygnale synchronizacji do wskazywania, że może się ponownie rozpocząć normalne przetwarzanie danych.

BREAK 243 Równoznaczne z kodem klucza Break lub Attention w sekwencji danych.

INTERRUPT PROCESS 244 Implementuje funkcję IP.

ABORT OUTPUT 245 Implementuje funkcję IP.

ARE YOU THERE 246 Implementuje funkcję AO.

ERASE CHARACTER 247 Implementuje funkcję EC.

ERASE LINE 248 Implementuje funkcję EL.

GO AHEAD (GA) 249 Kiedy dany proces po jednej stronie połączenia protokołu Telnet nie może przebiegać dalej bez danych wejściowych z drugiej strony, to wysyła on polecenie GA.

SB 250 Sygnalizuje rozpoczęcie negocjacji podrzędnej opcji.

Page 21: Rozdział 9. Protokoły i programy usługowe poziomu aplikacjicarme.pld-linux.org/~evil/varia/informatyka/semestr_4/sieci/siecki... · Polecenia FTP wydawane z konsoli poleceń mogą

WILL 251 Sygnalizuje, że nadawca chce użyć, albo aktualnie używa, określonej opcji.

WON’T 252 Sygnalizuje, że nadawca odmawia używania, albo dalszego używania, określonej opcji.

DO 253 Żąda, aby odbiorca użył, albo wskazuje, że oczekuje się aby użył, określonej opcji.

DON’T 254 Żąda, aby odbiorca przestał używać, albo wskazuje, że już się nie oczekuje by użył, określonej opcji.

Komunikacyjne programy usługowe systemu Windows 2000 Komunikacyjne programy usługowe TCP/IP systemu Windows 2000 umożliwiają przesyłanie plików od jednego hosta Microsoft do drugiego, a także pomiędzy hostami Microsoft a obcymi systemami protokołu TCP/IP (jak hosty systemu UNIX). W skład tych programów usługowych wchodzą:

• ftp — przesyła dowolny rozmiar plików pomiędzy systemem Windows 2000 a komputerem z zainstalowanym oprogramowaniem serwera FTP;

• tftp — przesyła małe pliki pomiędzy systemem Windows 2000 a komputerem z zainstalowanym oprogramowaniem serwera TFTP;

• telnet — wykorzystuje rejestrację terminalową, aby zyskiwać dostęp do zdalnych urządzeń sieciowych z zainstalowanym oprogramowaniem serwera Telnet;

• rexec — uruchamia procesy na komputerach zdalnych;

• rsh — uruchamia polecenia na komputerze (przeważnie na hoście systemu Unix) z zainstalowanym oprogramowaniem serwera Remote Shell (RSH);

• rcp — kopiuje pliki pomiędzy systemem Windows 2000 a komputerami z zainstalowanym oprogramowaniem serwera protokołu kopii zdalnej (RCP) (zazwyczaj hostami systemu Unix);

• lpr — wysyła zadania wydruku do zdalnych drukarek systemu Unix, zarządzanych oprogramowaniem serwera wydruku demona drukarki wierszowej (LPD);

• lpq — przegląda kolejki wydruku na zdalnych drukarkach systemu Unix, zarządzanych oprogramowaniem serwera wydruku LPD.

Program usługowy FTP Ten program usługowy zapewnia interfejs wiersza poleceń, wykorzystujący protokół FTP do przesyłania plików do i z komputera z uruchomioną usługą serwera FTP (na przykład serwera IIS5 systemu Windows 2000). Polecenie ftp ustanawia połączenie i tworzy środowisko podrzędne, w którym można używać poleceń podrzędnych dostarczonych przez program usługowy ftp — to jest wpisywać te polecenia z wiersza polecenia ftp>. Można później powrócić do wiersza polecenia

Page 22: Rozdział 9. Protokoły i programy usługowe poziomu aplikacjicarme.pld-linux.org/~evil/varia/informatyka/semestr_4/sieci/siecki... · Polecenia FTP wydawane z konsoli poleceń mogą

systemu Windows 2000 przy użyciu polecenia podrzędnego quit, albo bye. Składnia polecenia ftp to: ftp [-v] [-n] [-i] [-d] [-g] [-s:nazwa_pliku] [-a] [-w:rozmiar_okna] [komputer]

gdzie parametry to:

• –v — wyłącza wyświetlanie odpowiedzi serwera zdalnego.

• -n — wyłącza automatyczne logowanie po nawiązaniu początkowego połączenia. Użytkownik, który następnie wpisze polecenie podrzędne wymagające autoryzacji, będzie monitowany o zalogowanie za pomocą nazwy użytkownika i hasła.

• -i — wyłącza interaktywne monity podczas przesyłania wielu plików.

• -d — wyświetla wszystkie polecenia podrzędne usługi ftp przekazywane między klientem a serwerem. Ta funkcja jest wykorzystywana do usuwania błędów.

• -g — wyłącza rozwijanie i uogólnianie nazw plików. Rozwijanie i uogólnianie pozwala używać symboli wieloznacznych (* i ?) w nazwach i ścieżkach plików lokalnych.

• -s:nazwa_pliku — określa plik tekstowy zawierający polecenia podrzędne usługi ftp, które zostaną automatycznie wykonane po uruchomieniu połączenia.

• -a — pozwala połączeniu służącemu do przesyłu danych korzystać z dowolnego interfejsu lokalnego.

• -w:rozmiar_okna — zastępuje domyślny rozmiar buforu przesyłania, wynoszący 4096.

• komputer — określa nazwę lub adres IP komputera zdalnego. Musi to być ostatni parametr w wierszu.

Polecenia podrzędne ftp podane są w tabeli 9.9. Niekiedy dwa polecenia implementują tę samą funkcję; służy to zgodności z innymi systemami.

Tabela 9.9. Polecenia podrzędne ftp

Polecenie Parametry Opis

! Brak Powraca do powłoki poleceń systemu Windows 2000. Wykorzystywane, aby zyskiwać dostęp do poleceń MS-DOS nie opuszczając podsystemu ftp (na przykład !dir wyświetla katalog lokalny).

? Nazwa polecenia podrzędnego

Opisuje polecenie podrzędne, albo wyświetla wszystkie polecenia podrzędne, jeżeli zostanie użyte bez parametru. Identyczne z poleceniem podrzędnym help.

append Plik lokalny, plik zdalny

Dołącza plik lokalny do pliku na komputerze zdalnym. Jeżeli plik zdalny nie zostanie określony, to zakłada się, że ma on taką samą nazwę pliku, jak plik lokalny.

ascii Brak Ustawia tryb przesyłu plików na ascii (ustawienie domyślne).

bell Brak Przełącza dzwonek (lub pisk), który sygnalizuje, że dane

Piotr Omasta
Pochylenie czcionki celem odró¿nienia dwóch cz³onów polecenia: cz³onu wpisywanego w brzmieniu podanym i cz³onu wpisywanego w brzmieniu wybranym przez wpisuj¹cego.
Piotr Omasta
j.w.
Piotr Omasta
j.w.
Page 23: Rozdział 9. Protokoły i programy usługowe poziomu aplikacjicarme.pld-linux.org/~evil/varia/informatyka/semestr_4/sieci/siecki... · Polecenia FTP wydawane z konsoli poleceń mogą

polecenie przesyłu zostało wypełnione. Domyślnie, dzwonek jest wyłączony.

binary Brak Ustawia tryb przesyłu na binarny.

bye Brak Kończy sesję FTP z komputerem zdalnym i opuszcza podsystem ftp. Identyczne z quit.

cd Nazwa katalogu Zmienia bieżący katalog na komputerze zdalnym.

close Brak Kończy sesję FTP z komputerem zdalnym i powraca do podsystemu ftp.

debug Brak Przełącza usuwanie błędów. Kiedy usuwanie błędów jest włączone, każde z poleceń FTP (poleceń protokołu, a nie poleceń podrzędnych ftp) wysłane do komputera zdalnego zostaje wydrukowane. Usuwanie błędów jest domyślnie wyłączone.

delete Nazwa pliku Usuwa pliki na komputerze zdalnym.

dir Katalog zdalny, plik lokalny

Wyświetla pliki i podkatalogi katalogu zdalnego w pliku lokalnym, albo na ekranie (jeżeli nie został określony plik lokalny). Jeżeli nie zostanie określony katalog zdalny, to będzie wyświetlany bieżący katalog.

disconnect Brak Rozłącza się z komputerem zdalnym i powraca do podsystemu ftp. Identyczne z close.

get Plik zdalny, plik lokalny

Kopiuje plik zdalny do komputera lokalnego przy użyciu bieżącego typu przesyłu plików. Jeżeli nie zostanie określony plik lokalny, to nazwa pliku docelowego będzie taka sama, jak nazwa pliku źródłowego.

glob Brak Przełącza rozwijanie i uogólnianie nazw plików. Rozwijanie i uogólnianie jest domyślnie włączone (chyba że w poleceniu ftp zostanie użyty przełącznik –g).

hash Brak Przełącza drukowanie znaku # dla każdego przesłanego 2048-bajtowego bloku danych. Drukowanie znaku # jest domyślnie wyłączone.

help Nazwa polecenia podrzędnego

Opisuje polecenie podrzędne lub wyświetla wszystkie polecenia podrzędne (jeżeli zostanie użyte bez parametru). Identyczne z poleceniem ?.

ls Nazwa katalogu Wyświetla skróconą listę plików i podkatalogów w katalogu zdalnym. Jeżeli nie zostanie określona żadna nazwa katalogu, wyświetlana będzie zawartość aktualnego zdalnego katalogu bieżącego.

mdelete Pliki zdalne Usuwa pliki na komputerze zdalnym.

mdir Katalogi zdalne, plik

Wyświetla zawartość jednego lub kilku katalogów zdalnych. Wydruk umieszczony zostaje w określonym pliku lokalnym.

Page 24: Rozdział 9. Protokoły i programy usługowe poziomu aplikacjicarme.pld-linux.org/~evil/varia/informatyka/semestr_4/sieci/siecki... · Polecenia FTP wydawane z konsoli poleceń mogą

lokalny Aby wyświetlić bieżący katalog zdalny, określ – w przypadku parametru katalogi zdalne. Aby wyświetlić na ekranie, określ – w przypadku parametru plik lokalny.

mget Pliki zdalne Kopiuje jeden lub więcej plików zdalnych do komputera zdalnego przy użyciu bieżącego typu przesyłu.

mkdir Nazwa katalogu Tworzy katalog zdalny.

mls Pliki zdalne, plik lokalny

Generuje skróconą listę plików i podkatalogów w katalogu zdalnym i umieszcza tę listę w pliku lokalnym. Określ pliki zdalne jako –, aby korzystać z aktualnego katalogu bieżącego na komputerze zdalnym. Określ plik lokalny jako –, aby wyświetlić listę na ekranie.

mput Pliki lokalne Kopiuje jeden lub więcej plików lokalnych do komputera zdalnego przy użyciu bieżącego typu przesyłu plików.

open Komputer, port Łączy z serwerem FTP określonym po adresie IP, lub nazwie komputera. Dodatkowo można również określić numer portu na serwerze.

prompt Brak Przełącza monitowanie. Domyślnie, ftp monituje podczas przesyłania wielu plików, aby umożliwić selektywne pobieranie, lub zapamiętywanie plików. Jeżeli monitowanie jest wyłączone, mget i mput przesyłają wszystkie pliki.

put Plik lokalny, plik zdalny

Kopiuje plik lokalny do komputera zdalnego przy użyciu bieżącego typu przesyłu. Jeżeli nie zostanie określony żaden plik zdalny, to plik zdalny przybiera taką samą nazwę, jak plik lokalny.

pwd Brak Wyświetla aktualny katalog na komputerze zdalnym.

quit Brak Kończy sesję FTP z komputerem zdalnym i opuszcza ftp. Identyczne z bye.

quote Argument Wysyła argumenty, słowo w słowo, do zdalnego serwera FTP. Identyczne z literal.

recv Plik zdalny, plik lokalny

Kopiuje plik lokalny do komputera lokalnego przy użyciu bieżącego typu przesyłu. Jeżeli nie zostanie określony plik lokalny, to nazwa pliku docelowego będzie taka sama, jak nazwa pliku źródłowego. Identyczne z get.

remotehelp Nazwa polecenia

Wyświetla pomoc dla poleceń zdalnych. Jeżeli nie została określona nazwa polecenia, to wyświetlana jest lista wszystkich poleceń zdalnych.

rename Nazwa pliku, nowa nazwa pliku

Przemianowuje pliki zdalne.

rmdir Katalog Usuwa katalog zdalny.

Page 25: Rozdział 9. Protokoły i programy usługowe poziomu aplikacjicarme.pld-linux.org/~evil/varia/informatyka/semestr_4/sieci/siecki... · Polecenia FTP wydawane z konsoli poleceń mogą

send Plik lokalny, plik zdalny

Kopiuje plik lokalny do komputera zdalnego przy użyciu bieżącego typu transferu plików. Jeżeli nie został określony żaden plik zdalny, to plik zdalny przybiera tę samą nazwę, co plik lokalny. Identyczne z put.

status Brak Wyświetla bieżący stan przerzutników i połączeń FTP.

trace Brak Przełącza śledzenie pakietów. Trace wyświetla trasę, którą obiera każdy z pakietów podczas polecenia podrzędnego ftp. Śledzenie jest domyślnie wyłączone.

type Ascii lub binarny

Określa tryb (lub typ) przesyłu plików. Jeżeli nie został określony żaden parametr, wyświetlany jest bieżący tryb transferu.

user Nazwa użytkownika, hasło, konto

Określa nazwę użytkownika wraz z hasłem i kontem użytkownika, wykorzystywane do logowania na komputerze zdalnym.

verbose Brak Przełącza tryb opisowy. Tryb opisowy jest domyślnie włączony i wyświetlane są wszystkie odpowiedzi ftp, podobnie jak statystyki dotyczące wydajności przesyłu po zakończeniu przesyłu.

Tworzenie nowej witryny FTP, logowanie się w witrynie FTP oraz korzystanie z programu usługowego ftp są opisane w podrozdziale rozwiązań natychmiastowych niniejszego rozdziału.

Program usługowy tftp Program usługowy tftp wykorzystuje protokół UDP do przesyłania plików do komputera z uruchomioną usługą TFTP albo z niego, bez ustanawiania połączenia. Składnia polecenia jest następująca: tftp [-i] komputer[get | put] źródło[PO20] [miejsce_docelowe[PO21]]

gdzie parametry to:

• -i — określa binarny tryb przesyłania obrazu (zwany również oktetem). Jeśli parametr -i jest pominięty, plik jest przesyłany w trybie ascii (lub netascii). Tryb przesyłania poczty nie jest obsługiwany przez program użytkowy tftp systemu Windows 2000.

• komputer — określa komputer lokalny lub zdalny po adresie IP lub nazwie komputera.

• get — kopiuje plik nazwa_ pliku_źródłowego na komputerze zdalnym do pliku nazwa_pliku_docelowego na komputerze lokalnym.

• put — kopiuje plik nazwa_ pliku_źródłowego na komputerze lokalnym do pliku nazwa_pliku_docelowego na komputerze zdalnym.

• nazwa_pliku_źródłowego — określa plik, który ma być przesłany.

• nazwa_pliku_docelowego — określa dokąd przesłać plik. Jeżeli parametr nazwa_pliku_docelowego jest pominięty, zakłada się, że nazwa jest identyczna, jak nazwa określona przez parametr nazwa_pliku_źródłowego.

Piotr Omasta
... nazwa_ pliku_Ÿród³owego ...
Piotr Omasta
... nazwa_pliku_docelowego ...
Page 26: Rozdział 9. Protokoły i programy usługowe poziomu aplikacjicarme.pld-linux.org/~evil/varia/informatyka/semestr_4/sieci/siecki... · Polecenia FTP wydawane z konsoli poleceń mogą

Ponieważ protokół TFTP nie obsługuje uwierzytelniania użytkowników, użytkownik musi być zalogowany przy użyciu konta rozpoznawanego przez komputer zdalny i musi mieć odpowiednie zezwolenia odczytu/zapisu wobec plików na komputerze zdalnym, do których uzyskiwany jest dostęp.

Program usługowy telnet Program usługowy telnet systemu Windows 2000 umożliwia użytkownikowi na kliencie telnet łączenie się z serwerem telnet, logowanie się na serwerze i korzystanie z aplikacji wiersza polecenia trybu znakowego na serwerze tak, jakby przed nim siedział.

Klient telnet obsługuje uwierzytelnianie protokołu NT LAN Manager (NTLM). Jeżeli ta opcja jest włączona, to można korzystać z wbudowanych zabezpieczeń systemu Windows 2000; może również mieć miejsce uwierzytelnianie bez wysyłania w tekście jawnym nazw użytkowników i haseł. Jeżeli dany klient jest zalogowany na stacji roboczej klienta telnet przy użyciu konta, które jest uwierzytelnione w domenie serwera, to nie będzie on monitowany o nazwę użytkownika ani hasło, kiedy będzie używał programu usługowego klienta telnet do zalogowania się na serwerze telnet. Użytkownik musi oczywiście mieć prawo do logowania się na tym serwerze.

Wskazówka: Jeżeli zakładasz konto na serwerze telnet, aby umożliwić użytkownikowi logowanie z klienta telnet, wyłącz funkcję Użytkownik musi zmienić hasło przy następnym logowaniu. W przeciwnym razie rejestracja z klienta telnet nie powiedzie się, a użytkownik będzie musiał zalogować się bezpośrednio na serwerze (albo na domenie serwera), aby zmienić hasło.

Administrator może użyć programu usługowego Admin serwera telnet, aby uruchomić i zatrzymać serwer telnet, uzyskać informacje dotyczące serwera telnet, otrzymać listę bieżących użytkowników, zakończyć sesję użytkownika lub zmienić ustawienia Rejestru serwera telnet. Tabela 9.10 podaje opcje Admin serwera telnet. Tabela 9.11 podaje szczegóły ustawień Rejestru, które można zmieniać.

Uwaga! Nieostrożne modyfikowanie Rejestru może poważnie uszkodzić twój system operacyjny.

Jeżeli zmienisz domyślne konto domeny, to ustawienie zacznie działać tylko po ponownym uruchomieniu serwera. Uruchamianie i zatrzymywanie serwera telnet opisane jest w podrozdziale rozwiązań natychmiastowych niniejszego rozdziału, podobnie jak zmiana trybu uwierzytelniania.

Tabela 9.10. Opcje programu usługowego Admin serwera telnet

Opcja Nazwa Opis

0 Zakończ daną aplikację Kończy sesję programu usługowego Administracja

serwera telnet.

1 Wyświetl listę bieżących użytkowników

Wyświetla listę bieżących użytkowników według nazwy użytkownika, domeny, komputera zdalnego, ID sesji oraz czasu rejestracji.

2 Zakończ sesję użytkownika

Kończy wybraną sesję użytkownika.

Piotr Omasta
Niejasny sens.
Page 27: Rozdział 9. Protokoły i programy usługowe poziomu aplikacjicarme.pld-linux.org/~evil/varia/informatyka/semestr_4/sieci/siecki... · Polecenia FTP wydawane z konsoli poleceń mogą

3 Wyświetl/zmień ustawienia Rejestru

Przełącza program usługowy na tryb ustawień Rejestru. Patrz: tabela 9.11.

4 Uruchom Uruchamia serwer telnet.

5 Zatrzymaj Zatrzymuje serwer telnet.

Tabela 9.11. Opcje ustawień Rejestru programu usługowego Administracja sewera telnet

Opcja Nazwa Opis i dopuszczalne wartości

Wartość domyślna

0 Exit this menu Powraca do oryginalnych opcji programu usługowego Administracja serwera telnet.

brak

1 AllowTrustedDomain Jeżeli jest ustawiona na 1, to umożliwia uzyskanie dostępu do użytkowników domen z domen z relacją zaufania; jeżeli jest ustawiona na 0, to tym użytkownikom wzbroniony jest dostęp.

1

2 AltKeyMapping Umożliwia wykorzystanie funkcji klawisza ALT (tylko w przypadku terminali VT100). Jeżeli jest ustawiona na 1, to sekwencja klawiszy Ctrl+-A jest traktowana tak jak klawisz Alt w przypadku tych terminali.

1

3 DefaultDomain Może być ustawiona na dowolną domenę z relacją zaufania w stosunku do domeny lokalnej. Jeżeli opcja AllowTrustedDomain ustawiona jest na 1 i chcesz, aby domena lokalna była domeną domyślną, to ustaw tę wartość na „.”.

Null (pusty)

4 DefaultShell Ustawia lokalizację ścieżki dla instalacji powłoki.

%Systemroot%\System32\Cmd.exe /q /k

5 LogonScript Ustawia lokalizację ścieżki dla (opcjonalnego) skryptu

%Systemroot%\System32\login.cmd

Page 28: Rozdział 9. Protokoły i programy usługowe poziomu aplikacjicarme.pld-linux.org/~evil/varia/informatyka/semestr_4/sieci/siecki... · Polecenia FTP wydawane z konsoli poleceń mogą

logowania serwera telnet.

6 MaxFailedLogins Ustawia maksymalną liczbę nieudanych prób logowania przed zakończeniem połączenia.

3

7 NTLM Opcje uwierzytelniania. Jeżeli wynosi 0, to uwierzytelnianie NTLM nie jest wykorzystywane; jeżeli 1, to uwierzytelnianie NTLM jest używane jako pierwsze, a jeżeli się nie powiedzie, to monituje o nazwę użytkownika i hasło; jeżeli wynosi 2, to wykorzystywane jest tylko uwierzytelnianie NTLM.

2

8 TelnetPort Ustawia numer portu, na którym serwer telnet będzie nasłuchiwał żądań telnet.

23

Wskazówka: Serwer telnet systemu Windows 2000 obsługuje maksymalnie dwóch klientów naraz. Pakiet dodatkowy Microsoft Services for Unix obsługuje maksymalnie 63 klientów. Więcej szczegółów dotyczących tego pakietu można znaleźć pod adresem www.microsoft.microsoft.com/WINDOWS2000/sfu/default.asp.

Program usługowy rexec Program usługowy rexec (zdalne uruchomienie) systemu Windows 2000 uruchamia polecenia na komputerach zdalnych z uruchomioną usługą REXEC. Polecenie rexec uwierzytelnia nazwę użytkownika na komputerze zdalnym przed wykonaniem określonego polecenia. Rexec można wykorzystywać na przykład do uruchamiania diagnostycznych programów usługowych na komputerze, który ma uszkodzoną klawiaturę lub sterownik klawiatury. Składnia polecenia jest następująca: rexec komputer [-l nazwa_użytkownika] [-n] polecenie

gdzie parametry to:

• komputer — określa komputer zdalny, na którym ma być uruchomione polecenie określone przez polecenie;

• -l nazwa_użytkownika — określa nazwę użytkownika na komputerze zdalnym. Jeżeli ten parametr zostanie pominięty, to wykorzystywana będzie zalogowana nazwa użytkownika;

• -n — przeadresowuje wpis polecenia rexec do urządzenia NULL;

• polecenie — określa polecenie, które ma być uruchomione.

Page 29: Rozdział 9. Protokoły i programy usługowe poziomu aplikacjicarme.pld-linux.org/~evil/varia/informatyka/semestr_4/sieci/siecki... · Polecenia FTP wydawane z konsoli poleceń mogą

Program usługowy rsh Program usługowy rsh (powłoka zdalna) systemu Windows 2000 uruchamia polecenia na komputerach zdalnych, na których uruchomiono usługę RSH — zazwyczaj na komputerach, które mają systemy operacyjne zgodne ze standardem Posix, takie jak Unix. Składnia polecenia to: rsh komputer [-l nazwa_użytkownika] [-n] polecenie

gdzie parametry są takie same, jak parametry polecenia rexec (patrz: powyżej).

Program usługowy rcp Program usługowy rcp (kopia zdalna) systemu Windows 2000 kopiuje pliki między komputerem systemu Windows 2000 a systemem, w którym uruchomiony jest demon powłoki zdalnej (RSHD). RSHD jest dostępny na komputerach systemu Unix, a komputer systemu Windows 2000 bierze udział w takich operacjach tylko jako system, z którego wydawane jest polecenie rcp. Składnia polecenia jest następująca: rcp [-a | -b] [-h] [-r] źródło1 źródło2 ... źródłoN miejsce_docelowe

gdzie parametry to:

• -a — określa tryb transferu ascii (ustawienie domyślne).

• -b — określa binarny tryb przesyłania obrazów.

• -h — przesyła ukryte pliki źródłowe. Bez tej opcji, pliki, które mają na komputerze systemu Windows 2000 atrybut Ukryty, traktowane są, jakby nie istniały.

• -r — rekursywnie kopiuje zawartość wszystkich podkatalogów z lokalizacji źródłowej do docelowej. Zarówno źródło, jak i miejsce docelowe muszą być katalogami. Jeżeli obiekt źródłowy nie jest katalogiem, nie występuje rekursja.

• źródło — określa jeden lub więcej plików źródłowych. Parametr ten przybiera formę [komputer[.użytkownik]:]nazwa_pliku (zwróć uwagę na separatory „.” i „:”). Jeżeli fragment [komputer[.użytkownik]:] zostanie pominięty, przyjmowane jest założenie, że polecenie dotyczy komputera lokalnego. Jeżeli pominięty zostanie fragment [.użytkownik], używana jest nazwa użytkownika zalogowanego w danej chwili w systemie Windows 2000.

• miejsce_docelowe — określa plik docelowy. Przyjmuje on taką samą formę, jak parametr źródło.

Program usługowy lpr Połączeniowy program usługowy lpr (zdalnego połączenia drukarki wierszowej) jest używany do drukowania pliku na komputerze z uruchomioną usługą demona drukarki wierszowej (LPD). W systemie Windows 2000 jest to program usługowy umożliwiający hostowi systemu Windows 2000 wysyłanie zadań wydruku do (na przykład) serwera wydruku systemu Unix. Drukarka TCP/IP może być również zainstalowana na serwerze wydruku systemu Windows 2000. W takim wypadku klient systemu Unix może użyć polecenia lpr, aby wysłać zadanie wydruku do serwera wydruku systemu Windows 2000. Składnia polecenia jest następująca: lpr -Sserwer -Pdrukarka [-Cklasa] [-Jnazwa_zadania] [-Oopcja] nazwa_pliku

Page 30: Rozdział 9. Protokoły i programy usługowe poziomu aplikacjicarme.pld-linux.org/~evil/varia/informatyka/semestr_4/sieci/siecki... · Polecenia FTP wydawane z konsoli poleceń mogą

gdzie parametry to:

• -Sserwer — określa nazwę komputera, lub adres IP serwera wydruku.

• -Pdrukarka — określa nazwę drukarki.

• -Cklasa — określa klasę. Parametr ten jest używany w przypadku stron tytułowych.

• -Jnazwa_zadania — określa nazwę zadania.

• -Oopcja — Określa typ pliku. Typem domyślnym jest ascii. Plik binarny określany jest przez Ol (mała litera „l”).

• nazwa_pliku — określa nazwę pliku, który ma być wydrukowany.

Program usługowy lpq Program usługowy lpq (kolejka drukarki wierszowej) jest używany do uzyskiwania stanu kolejki wydruku na serwerze wydruku z uruchomioną usługą LPD. Składnia polecenia to: lpq -Sserwer -Pdrukarka [-l]

gdzie parametry to:

• -Sserwer — określa nazwę komputera, lub adres IP serwera wydruku;

• -Pdrukarka — określa nazwę drukarki;

• -l — określa, że ma być podany szczegółowy raport stanu.

Rozwiązania natychmiastowe

Przesyłanie plików przy użyciu programu usługowego FTP W tym zestawie procedur będziemy używali programu usługowego ftp do przesyłania plików do i z witryny FTP, oraz do wyświetlania zawartości domyślnego katalogu witryny. Aby to zrobić, najpierw powiążemy dodatkowy numer IP z naszą kartą sieciową (NIC) i użyjemy go, aby założyć nową witrynę FTP. Jeżeli już masz witrynę FTP, którą mógłbyś wykorzystać do tego celu, to nie musisz przeprowadzać pierwszych dwóch procedur.

Procedury te przyjmują domyślną konfigurację witryny FTP.

Wiązanie dodatkowego adresu IP z kartą sieciową Aby powiązać dodatkowy adres IP z kartą sieciową swojego serwera IIS5, wykonaj następujące czynności:

1. Zaloguj się na serwerze IIS5 jako administrator.

Page 31: Rozdział 9. Protokoły i programy usługowe poziomu aplikacjicarme.pld-linux.org/~evil/varia/informatyka/semestr_4/sieci/siecki... · Polecenia FTP wydawane z konsoli poleceń mogą

2. Wejdź do Start|Ustawienia|Połączenia sieciowe i telefoniczne i kliknij przycisk Połączenie lokalne.

3. Kliknij Właściwości i wybierz Protokół internetowy (TCP/IP).

4. Kliknij Właściwości. Pojawi się okno dialogowe Właściwości: Protokół internetowy (TCP/IP).

5. Kliknij Zaawansowane. Na zakładce Ustawienia protokołu IP kliknij przycisk Dodaj w oknie dialogowym Adresy IP.

6. Określ dodatkowy adres IP i maskę podsieci w sposób przedstawiony na rysunku 9.4. Kliknij Dodaj.

7. Kliknij OK, aby zamknąć każde z okien dialogowych.

Rysunek 9.4. Określanie dodatkowego adresu IP

Tworzenie witryny FTP Aby utworzyć nową witrynę, której można używać wraz z programem usługowym ftp, wykonaj następujące czynności:

1. Zaloguj się na serwerze IIS5 jako administrator.

2. Wejdź do Start|Programy|Akcesoria i uruchom Eksplorator Windows.

3. Utwórz nowy folder o nazwie (na przykład) ftpfold. Będzie to domyślny katalog dla Twojej nowej witryny i jest to zazwyczaj (ale niekoniecznie) folder podrzędny %Systemroot%\InetPub.

4. Utwórz w tym folderze kilka plików, kopiując je z innych folderów, albo przy użyciu menu Plik Eksploratora Windows. Utwórz więcej niż dwa pliki tekstowe (.TXT) i upewnij się, że tylko jeden z nich nazywa się fred.txt. Upewnij się, że żaden z plików .TXT nie nazywa się mary.txt.

5. Wejdź Start|Programy|Narzędzia administracyjne i kliknij polecenie Menedżer usług internetowych.

6. Prawym przyciskiem myszy kliknij Nazwa serwera, kliknij Nowy i wybierz polecenie Witryna FTP.

7. Wpisz opis nowej witryny. Kliknij Dalej.

8. Z listy rozwijanej adresu IP wybierz adres IP, który powiązałeś z kartą sieciową w toku poprzedniej procedury. Kliknij Dalej.

9. Kliknij Przeglądaj i określ folder, który utworzyłeś w kroku 3 jako folder domyślny. Kliknij Dalej.

10. Upewnij się, że zaznaczone są kratki Odczyt i Zapis. Kliknij Dalej.

11. Kliknij Zakończ. Sprawdź, czy nowa witryna jest obecna w lewym oknie przystawki MMC, a także czy jest ona uruchomiona.

Page 32: Rozdział 9. Protokoły i programy usługowe poziomu aplikacjicarme.pld-linux.org/~evil/varia/informatyka/semestr_4/sieci/siecki... · Polecenia FTP wydawane z konsoli poleceń mogą

12. Opuść przystawkę MMC.

Uwaga! Procedura ta zakłada, że tworzysz prywatną witrynę FTP do użytku wewnętrznego. Publiczną witrynę internetową tworzy się w ten sam sposób, ale w tym przypadku nazwa i adres IP witryny muszą być zarejestrowane w internetowym centrum informacji sieciowej (InterNIC) pod adresem www.internic.net.

Przesyłanie plików do klienta FTP i od klienta FTP Poprzednie dwie procedury zajmowały się zakładaniem witryny FTP, do której, i z której, można przesyłać pliki. Aby użyć programu usługowego przesyłu plików ftp, podejmij następujące działania:

1. Zaloguj się na komputerze systemu Windows 2000 w twojej domenie, innym niż serwer IIS5.

Wskazówka: Nie musisz się logować jako administrator, aby korzystać z programu usługowego ftp. Możesz się zalogować jako zwyczajny użytkownik i/lub możesz się zalogować na hoście w innej domenie. Jeśli chcesz, to możesz przeprowadzić tę procedurę na samym serwerze IIS5, lecz to nigdy nie wydaje się tak przekonywające.

2. Wejdź do Start|Programy|Akcesoria i uruchom Eksplorator Windows.

3. Utwórz nowy folder o nazwie (na przykład) mójfolder.

4. Utwórz plik tekstowy mary.txt w tym folderze.

5. Wejdź do Start|Programy|Akcesoria i kliknij Wiersz polecenia.

6. Użyj polecenia MSDOS cd, aby poruszać się po folderze, który utworzyłeś w kroku 3.

7. Wpisz ftp numerip, gdzie numerip to numer IP nowej witryny FTP, którą utworzyłeś w poprzedniej procedurze.

8. Zostaniesz zapytany o nawę użytkownika. Wpisz anonimowy.

9. Zostaniesz poproszony o hasło. Wciśnij klawisz Enter (puste hasło).

10. Zostaniesz poinformowany, że użytkownik Anonimowy został zalogowany. Wpisz dir. Pojawi się listing domyślnego katalogu FTP.

11. Wpisz get fred.txt. Plik fred.txt zostanie przekopiowany do twojego foldera lokalnego.

12. Wpisz !dir, aby wyświetlić katalog lokalny. Sprawdź, czy wypisany jest plik fred.txt. Rysunek 9.5 przedstawia dane wyjściowe dla operacji (lub pobierania) get.

13. Wpisz bell.

14. Wpisz mget *.txt. Reszta plików tekstowych w domyślnym katalogu witryny FTP zostanie przekopiowana do twojego foldera lokalnego. Będziesz monitowany o każdy z plików. Zadzwoni „dzwonek”, kiedy zostaną przesłane wszystkie pliki.

15. Wpisz prompt.

Page 33: Rozdział 9. Protokoły i programy usługowe poziomu aplikacjicarme.pld-linux.org/~evil/varia/informatyka/semestr_4/sieci/siecki... · Polecenia FTP wydawane z konsoli poleceń mogą

16. Wpisz mget *. Wszystkie pliki w domyślnym katalogu witryny FTP zostaną przekopiowane do twojego foldera lokalnego bez monitowania.

17. Wpisz put mary.txt. Plik mary.txt zostanie załadowany do witryny FTP.

18. Wpisz dir, aby wyświetlić domyślny katalog witryny FTP. Rysunek 9.6 przedstawia dane wyjściowe pochodzące z udanej operacji (lub załadowania) put.

19. Wpisz close.

20. Przeprowadź doświadczenia z innymi poleceniami podrzędnymi wypisanymi w tabeli 9.9. Wpisz bye, aby zamknąć połączenie i opuścić podsystem ftp.

21. Zamknij konsolę polecenia i Eksplorator Windows.

Rysunek 9.5. Pobranie pliku jako użytkownik Anonimowy

Rysunek 9.6. Załadowanie pliku do witryny FTP

Wskazówka: Zadaniem poprzedniej procedury było ukazanie zastosowania programu usługowego ftp systemu Windows 2000 za pomocą prostych poleceń put i get. Aby w pełni zaznajomić się z programem, przeprowadzaj dalsze eksperymenty. Możesz na przykład ograniczyć dostęp do domyślnego katalogu witryny FTP i otwierać połączenie przy użyciu różnych nazw użytkownika i haseł albo utworzyć plik zawierający polecenia podrzędne ftp i eksperymentować z parametrem –s.

Wykorzystanie protokołu SSL do zabezpieczenia witryny WWW Z protokołami HTTP i HTTPS nie jest skojarzony żaden program usługowy wiersza polecenia, a dostęp do witryny HTTP (lub witryny WWW) uzyskuje się poprzez przeglądarkę WWW. Witrynę WWW konfiguruje się do korzystania z szyfrowania SSL (a co za tym idzie, do stawania się witryną WWW HTTPS) przy użyciu przystawki Menedżera usług internetowych. W toku tej procedury dodawana jest, a następnie konfigurowana, nowa witryna WWW. Jeżeli już masz witrynę WWW, którą chcesz skonfigurować do korzystania z protokołu SSL, to nie musisz zakładać nowej witryny.

Procedura ta zakłada, że już masz certyfikat zabezpieczeń administratora, którego możesz użyć do szyfrowania SSL. Przeważnie certyfikat administratora jest domyślnie instalowany przez serwer certyfikatów domeny, kiedy zakładany jest urząd certyfikacji systemu Windows 2000. Jeżeli w twojej domenie nie jest uruchomiony serwer certyfikatów, albo jeżeli nie został założony urząd certyfikacji, to możesz uzyskać niezależne certyfikaty zabezpieczeń do producentów, takich jak VeriSign, czy Thawte.

Page 34: Rozdział 9. Protokoły i programy usługowe poziomu aplikacjicarme.pld-linux.org/~evil/varia/informatyka/semestr_4/sieci/siecki... · Polecenia FTP wydawane z konsoli poleceń mogą

Wskazówka: Witryna WWW VeriSign mieści się pod adresem www.verisign.com. Thawte, firmę należącą do VeriSign, można znależć pod adresem www.thawte.com.

Niniejsza procedura zakłada również, że powiązałeś już dodatkowy adres IP ze swoją kartą sieciową, w sposób opisany we wcześniejszej części tego rozdziału. Nagłówki hosta nie działają z zabezpieczonymi witrynami WWW.

Witrynę zgodną z protokołem SSL zakłada się w następujący sposób:

1. Zaloguj się na serwerze IIS5 jako administrator.

2. Wejdź do Start|Programy|Akcesoria i uruchom Eksplorator Windows.

3. Utwórz nowy folder o nazwie (na przykład) secfold. Będzie to domyślny katalog dla Twojej nowej witryny i jest to zazwyczaj (ale niekoniecznie) folder podrzędny %Systemroot%\InetPub.

4. Utwórz w tym folderze plik hipertekstowego języka wykorzystującego znaczniki (HTML), albo kopiując go z innego foldera, albo przy użyciu edytora hipertekstu (jak na przykład Microsoft Word). Nazwij plik domyślny.htm.

5. Wejdź Start|Programy|Narzędzia administracyjne i kliknij polecenie Menedżer usług internetowych.

6. Prawym przyciskiem myszy kliknij Nazwa serwera, kliknij Nowy i wybierz polecenie Witryna Web.

7. Uruchomi się Kreator tworzenia witryn sieci Web. Kliknij Dalej.

8. Wpisz opis nowej witryny. Kliknij Dalej.

9. Z listy rozwijanej adresu IP wybierz dodatkowy adres IP, który powiązałeś z kartą sieciową, aby zidentyfikować tę stronę. Kliknij Dalej.

10. Kliknij Przeglądaj, i wybierz folder, który utworzyłeś w kroku 4. Kliknij Dalej.

11. Ustaw Uprawnienia dostępu witryny sieci Web wedle swoich potrzeb. Kliknij Dalej.

12. Kliknij Zakończ. Sprawdź, czy nowa witryna została utworzona i czy jest uruchomiona.

13. Prawym przyciskiem myszy kliknij nową witrynę i wybierz Właściwości.

14. Na zakładce Zabezpieczenia katalogów, w Bezpieczna komunikacja, kliknij Certyfikat serwera.

15. Uruchomi się Kreator certyfikatów sieci Web. Kliknij Dalej.

16. Wybierz Przypisz istniejący certyfikat. Kliknij Dalej.

17. Wybierz certyfikat z listy. Kliknij Dalej.

18. Sprawdź, czy wybrałeś właściwy certyfikat. Kliknij Dalej.

19. Kliknij Zakończ. Jesteś z powrotem na zakładce Zabezpieczenia katalogów okna Właściwości witryny.

Page 35: Rozdział 9. Protokoły i programy usługowe poziomu aplikacjicarme.pld-linux.org/~evil/varia/informatyka/semestr_4/sieci/siecki... · Polecenia FTP wydawane z konsoli poleceń mogą

20. Przycisk Edytuj w części Bezpieczna komunikacja jest teraz aktywny. Kliknij ten przycisk.

21. Zaznacz Wymagaj bezpiecznego kanału (SSL). Nie zaznaczaj Wymagaj szyfrowania 128-bitowego, chyba że jesteś absolutnie pewny, że wszystkie klienty mogą obsługiwać taką siłę szyfrowania.

Przepisy dotyczące eksportu szyfrowania

Dokładnie w dniu, w którym to pisałem, otrzymałem skrót wiadomości, ogłaszający że departament biura handlu administracji eksportu USA (BXA) wydał nowe przepisy dotyczące eksportu szyfrowania, implementujące nowe podejście ogłoszone przez administrację Clintona we wrześniu 1999. To posunięcie pozwala przedsiębiorstwom amerykańskim na eksportowanie dowolnego produktu szyfrującego na cały świat na licencji. Są pewne zastrzeżenia, w związku z czym rząd USA dokona przeglądu użyteczności nowego przepisu, przyjmując uwagi od obywateli przez 120 dni.

W momencie czytania tego tekstu szyfrowanie 128-bitowe może być dostępne za granicą. Tym niemniej jednak, może nie być implementowane w wielu witrynach międzynarodowych. Stosuje się tutaj ta sama rada — nie włączaj szyfrowania 128-bitowego, chyba że jesteś pewien, że wszystkie klienty mogą je obsługiwać.

22. Kliknij OK, aby opuścić okno dialogowe Bezpieczna komunikacja.

23. Kliknij OK, aby opuścić okno dialogowe Właściwości witryny.

24. Zamknij przystawkę MMC.

25. Wejdź do witryny spod przeglądarki przy użyciu https, a nie http. Na tym etapie procedury możesz wejść do witryny tylko poprzez adres IP. Rozdział 12 opisuje, w jaki sposób przydzielić przyjazną nazwę witryny. Jeżeli witryna znajduje się w Internecie, to zarówno adres IP, jak i nazwa witryny muszą być zarejestrowane w InterNIC.

Uwaga! Nie powinieneś włączać w witrynie szyfrowania SSL, chyba że masz ku temu dobry powód. Szyfrowanie SSL znacznie spowalnia działanie witryny i wykorzystuje dużo zasobów procesora. Strony zgodne z SSL wykorzystywane są przy operacjach zabezpieczonych, takich jak przesyłanie imienia i numeru karty kredytowej przez Inernet.

Uruchamianie i zatrzymywanie serwera telnet Serwer telnet można uruchomić i zatrzymać albo z przystawki MMC Zarządzanie komputerem, albo z wiersza polecenia. Obie te procedury zakładają, że jesteś zalogowany na serwerze telnet jako administrator.

Przy użyciu narzędzia Zarządzanie komputerem Aby uruchomić i zatrzymywać serwer telnet przy użyciu narzędzia przystawki MMC Zarządzanie komputerem, wykonaj następujące czynności:

1. Wejdź do Start|Programy|Narzędzia administracyjne i kliknij Zarządzanie komputerem.

Page 36: Rozdział 9. Protokoły i programy usługowe poziomu aplikacjicarme.pld-linux.org/~evil/varia/informatyka/semestr_4/sieci/siecki... · Polecenia FTP wydawane z konsoli poleceń mogą

2. Rozwiń Aplikacje i usługi i kliknij Usługi.

3. W oknie szczegółów, prawym przyciskiem myszy kliknij Telnet, a następnie wybierz Uruchom, lub Zatrzymaj, zależnie od potrzeb.

4. Opuść przystawkę MMC

Przy użyciu wiersza polecenia Aby uruchomić i zatrzymywać serwer telnet przy użyciu wiersza polecenia, wykonaj następujące czynności:

1. Wejdź do Start|Programy|Akcesoria i kliknij Wiersz polecenia.

2. Wpisz albo net start tlntsvr, albo net stop tlntsvr, w zależności od tego czy chcesz uruchomić, czy zatrzymać usługę.

3. Zamknij konsolę polecenia.

Konfigurowanie usługi telnet W toku niniejszej procedury użyjemy narzędzia admin serwera telnet, aby skonfigurować uwierzytelnianie na serwerze telnet. Narzędzie to zapewnia również jeszcze jedną metodę uruchamiania i zatrzymywania usługi. Aby skonfigurować uwierzytelnianie na serwerze telnet, podejmij następujące kroki:

1. Zaloguj się na serwerze telnet jako administrator.

2. Wejdź do Start|Programy|Akcesoria i kliknij Wiersz polecenia.

3. Wejdź do Start|Uruchom i wpisz tlntadmn.

4. Wybierz opcję 4, aby uruchomić serwer telnet (chyba że już jest uruchomiony).

5. Wybierz Wyświetl/zmień ustawienia Rejestru (opcja 3).

6. Wybierz NTLM (opcja 7).

7. Odwołaj się do tabeli 9.11 w kwestii ustawień uwierzytelniania Rejestru. W domenie systemu Windows 2000 zazwyczaj ustawia się tę wartość na 2 (ustawienie domyślne), czyli tylko NTLM.

8. Wyjdź z menu ustawień Rejestru (opcja 0).

9. Zatrzymaj i ponownie uruchom serwer telnet.

10. Opuść aplikację i zamknij konsolę polecenia.

Korzystanie z klienta telnet Możesz zechcieć ustawić klienty telnet w swojej sieci tak, aby korzystały tylko z uwierzytelniania NTLM. Zapobiega to przesyłaniu nazw i haseł w tekście jawnym, ale ma tę wadę, że klienty nie będą w stanie ustanowić połączeń z serwerami nie obsługującymi tego typu uwierzytelniania. W toku poniższej procedury użyjemy klienta telnet, aby ustawić uwierzytelnianie i żeby ustanowić

Page 37: Rozdział 9. Protokoły i programy usługowe poziomu aplikacjicarme.pld-linux.org/~evil/varia/informatyka/semestr_4/sieci/siecki... · Polecenia FTP wydawane z konsoli poleceń mogą

sesję telnet z witryną FTP, którą utworzyliśmy na serwerze IIS5 w toku poprzednich procedur. Jeżeli nie utworzyłeś nowej witryny FTP, to możesz ustanowić połączenie z domyślną witryną FTP swojej domeny.

Aby użyć klienta telnet, podejmij następujące czynności:

1. Zaloguj się na kliencie telnet jako administrator.

2. Wejdź do Start|Uruchom i wpisz telnet.

3. Wpisz set NTLM.

4. Wpisz set LOCAL_ECHO. Pozwala to zobaczyć polecenia wpisywane przez siebie po ustanowieniu połączenia telnet.

5. Wpisz open adresip 21, gdzie adresip to dodatkowy adres IP, który powiązałeś ze swoją kartą sieciową w toku jednej z poprzednich procedur (albo adres IP serwera IIS5, jeżeli nie przeprowadziłeś tej procedury). Rysunek 9.7 przedstawia polecenia telnet, służące do ustawienia uwierzytelniania i ustanowienia połączenia.

6. Teraz masz połączenie z portem kontrolnym FTP serwera, dla którego określiłeś adres IP. Wpisz user anonymous.

7. Zostaniesz poproszony o hasło. Wpisz pass bez żadnych argumentów, aby określić puste hasło.

8. Wpisz stat. Zostanie zwrócony Stan serwera FTP, jak na rysunku 9.8.

9. Wpisz quit.

10. Zamknij konsolę polecenia.

Rysunek 9.7. Uwierzytelnianie i ustanawianie połączenia telnet

Rysunek 9.8. Sesja telnet wykorzystywana do ustalenia Stanu serwera FTP

Wskazówka: Ostatnia procedura pokazała wykorzystanie klienta telnet do wykonania paru prostych funkcji. Aby zaznajomić się z klientem telnet, eksperymentuj dalej. Możliwości połączenia zależą od hosta oraz od portu, z którym jesteś połączony. Możesz na przykład połączyć się z portem 80 na serwerze WWW, aby uzyskać dostęp do witryny HTTP.

Korzystanie z drukowania TCP/IP Są dwie sytuacje, w których korzysta się z drukowania TCP/IP — kiedy chcemy przesyłać zadania wydruku do zgodnego ze specyfikacją RFC 1179 serwera wydruku systemu Unix i kiedy mamy w naszej sieci hosty systemu (na przykład) Unix, które przesyłają zadania wydruku do naszego serwera wydruku systemu Windows 2000, ale nie mogą korzystać z drukowania systemu Windows 2000. W obu przypadkach trzeba zainstalować Usługi wydruku dla systemu Unix. Ten

Piotr Omasta
... wykonaj ...
Page 38: Rozdział 9. Protokoły i programy usługowe poziomu aplikacjicarme.pld-linux.org/~evil/varia/informatyka/semestr_4/sieci/siecki... · Polecenia FTP wydawane z konsoli poleceń mogą

zestaw procedur instaluje tę usługę, dodaje port LPR do hosta systemu Windows 2000, aby mógł on przesyłać zadania do serwera wydruku systemu Unix i ustawia serwer wydruku systemu Windows 2000, aby mógł on odbierać zadania wydruku od hosta systemu Unix.

Instalowanie usług wydruku dla systemu Unix Aby zainstalować usługi wydruku dla systemu Unix, wykonaj następujące czynności:

1. Zaloguj się jako administrator.

2. Wejdź do Start|Ustawienia i wybierz Panel sterowania.

3. Kliknij dwa razy Dodaj/Usuń programy.

4. Kliknij Dodaj/Usuń składniki systemu Windows.

5. Wybierz Inne usługi plików i drukowania w sieci.

6. Zaznacz Usługi drukowania dla systemu Unix. Kliknij OK.

7. Kliknij Dalej. Jeżeli zostaniesz o to poproszony, włóż CD-ROM instalacyjny systemu Windows 2000 (albo określ ścieżkę do plików instalacyjnych) i kliknij OK.

8. Kliknij Zakończ. Kliknij Zamknij.

9. Zamknij Panel sterowania.

Łączenie się z drukarką TCP/IP w swojej podsieci Łączenie się z drukarką TCP/IP w swojej podsieci lokalnej — to jest z taką, którą jesteś w stanie zlokalizować poprzez przeglądanie — jest podobne do łączenia się z drukarką wszelkiego innego typu. Jedyna różnica jest taka, że host kliencki musi mieć zainstalowane Usługi drukowania dla systemu Unix, aby korzystać z polecenia lpr.

Aby połączyć się z drukarką TCP/IP w swojej podsieci lokalnej, wykonaj następujące działania:

1. Zaloguj się na hoście systemu Windows 2000. Możesz przeprowadzić tę procedurę zalogowany jako zwykły użytkownik.

2. Wejdź do Start|Ustawienia i kliknij Drukarki.

3. Dwukrotnie kliknij Dodaj drukarkę.

4. Uruchomi się Kreator dodawania drukarki. Kliknij Dalej.

5. Usuń zaznaczenie z pola wyboru Automatycznie wykryj moją drukarkę, wybierz Drukarka sieciowa, a następnie kliknij Dalej.

6. Wybierz Wpisz nazwę drukarki, albo kliknij Dalej, aby przeglądać w poszukiwaniu drukarki. Upewnij się, że pole obok przycisku opcji jest puste. Kliknij Dalej.

7. Przeglądaj w poszukiwaniu drukarki TCP/IP. Podświetl ją i kliknij Dalej.

8. Określ, czy chcesz używać tej drukarki jako drukarki domyślnej (prawdopodobnie nie). Kliknij Dalej.

9. Kliknij Zakończ. Zamknij okno Drukarki.

Page 39: Rozdział 9. Protokoły i programy usługowe poziomu aplikacjicarme.pld-linux.org/~evil/varia/informatyka/semestr_4/sieci/siecki... · Polecenia FTP wydawane z konsoli poleceń mogą

10. Prześlij zadania wydruku do drukarki przy użyciu polecenia lpr –Sadresip –Pnazwa_drukarki nazwa_pliku, gdzie adresip to adres IP serwera wydruku systemu Unix, nazwa_drukarki to nazwa sieciowa drukarki, a nazwa_pliku to nazwa pliku, który chcesz wydrukować.

Łączenie się z drukarką TCP/IP poprzez dodanie portu LPR W toku poniższej procedury będziemy ustawiali hosta systemu Windows 2000, aby mógł przesyłać zadania wydruku do drukarki TCP, której nie możemy zlokalizować poprzez przeglądanie. Drukarka ta może być albo drukarką zainstalowaną na serwerze wydruku systemu Unix, albo drukarką sieciową z uruchomionym LPD. Dokonuje się tego poprzez utworzenie portu LPR na hoście i określenie drukarki sieciowej lub serwera wydruku systemu Unix. Procedura jest następująca:

1. Zaloguj się na hoście systemu Windows 2000 jako administrator.

2. Wejdź do Start|Ustawienia i kliknij Drukarki.

3. Dwukrotnie kliknij Dodaj drukarkę.

4. Uruchomi się Kreator dodawania drukarki. Kliknij Dalej.

5. Usuń zaznaczenie z pola wyboru Automatycznie wykryj moją drukarkę, wybierz Drukarka lokalna, a następnie kliknij Dalej.

6. Kliknij Utwórz nowy port i wybierz LPR Port z listy rozwijanej Typ. Kliknij Dalej.

7. Podaj następujące informacje:

• w polu Nazwa lub adres serwera obsługującego lpd wpisz nazwę hosta lub adres IP hosta dla drukarki, którą dodajesz (albo drukarki sieciowej z uruchomionym LPD).

• w polu Nazwa drukarki lub kolejki wydruku na serwerze wpisz nazwę drukarki. Jest to albo nazwa drukarki sieciowej, albo nazwa drukarki na serwerze wydruku systemu Unix.

8. Kliknij OK.

9. Określ producenta i model drukarki zdalnej. Kliknij Dalej.

10. Określ nazwę drukarki. Jest ona taka sama, jak nazwa, którą określiłeś w kroku 7. Kliknij Dalej.

11. Wybierz Nie udostępniaj tej drukarki. Kliknij Dalej.

12. Wpisz informacje w polach Lokalizacja i Uwagi. Kliknij Dalej.

13. Wybierz Nie drukuj strony testowej. Kliknij Dalej.

14. Kliknij Zakończ. W oknie Drukarki pojawi się ikona nowej drukarki.

15. Zamknij okno Drukarki.

16. Prześlij zadania wydruku do drukarki przy użyciu polecenia lpr –Sadresip -Pnazwa_drukarki nazwa_pliku, gdzie adresip to adres IP serwera wydruku systemu Unix, nazwa_drukarki to nazwa sieciowa drukarki, a nazwa_pliku to nazwa pliku, który chcesz wydrukować.

Piotr Omasta
Pochylenie czcionki celem odró¿nienia dwóch cz³onów polecenia: cz³onu wpisywanego w brzmieniu podanym i cz³onu wpisywanego w brzmieniu wybranym przez wpisuj¹cego.
Piotr Omasta
j.w.
Piotr Omasta
j.w.
Piotr Omasta
j.w.
Piotr Omasta
j.w.
Piotr Omasta
j.w.
Piotr Omasta
j.w.
Piotr Omasta
j.w.
Piotr Omasta
j.w.
Piotr Omasta
j.w.
Page 40: Rozdział 9. Protokoły i programy usługowe poziomu aplikacjicarme.pld-linux.org/~evil/varia/informatyka/semestr_4/sieci/siecki... · Polecenia FTP wydawane z konsoli poleceń mogą

Instalowanie drukarki TCP/IP na serwerze wydruku systemu Windows 2000 W toku tej procedury zainstalujemy drukarkę TCP/IP na serwerze wydruku systemu Windows 2000, aby klienty systemu Unix mogły przesyłać zadania do tej drukarki. Procedura ta zakłada, że na serwerze wydruku zainstalowane są Usługi drukowania dla systemu Unix i że uruchomiona jest usługa LPD. Zakłada ona również, że na kliencie systemu Unix zainstalowany jest odpowiedni sterownik drukarki.

1. Zaloguj się na serwerze wydruku systemu Windows 2000 jako administrator.

2. Wejdź do Start|Ustawienia i kliknij Drukarki.

3. Dwukrotnie kliknij Dodaj drukarkę.

4. Uruchomi się Kreator dodawania drukarki. Kliknij Dalej.

5. Usuń zaznaczenie z pola wyboru Automatycznie wykryj moją drukarkę, wybierz Drukarka lokalna, a następnie kliknij Dalej.

6. Kliknij Utwórz nowy port i wybierz LPR Port z listy rozwijanej Typ. Kliknij Dalej.

7. Wpisz nazwę serwera wydruku, lub adres IP w polu Nazwa lub adres serwera obsługującego lpd. Określ nazwę drukarki (na przykład tcpprt) w polu Nazwa drukarki lub kolejki wydruku na serwerze. Kliknij OK.

8. Wybierz producenta i model swojej drukarki. Kliknij Dalej.

9. Określ nazwę drukarki. Niech to będzie ta sama nazwa, którą określiłeś w kroku 7. Kliknij Dalej.

10. Wybierz Udostępnij jako. Nazwa udostępniania jest domyślnie taka sama, jak nazwa drukarki. Zmień ją tylko w przypadku, gdy twoja nazwa drukarki jest dłuższa niż osiem znaków, albo zawiera jedną lub więcej spacji. Kliknij Dalej.

11. Wpisz informacje w polach Lokalizacja i Uwagi. Kliknij Dalej.

12. Wybierz czy chcesz wydrukować stronę testową, czy nie. Kliknij Dalej.

13. Kliknij Zakończ. W oknie Drukarki pojawi się ikona nowej drukarki.

14. Zamknij okno Drukarki.