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.
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.
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:
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.
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.
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.
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
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[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
.
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.
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.
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.
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
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
.