Protokół transmisji plików (FTP)

Transkrypt

Protokół transmisji plików (FTP)
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 IfRange. 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, Wyświetla pliki i podkatalogi katalogu zdalnego w pliku
plik lokalny
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
get
Plik zdalny, plik Kopiuje plik zdalny do komputera lokalnego przy użyciu
lokalny
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 2048bajtowego 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.
Rozłącza się z komputerem zdalnym i powraca do podsystemu
ftp. Identyczne z close.
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 Kopiuje plik lokalny do komputera lokalnego przy użyciu
lokalny
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
Kończy sesję programu usługowego Administracja
Zakończ daną aplikację
serwera telnet.
1
Wyświetl listę bieżących Wyświetla listę bieżących użytkowników według nazwy
użytkowników
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, 1
to umożliwia uzyskanie
dostępu do użytkowników
domen z domen z relacją
zaufania; jeżeli jest
ustawiona na 0, to tym
użytkownikom wzbroniony
jest dostęp.
2
AltKeyMapping
Umożliwia wykorzystanie
funkcji klawisza ALT
(tylko w przypadku
terminali VT100). Jeżeli
jest ustawiona na 1, to
sekwencja klawiszy Ctrl+A jest traktowana tak jak
klawisz Alt w przypadku
tych terminali.
3
DefaultDomain
Może być ustawiona na
Null (pusty)
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 „.”.
4
DefaultShell
Ustawia lokalizację ścieżki %Systemroot%\System32\Cmd.exe
dla instalacji powłoki.
/q /k
5
LogonScript
Ustawia lokalizację ścieżki %Systemroot%\System32\login.cmd
dla (opcjonalnego) skryptu
1
logowania serwera telnet.
6
MaxFailedLogins
Ustawia maksymalną
liczbę nieudanych prób
logowania przed
zakończeniem połączenia.
7
NTLM
2
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.
8
TelnetPort
Ustawia numer portu, na
23
którym serwer telnet będzie
nasłuchiwał żądań telnet.
3
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.