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.
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.
•
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.
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:
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.
Dokument RFC nie czyni tej listy wyłączną. Mogą być definiowane dodatkowe tryby, jeŜeli
obsługuje je zarówno host wysyłający, jak i odbierający. System Windows 2000 domyślnie
obsługuje tylko tryby
netascii
i
oktet
.
Wskazówka: Microsoft definiuje tryby przesyłania danych protokołu TFTP jako binarne (przy
u
Ŝ
yciu przeł
ą
cznika
–i
) i ascii. Tryby te s
ą
odpowiednikami trybów
oktet
i
netascii
w specyfikacji
RFC 1350.
Struktura pakietów protokołu TFTP
Protokół TFTP obsługuje pięć typów pakietów, z których kaŜdy ma swój własny kod operacji
(
opcode
), wypisany w tabeli 9.1.
Pakiety RRQ i WRQ zawierają następujące pola:
•
Opcode
— to 16-bitowe pole zawiera
opcode
, jak w tabeli 9.1.
•
Filename
— to pole o zmiennej długości zawiera nazwę pliku, który ma zostać przesłany
jako ciąg bajtów
netascii
.
•
Filename terminator
— to 8-bitowe pole zawiera wartość zero, która wskazuje koniec
pola
Filename
.
•
Mode
— to pole o zmiennej długości zawiera
netascii
,
oktet
, lub (rzadko)
poczta
jako
szereg bajtów
netascii
. Tekst moŜe być napisany duŜymi literami, małymi literami, lub
połączeniem jednych i drugich.
•
Mode terminator
— to 8-bitowe pole zawiera wartość zero, która wskazuje koniec pola
Mode
.
Tabela 9.1. Typy pakietów TFTP
Opcode
Typ pakietu
1
śą
danie odczytu (RRQ)
2
śą
danie zapisu (WRQ)
3
Dane (DATA)
4
Potwierdzenie (ACK)
5
Błąd (ERROR)
Wskazówka: Pola
Filename terminator
i
Mode terminator
s
ą
czasem uznawane za cz
ęść
pól,
odpowiednio,
Filename
, oraz
Mode
.
Specyfikacja RFC 2347 rozszerza pakiety RRQ i WRQ, aby hosty wysyłające i odbierające mogły
negocjować dodatkowe opcje TFTP. Do potwierdzania Ŝądania negocjacji opcji zgłoszonego przez
klienta wykorzystywany jest nowego typu pakiet TFTP, potwierdzenie opcji (OACK).
Specyfikacja RFC 2349 jeszcze bardziej rozszerza pakiety RRQ i WRQ, aby umoŜliwić hostom
protokołu TFTP uzgadnianie interwałów przeterminowania oraz rozmiarów przesyłu. Pełne
szczegóły podane są w dokumentach RFC.
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
0
Niezdefiniowany. Sprawdź komunikat o błędzie (jeŜeli jest).
1
Nie znaleziono pliku.
2
Naruszenie dostępu.
3
Dysk pełny lub przekroczona alokacja.
4
Zabroniona operacja TFTP.
5
Nieznana toŜsamość przesyłu.
6
Plik juŜ istnieje.
7
Nie ma takiego uŜytkownika.
Protokół transmisji hipertekstu (HTTP)
Protokół HTTP w wersji 1.1, opisany w dokumencie RFC 2068, jest faktycznym standardem
przesyłu dokumentów WWW. Protokół ten jest ogólny i bezpaństwowy, i został zaprojektowany
w taki sposób, aby był rozszerzalny do prawie kaŜdego formatu dokumentu. Działa on poprzez
połączenia protokołu TCP, zazwyczaj wykorzystując port 80, chociaŜ moŜna określić inny port (na
przykład 8080). Po ustanowieniu połączenia, klient transmituje do serwera komunikat Ŝądania, a
ten wysyła odpowiedź. Protokół HTTP jest zazwyczaj wykorzystywany przez takie aplikacje, jak
przeglądarki.
Najprostszą funkcją, lub
metodą
, protokołu HTTP jest GET, która pobiera informacje zapamiętane
w witrynie WWW, lub na serwerze WWW. Jednak systemy informacyjne o pełnych
moŜliwościach wymagają szerszego zestawu funkcji, łącznie z wyszukiwaniem, uaktualnianiem
oraz przypisami. Protokół HTTP zapewnia zestaw metod sygnalizujących cel danego Ŝądania.
Wykorzystuje on ujednolicony identyfikator zasobów (URI) albo jako ujednolicony lokalizator
zasobów (URL), albo jako ujednoliconą nazwę zasobów (URN), aby wskazać zasób, wobec
którego ma zostać zastosowana metoda. Komunikaty są przekazywane w formacie podobnym do
tego, który wykorzystuje poczta internetowa, zdefiniowanym przez standard uniwersalnych
rozszerzeń internetowej poczty elektronicznej (MIME) — odwołaj się do dokumentów RFC od
2045 do 2049.
Protokół HTTP jest równieŜ uŜywany do komunikacji pomiędzy agentami uŜytkownika a
bramami do innych systemów internetowych, łącznie z tymi, które są obsługiwane przez protokoły
SMTP, NNTP oraz FTP. W ten sposób umoŜliwia on podstawowy dostęp hipermedialny do
zasobów dostępnych z róŜnorodnych aplikacji.
Metody HTTP
Dokument RFC 2616 definiuje zestaw wspólnych metod HTTP. Dokument ten nie wyklucza
dodatkowych metod, ale przestrzega, iŜ metody spoza wspólnej listy „mogą nie posiadać takiej
samej semantyki dla oddzielnie rozszerzonych klientów i serwerów”. Innymi słowy, jeŜeli
zdefiniujesz i będziesz korzystał z dodatkowych metod, to mogą wystąpić niezgodności pomiędzy
niektórymi hostami i niektórymi serwerami. Wspólne metody HTTP są następujące:
•
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
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
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.
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.
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.
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).
•
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.
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
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.
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
.
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ń.
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).
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.
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.
•
Erase Line (EL)
— usuwa wszystkie dane w wierszu aktualnie wpisywanym.
Sygnał synchronizacji protokołu Telnet
Sygnał synchronizacji protokołu Telnet składa się z pilnego powiadomienia protokołu TCP (patrz:
rozdział 7) stosowanego z poleceniem DATA MARK (DM) protokołu Telnet. W tym trybie
strumień danych jest przeszukiwany w celu znalezienia „interesujących” sygnałów; to jest IP, AO,
lub AYT (ale nie EC, ani EL) przy odrzuceniu przeszkadzających danych. Polecenie DM
sygnalizuje, Ŝe został otrzymany interesujący sygnał i adresat moŜe teraz przetwarzać strumień
danych w normalny sposób. Bajty polecenia DM to ostatnie i zazwyczaj jedyne dane w sygnale
synchronizacji.
Jednym ze skutków sygnału synchronizacji jest to, Ŝe wszystkie znaki (oprócz poleceń protokołu
Telnet), będące aktualnie w buforze pomiędzy nadawcą a adresatem, zostają usunięte. Mechanizm
ten jest standardowym sposobem kasowania ścieŜki danych.
Polecenia protokołu Telnet
Polecenia protokołu Telnet składają się z ciągu co najmniej 2 bajtów. Pierwszy to
kod ucieczki
(tj.
niedrukowalny kod ASCII 255), znany jako
interpretuj jako polecenie
(IAC). Po nim następuje
kod dla polecenia. W przypadku poleceń, które zajmują się negocjacją podrzędną opcji (WILL,
WON’T, DO, DON’T), trzeci bajt określa opcję. Tabela 9.8 podaje standardowe polecenia
protokołu Telnet, wraz z kodem ASCII i krótkim opisem kaŜdego z nich.
Tabela 9.8. Polecenia protokołu Telnet
Polecenie
Kod ASCII Opis
SE
240
Koniec parametrów negocjacji podrzędnej.
NOP
241
Brak operacji.
DM
242
Wykorzystywane w sygnale synchronizacji do
wskazywania, Ŝe moŜe się ponownie rozpocząć
normalne przetwarzanie danych.
BREAK
243
Równoznaczne z kodem klucza
Break
lub
Attention
w
sekwencji danych.
INTERRUPT PROCESS
244
Implementuje funkcję IP.
ABORT OUTPUT
245
Implementuje funkcję IP.
ARE YOU THERE
246
Implementuje funkcję AO.
ERASE CHARACTER
247
Implementuje funkcję EC.
ERASE LINE
248
Implementuje funkcję EL.
GO AHEAD (GA)
249
Kiedy dany proces po jednej stronie połączenia
protokołu Telnet nie moŜe przebiegać dalej bez danych
wejściowych z drugiej strony, to wysyła on polecenie
GA.
SB
250
Sygnalizuje rozpoczęcie negocjacji podrzędnej opcji.
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
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
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.
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.
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 [miejsce_docelowe]
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
.
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.
3
Wyświetl/zmień
ustawienia
Rejestru
Przełącza program usługowy na tryb ustawień
Rejestru
. Patrz:
tabela 9.11.
4
Uruchom
Uruchamia serwer
telnet
.
5
Zatrzymaj
Zatrzymuje serwer
telnet
.
Tabela 9.11. Opcje ustawień
Rejestru
programu usługowego
Administracja sewera telnet
Opcja Nazwa
Opis i dopuszczalne
wartości
Wartość domyślna
0
Exit this menu
Powraca do oryginalnych
opcji programu
usługowego
Administracja
serwera telnet
.
brak
1
AllowTrustedDomain
JeŜeli jest ustawiona na 1,
to umoŜliwia uzyskanie
dostępu do uŜytkowników
domen z domen z relacją
zaufania; jeŜeli jest
ustawiona na 0, to tym
uŜytkownikom wzbroniony
jest dostęp.
1
2
AltKeyMapping
UmoŜliwia wykorzystanie
funkcji klawisza ALT
(tylko w przypadku
terminali VT100). JeŜeli
jest ustawiona na 1, to
sekwencja klawiszy Ctrl+-
A jest traktowana tak jak
klawisz Alt w przypadku
tych terminali.
1
3
DefaultDomain
MoŜe być ustawiona na
dowolną domenę z relacją
zaufania w stosunku do
domeny lokalnej. JeŜeli
opcja AllowTrustedDomain
ustawiona jest na 1 i
chcesz, aby domena
lokalna była domeną
domyślną, to ustaw tę
wartość na „.”.
Null (pusty)
4
DefaultShell
Ustawia lokalizację ścieŜki
dla instalacji powłoki.
%Systemroot%\System32\Cmd.exe
/q /k
5
LogonScript
Ustawia lokalizację ścieŜki
dla (opcjonalnego) skryptu
%Systemroot%\System32\login.cmd
logowania serwera telnet.
6
MaxFailedLogins
Ustawia maksymalną
liczbę nieudanych prób
logowania przed
zakończeniem połączenia.
3
7
NTLM
Opcje uwierzytelniania.
JeŜeli wynosi 0, to
uwierzytelnianie NTLM
nie jest wykorzystywane;
jeŜeli 1, to uwierzytelnianie
NTLM jest uŜywane jako
pierwsze, a jeŜeli się nie
powiedzie, to monituje o
nazwę uŜytkownika i hasło;
jeŜeli wynosi 2, to
wykorzystywane jest tylko
uwierzytelnianie NTLM.
2
8
TelnetPort
Ustawia numer portu, na
którym serwer telnet będzie
nasłuchiwał Ŝądań telnet.
23
Wskazówka: Serwer telnet systemu Windows 2000 obsługuje maksymalnie dwóch klientów
naraz. Pakiet dodatkowy Microsoft Services for Unix obsługuje maksymalnie 63 klientów.
Wi
ę
cej
szczegółów
dotycz
ą
cych
tego
pakietu
mo
Ŝ
na
znale
źć
pod
adresem
www.microsoft.microsoft.com/WINDOWS2000/sfu/default.asp
.
Program usługowy rexec
Program usługowy
rexec
(zdalne uruchomienie) systemu Windows 2000 uruchamia polecenia na
komputerach zdalnych z uruchomioną usługą REXEC. Polecenie
rexec
uwierzytelnia nazwę
uŜytkownika na komputerze zdalnym przed wykonaniem określonego polecenia.
Rexec
moŜna
wykorzystywać na przykład do uruchamiania diagnostycznych programów usługowych na
komputerze, który ma uszkodzoną klawiaturę lub sterownik klawiatury. Składnia polecenia jest
następująca:
rexec komputer [-l nazwa_u
Ŝ
ytkownika] [-n] polecenie
gdzie parametry to:
•
komputer
— określa komputer zdalny, na którym ma być uruchomione polecenie
określone przez
polecenie
;
•
-l nazwa_u
Ŝ
ytkownika
— określa nazwę uŜytkownika na komputerze zdalnym. JeŜeli
ten parametr zostanie pominięty, to wykorzystywana będzie zalogowana nazwa
uŜytkownika;
•
-n
— przeadresowuje wpis polecenia
rexec
do urządzenia NULL;
•
polecenie
— określa polecenie, które ma być uruchomione.
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
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.
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.
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
.
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.
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.
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
.
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
.
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ć
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.
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
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
.
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ć.
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
.