background image

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. 

background image

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. 

background image

• 

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: 

background image

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. 

background image

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 

Żądanie odczytu (RRQ) 

Żą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. 

background image

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 

background image

0 Niezdefiniowany. 

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

Nie znaleziono pliku. 

2 Naruszenie 

dostępu. 

3 Dysk 

pełny lub przekroczona alokacja. 

Zabroniona operacja TFTP. 

5 Nieznana 

tożsamość przesyłu. 

6 Plik 

już istnieje. 

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: 

background image

• 

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 

background image

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 

background image

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. 

background image

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. 

background image

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). 

background image

• 

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 

background image

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. 

background image

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

background image

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ń. 

background image

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). 

background image

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. 

background image

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. 

background image

• 

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 

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. 

background image

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 

background image

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 

background image

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. 

background image

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. 

background image

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

background image

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. 

background image

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 

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. 

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. 

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

background image

logowania serwera telnet. 

6 MaxFailedLogins  Ustawia 

maksymalną 

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

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. 

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. 

background image

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 

background image

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. 

background image

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. 

background image

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

background image

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. 

background image

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

background image

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

background image

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ć 

background image

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 

background image

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

background image

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ć. 

background image

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