background image

Rozdział 15 

Narzędzia diagnostyczne dla sieci 
Microsoft opartych na TCP/IP 

Rozdział ten omawia kilka programów diagnostycznych, pomocnych 
w usuwaniu usterek w sieciach Microsoft opartych na TCP/IP. Narzę-
dzia te dostarczane są razem z systemem Windows i obejmują: program 
do sprawdzania dostępności hostów w sieci, program sprawdzający ta-
blice określania nazw oraz program sprawdzający trasy wiodące do 
określonego miejsca przeznaczenia. Pozostałe programy dostarczają in-
formacji statystycznych o pracy sieci i działających w niej protokołów. 

Używanie ICMP i PING 

Jednym z najczęściej używanych narzędzi diagnostycznych jest program 
PING (nazwa jest akronimem utworzonym od Packet InterNet Groper). 
Wysyła on komunikat do określonego węzła TCP/IP, a węzeł przezna-
czenia zwraca ów komunikat jako odpowiedź. Brak odpowiedzi oznacza, 
że sieć lub węzeł nie działają, albo że pakiet został zagubiony podczas 
transmisji. PING zazwyczaj powtarza test określoną ilość razy; można 
także nakazać,  żeby wysyłał pakiety w sposób ciągły. Program PING 
dostarczany z Windows jest wywoływany z linii poleceń. 

Program PING a 

protokó³ ICMP (Internet Control Message 

Protocol) 

PING wykorzystuje ICMP, protokół używany do przesyłania komunika-
tów o błędach i informacji o stanie sieci. ICMP definiuje wiele typów ko-
munikatów, pomocnych przy usuwaniu usterek i raportowaniu proble-
mów związanych z pracą sieci lub protokołów. PING korzysta z dwóch 
typów komunikatów ICMP: żądania echa (Echo Request, typ komunikatu 
= 0) i odpowiedzi echa (Echo Reply, typ komunikatu = 8). PING wysyła do 
hosta przeznaczenia pakiet ICMP "żądanie echa", a host przeznaczenia 
odsyła pakiet ICMP "odpowiedź echa". 

background image

 

 

Rozdział 15 

470 

ICMP stanowi część modułu IP (patrz rysunek 15.1) i 

zgodnie 

z wymogami dokumentów RFC musi być obecny w każdej implementacji 
IP. W kategoriach warstw protokołów ICMP znajduje się jednakże ponad 
warstwą IP (patrz rysunek 15.2); innymi słowy, ICMP jest obudowywany 
przez nagłówek IP. Jest to istotna właściwość, ponieważ umożliwia tra-
sowanie komunikatów ICMP przez routery IP, które mogą przekazywać 
wyłącznie datagramy IP. Oznacza to, że komunikaty ICMP mogą podró-
żować poprzez dowolnie złożone sieci, połączone routerami IP. 

Rysunek  15.3 przedstawia sposób używania programu PING. Można 
skorzystać z PING, aby sprawdzić dostępność lokalnych i zdalnych ho-
stów, i to zarówno komputerów Windows NT, jak i dowolnych innych 
komputerów obsługujących TCP/IP. W przedstawionym przykładzie B 
jest hostem lokalnym dla A, a C hostem zdalnym. Komunikaty ICMP 
przesyłane pomiędzy hostami A i C są traktowane przez pośredniczące 
routery jak zwykłe datagramy IP; routery nie poświęcają im specjalnej 
uwagi. Jeśli pakiet ICMP zostanie zagubiony, nie próbuje się przesłać go 
ponownie. 

Rysunek 15.1 

ICMP jako część IP 

 

background image

Narzędzia diagnostyczne dla sieci Microsoft opartych na TCP/IP 

471 

Rysunek 15.2 

Warstwa ICMP 
spoczywająca na 
warstwie IP. 

 

Program PING generuje komunikat ICMP "żądanie echa". Moduł IP pra-
cujący w węźle przeznaczenia odpowiada na komunikaty ICMP automa-
tycznie - nie ma potrzeby korzystania ze specjalnego oprogramowania, 
aby węzeł przeznaczenia odesłał komunikat ICMP "odpowiedź echa". 
Oznacza to, że wszystkie węzły w Internecie są w stanie odpowiedzieć na 
komunikaty wysyłane przez PING. 

Nie ma żadnego standardu, który określałby opcje i możliwości progra-
mu PING, chociaż większość implementacji oferuje podobne usługi. 
Konkretna składnia polecenia PING jest zależna od systemu, chociaż 
istnieją zauważalne podobieństwa - zwłaszcza w przypadku systemów 
Windows NT i UNIX. Większość systemów udostępnia wersję PING 
wywoływaną z linii poleceń, czasem bywa dostępna także wersja gra-
ficzna. Większość implementacji podaje w sekundach oszacowany czas 
drogi powrotnej oraz statystykę zagubionych datagramów. Niektóre 
udostępniają także pewne opcje, jak np. wysyłanie różnej ilości danych 
w komunikatach  żądania echa lub określanie odstępu czasu pomiędzy 
wysyłaniem kolejnych komunikatów. W Windows NT odstęp czasu po-
między kolejnymi komunikatami żądania echa wynosi 1 sekundę, o ile 
nie wybrano opcji ciągłego wysyłania komunikatów (opcja -t) - w takim 
przypadku komunikaty wysyłane są tak szybko, jak to jest możliwe. Mo-
że to spowodować znaczny wzrost ruchu i spowolnienie sieci. Niektóre 
wersje PING umożliwiają stosowanie opcji protokołu IP, np. opcji traso-
wania źródłowego, która służy do definiowania trasy, którą będzie prze-
słany pakiet ICMP. 

background image

 

 

Rozdział 15 

472 

 

Rysunek 15.3 

Zastosowanie komunikatów ICMP "żądanie echa" i "odpowiedź echa". 

Format komunikatów ICMP "żądanie echa" i "odpowiedź echa" przed-
stawiony jest na rysunku 15.4. 

Pole Type (typ) ma wartość 0 dla żądania echa i 8 dla odpowiedzi echa. 
Pole  Code (kod) jest ustawiane na zero w obu typach komunikatu. Pole 
Checksum

 (suma kontrolna) jest obliczane tak samo dla wszystkich typów 

komunikatu, w sposób opisany wcześniej. 

Pola Identifier (identyfikator) i Sequence Number (numer kolejny) używane 
są do jednoznacznej identyfikacji komunikatów, aby można było powią-
zać żądania echa z odpowiedziami echa. Jest to konieczne, ponieważ sieć 
IP nie gwarantuje, że komunikaty odpowiedzi echa zostaną nadesłane we 
właściwej kolejności. 

Pole  Data (dane) służy po to, aby można było przesyłać komunikaty 
o zmiennej  długości. Możliwość ta jest bardzo przydatna podczas testo-

background image

Narzędzia diagnostyczne dla sieci Microsoft opartych na TCP/IP 

473 

wania zdolności sieci do przesyłania dużych datagramów. Router albo 
host może radzić sobie z niewielkimi datagramami, ale zawodzić podczas 
przesyłania większych datagramów; dzięki umieszczeniu dużego bloku 
danych w polu Data można wykryć ten problem.  

W komunikacie odpowiedzi echa odsyłane są te same dane, co w żądaniu 
echa. 

Rysunek 15.4 

Format komunikatów 
ICMP "żądanie echa" 
i "odpowiedź echa" 

 

Korzystanie z PING 

Program narzędziowy PING jest dostępny w Windows NT i Windows 9x. 
Oto pełna składnia polecenia: 

 

PING [-t] [-a] [-n liczba] [-l długość] [-f] [I czas-życia

 [-v 

typ-usługi] [-r liczba] [-s liczba] [[-j lista-komputerów] | 

 [-k 

lista-komputerów]] [-w czaslista-miejsc-przeznaczenia 

Argument Opis 

-t 

Pinguje w sposób ciągły do momentu przerwania. 

-a 

Podczas pingowania wyświetla nazwę komputera o podanym 
adresie IP. 

-n liczba 

Liczba pingowań komputera; domyślnie 4. 

-l długość 

Liczba bajtów, które należy wysłać do pingowanego kompute-
ra; domyślnie 32 bajty. 

-f 

Zakazuje fragmentowania pakietu routerom znajdującym się 
na trasie do miejsca przeznaczenia. 

-I czas-życia 

Ustawia pole TTL (czas życia) pakietu na podaną wartość. 

-v typ-usługi 

Ustawia pole TOS (typ usługi) pakietu na podaną wartość. 

-r liczba 

Wyświetla trasę dla pakietów PING; liczba może wynosić od 1 
do 9 routerów. 

-s liczba 

Żądanie umieszczenia znacznika czasowego dla określonej 
liczby skoków. 

background image

 

 

Rozdział 15 

474 

-j lista-
komputerów 

Lista-komputerów określa trasę pakietu. Kolejne komputery 
mogą być rozdzielone pośredniczącymi routerami. 

-k lista-
komputerów 

Lista-komputerów określa trasę pakietu. Kolejne komputery 
nie mogą być rozdzielone pośredniczącymi routerami. 

-w czas 

Dopuszczalny czas oczekiwania na odpowiedź 
w milisekundach. 

lista-miejsc-
przeznaczenia 

Lista komputerów, które będą pingowane. 

Najprostszym sposobem użycia programu PING jest podanie jako argu-
mentu nazwy lub adresu IP pingowanego komputera. Aby np. sprawdzić 
hosta o adresie 199.245.180.10, używa się polecenia: 

PING 199.245.180.10 

Rysunek  15.5 przedstawia rezultaty wykonania tego polecenia. Jak wi-
dać, domyślnym rozmiarem komunikatu są 32 bajty, a polecenie PING 
jest wykonywane czterokrotnie. 

Można zmienić rozmiar komunikatu za pomocą opcji -l. Komunikat 
o rozmiarze  8192 jest większy niż maksymalna jednostka transmisji 
(MTU) najpopularniejszych sieci. Wysyłając komunikat o dużym rozmia-
rze można wymusić fragmentowanie datagramów IP przechodzących 
przez sieć - host przeznaczenia musi wówczas złożyć w odpowiedniej 
kolejności fragmenty pierwotnego datagramu. Za pomocą dużych data-
gramów można testować zdolność hosta przeznaczenia do poprawnego 
składania fragmentów. Aby np. wysłać komunikat o rozmiarze 8192 baj-
tów, można użyć polecenia: 

 PING -l 8192 199.245.180.10 

Aby wysłać komunikat określoną liczbę razy, należy użyć opcji -n. Aby 
np. wysłać komunikat 10 razy, można użyć polecenia:  

PING -n 10 199.245.180.10 

Aby wysyłać komunikaty w sposób ciągły aż do momentu ręcznego 
przerwania, należy użyć opcji -t: 

PING -t 199.245.180.10 

Na rysunku 15.6 przedstawiono rezultat łącznego użycia opcji -l i -n 
w następującym poleceniu: 

PING -l 8192 -n 10 199.245.180.10 

Ponieważ test przeprowadzano w sieci o MTU równym 1500 bajtów, 
nastąpiła fragmentacja datagramów ze względu na duży rozmiar komu-
nikatu. Co interesujące, pierwszy test zawiódł, ale pozostałe dziewięć 

background image

Narzędzia diagnostyczne dla sieci Microsoft opartych na TCP/IP 

475 

przebiegło poprawnie. Nieudany test zwrócił komunikat Request timed 
out (przekroczony czas oczekiwania na odpowiedź). Podczas sprawdza-
nia przyczyny błędu za pomocą analizatora protokołu Network Monitor 
(opisanego w rozdziale 6, "Śledzenie protokołu TCP/IP" ustalono, że 
przyczyną przekroczenia limitu czasu było zagubienie fragmentu data-
gramu w trakcie transmisji. 

Rysunek 15.5 

Najprostsza forma 
polecenia PING. 

 

Rysunek 15.5 

Polecenie PING 
z opcjami -l i -n. 

 

Aby sprawdzić, czy datagramy muszą być fragmentowane, można użyć 
opcji  -f, która ustawia znacznik Don't Fragment (nie fragmentować) 
w pakiecie IP, który obudowuje komunikat ICMP. Ustawienie tego 
znacznika zakazuje fragmentowania datagramów pośredniczącym 
routerom. Jeśli ze względu na znacznik DF router nie jest w stanie prze-
kazać datagramu, wówczas odrzuca go i odsyła komunikat ICMP (typ 3, 
kod 4) stwierdzający, że konieczna była fragmentacja, ale ustawiony był 
znacznik DF. Znacznik DF jest zazwyczaj ustawiany przez bezdyskowe 
stacje robocze, które ładują obraz systemu operacyjnego przy pomocy 
protokołu TFTP (Trivial File Transfer Protocol). Rysunek 15.7 przedstawia 
rezultat użycia opcji -f podczas wysyłania komunikatu o dużym rozmia-

background image

 

 

Rozdział 15 

476 

rze. Zwrócony komunikat o błędzie brzmi: Packet needs to be fragmented 
but DF set

Opcje -j i -k służą do ustalenia swobodnego lub ścisłego trasowania źró-
dłowego. Używa się ich do zdefiniowania adresów routerów, przez które 
musi przejść pakiet, dzięki czemu można wymusić przejście pakietu 
przez określoną trasę. Opcja swobodnego trasowania źródłowego (-l) 
wymaga, aby pakiet przeszedł przez wymienione routery, ale pomiędzy 
nimi może również przechodzić przez inne pośredniczące routery. Opcja 
ścisłego trasowania źródłowego (-k) również wymaga, aby komunikaty 
przechodziły kolejno przez wszystkie wymienione routery, ale pomiędzy 
nimi nie może być żadnych pośredników. 

Opcja -I służy do ustalenia wartości pola TTL (czasu życia) w pakiecie IP, 
który obudowuje komunikat ICMP. Dzięki temu można sterować czasem 
istnienia pakietu w sieci. Każdy z pośredniczących routerów musi 
zmniejszać wartość TTL o przynajmniej jedną sekundę. Kiedy pole TTL 
osiągnie wartość 0, datagram jest odrzucany, a do nadawcy wysyłany jest 
komunikat ICMP (typ 11) stwierdzający,  że przekroczony został czas 
życia pakietu. Program PING umożliwia ustawianie czasu życia 
w zakresie 1...255 sekund. 

Rysunek 15.7 

Polecenie PING 
z opcjami -l i -f. 

 

Implementacja programu Traceroute (TRACERT) firmy 
Microsoft 

Program Traceroute powstał w środowisku UNIX, ale został przeniesiony 
na platformę Windows (9x i NT), gdzie znany jest pod nazwą TRACERT. 
TRACERT służy do śledzenia trasy jaką przebywa datagram IP w drodze 
do miejsca przeznaczenia. 

background image

Narzędzia diagnostyczne dla sieci Microsoft opartych na TCP/IP 

477 

Działanie programu TRACERT polega na wysyłaniu komunikatów ICMP 
ze stopniowo zwiększaną wartością pola TTL (czasu życia, patrz rysu-
nek.15.8). Początkowo wysyła komunikat ICMP z polem TTL równym 1. 
Pierwszy router odbierający komunikat zmniejsza pole TTL o 1; pole TTL 
ma teraz wartość 0. Router odrzuca więc datagram i odsyła do nadawcy - 
czyli programu TRACERT - komunikat ICMP (typ 11) stwierdzający,  że 
przekroczony został czas życia pakietu. Z adresu IP nadawcy tego ko-
munikatu program TRACERT może określić tożsamość routera pierw-
szego skoku. TRACERT wysyła kilka komunikatów z taką samą warto-
ścią  TTL, dzięki czemu może określić minimalny, maksymalny i średni 
czas drogi powrotnej do routera. Następnie test jest powtarzany 
z wartością  TTL równą  2, potem  3 itd. aż do osiągnięcia hosta przezna-
czenia, określonego w poleceniu TRACERT. Jeśli po określonej liczbie 
skoków komunikat nie zostanie odesłany, wówczas program zakończy 
działanie. Można dzięki temu stwierdzić, które routery są osiągalne. 
TRACERT używa także w miarę możliwości odwrotnych zapytań DNS, 
aby wyświetlić symboliczne nazwy routerów. Jeśli nie skonfigurowano 
odwrotnych zapytań DNS dla adresów routerów, wówczas TRACERT 
wyświetli tylko ich adresy IP. 

TRACERT nie znajduje niektórych routerów 

Niektóre z routerów skonfigurowane są tak, aby odrzucały pakiety wygenero-
wane przez programy w rodzaju TRACERT; w takim przypadku program 
TRACERT nie wyświetli informacji dla danego skoku. Niektóre routery nie wy-
syłają także komunikatów ICMP o przekroczeniu czasu życia pakietu. 

background image

 

 

Rozdział 15 

478 

Rysunek 15.8 

Działanie 
TRACERT. 

 

Polecenie  TRACERT posiada następującą składnię, opisaną bliżej 
w tabeli: 

TRACERT [-d] [-h maksymalna-liczba-skoków] [-j lista-komputerów
[-w czashost-przeznaczenia 

Argument Opis 

-d 

Nie konwertuje adresów IP komputerów, znajdują-
cych się pomiędzy lokalnym komputerem i hostem-
przeznaczenia, na symboliczne nazwy. 

-h maksymalna-liczba-
skoków 

Maksymalna liczba skoków pomiędzy lokalnym 
komputerem a hostem-przeznaczenia. 

-j lista-komputerów 

Określa swobodną trasę źródłową przez komputery 
na liście. 

-w czas 

Oczekuje określoną liczbę milisekund przed zanie-
chaniem testowania. 

host-przeznaczenia 

Zdalny komputer, który należy zlokalizować 

background image

Narzędzia diagnostyczne dla sieci Microsoft opartych na TCP/IP 

479 

Poniżej przedstawiono przykładowe rezultaty użycia programu 
TRACERT

C:\> TRACERT FTP.MICROSOFT.COM 
132 ms 138 ms 144 ms gw1.iquest.net [198.70.144.10] 
176 ms 166 ms 169 ms li.mci.net [204.70.41.5] 
316 ms 237 ms 201 ms fin2.mci.net [204.70.3.65] 
170 ms 175 ms 160 ms core.mci.net [204.70.1.82] 
225 ms 222 ms 221 ms seabr1-gw.nwnet.net [192.147.179.5] 
250 ms 240 ms 252 ms msoft-t3-gw.nwnet.net [198.104.192.9] 
230 ms 242 ms 238 ms ftp.microsoft.com [196.105.232.1] 
Trace complete 

Używanie programu ARP 

Program narzędziowy ARP służy do badania i modyfikowania wartości 
w tablicy bufora ARP (Address Resolution Protocol). Tablica ta zawiera 
powiązania pomiędzy adresami sprzętowymi i adresami IP. W sieciach 
umożliwiających transmisje broadcast, jak Ethernet, Token Ring lub 
FDDI, adres sprzętowy (MAC) węzła TCP/IP jest określany na podstawie 
jego adresu IP. Dokonuje się tego poprzez zapytania ARP rozsyłane 
w trybie broadcast; odpowiedź na to zapytanie (zwana odpowiedzią 
ARP) zawiera adres sprzętowy poszukiwanego węzła. Odkryta za pomo-
cą mechanizmu ARP para adres IP - adres sprzętowy przechowywana 
jest przez pewien czas w buforze. Program ARP służy do wyświetlania 
zawartości bufora ARP oraz dodawania lub modyfikowania wpisów. 

Polecenie ARP wyświetla bieżące odwzorowania adresów MAC (fizycz-
nych adresów kart sieciowych) na adresy IP. Polecenie ARP może rów-
nież sprawdzić, czy stos IP jest poprawnie powiązany z kartą sieciową, 
i czy można uzyskać dostęp do innych urządzeń sieciowych. Jeśli proto-
kół IP nie jest poprawnie powiązany z kartą, wówczas tablica bufora ARP 
będzie pusta. ARP nie wyświetla wpisu dla bieżącej karty sieciowej; aby 
wyświetlić adres MAC bieżącej karty, należy użyć polecenia IPCONFIG -
all

Polecenie ARP posiada następującą składnię, opisaną bliżej w tabeli: 

 

ARP -a [adres_intern] [-N [adres_interfejsu

 

ARP -d -g adres_intern [adres_interfejsu

 

ARP -s adres_intern adres_ethern [adres_interfejsu] 

background image

 

 

Rozdział 15 

480 

Problemy z IPCONFIG i wersje programu  

Jeśli IP nie pracuje poprawnie, IPCONFIG nie wyświetli  żadnych informacji 
związanych z protokołami TCP/IP. Na komputerach Windows 9x można 
skorzystać z graficznej wersji programu, nazywanej WINIPCFG; podobne 
narzędzie dla Windows NT, o nazwie WNTIPCFG, znajduje się w pakiecie 
Resource Kit. 

Argument Opis 

-a Wyświetla bieżące wpisy w buforze ARP. Domyślnie wy-

świetlane są wszystkie adresy IP, z wyjątkiem adresu bie-
żącej karty sieciowej. Jeśli po -a zostanie podana wartość 
adres_intern, wówczas wyświetlany jest tylko wpis dla tej 
karty. 

-g Działa tak samo, jak -a. 

adres_intern Podaje 

się tutaj adres IP znajomej notacji xxx.xxx.xxx.xxx, 

gdzie xxx może mieć dowolną wartość z zakresu 0...255. 

-N Wyświetla wpisy bufora dla karty sieciowej, określonej 

przez adres_interfejsu. 

adres_interfejsu 

Adres interfejsu. Używany w sytuacji, kiedy w systemie 
znajduje się wiele kart sieciowych, i należy przejrzeć lub 
zmienić bufor ARP dla konkretnej karty. Jeśli nie wpisze się 
adresu interfejsu, zostanie użyta pierwsza dostępna karta. 

-d Usuwa 

określony wpis. 

-s 

Dodaje wpis do bufora, wiążący adres IP (adres_intern) 
z adresem sprzętowym (adres_ethern). 

adres_ethern Adres 

sprzętowy (MAC). Wpisuje się go w postaci HH-HH-

HH-HH-HH-HH, gdzie każde H oznacza szesnastkową 
wartość od 0 do F. Każda karta sieciowa posiada stały adres 
przypisany fabrycznie, tzw UAA (Universally Administered 

Address), który można nadpisać w Control Panel za pomocą 
dowolnie wybranego adresu LAA (Locally Administered 

Address). Może to być również adres Token Ring - nazwa 
argumentu ma historyczne korzenie; technologie Ethernet 
i IP rozwijały się w bliskiej zależności. 

IPCONFIG wyświetla listę adresów MAC w systemie, włączając w to 
modem połączony z siecią IP. Sprawdzenie przy pomocy PING adresu IP 
w sieci lokalnej automatycznie doda go do bufora ARP domyślnej karty 
sieciowej. 

background image

Narzędzia diagnostyczne dla sieci Microsoft opartych na TCP/IP 

481 

Aby wyświetlić wszystkie wpisy w tablicy bufora ARP, należy skorzystać 
z opcji -a: 

C:\> arp -a 
Interface: 199.245.180.101 on Interface 1 
Internet Address      Physical Address      Type 
199.245.180.1         00-00-c0-7a-2d-5c    dynamic 
199.245.180.10       00-00-c0-dd-14-5c    dynamic 

Wpisy oznaczone są jako dynamic, ponieważ po upływie pewnego czasu 
ulegną przeterminowaniu. 

Jeśli chcemy obejrzeć wpis dla konkretnego adresu IP, należy podać go 
w poleceniu: 

C:\> arp -a 199.245.180.101 
Interface: 199.245.180.101 on Interface 1 
Internet Address     Physical Address      Type 
199.245.180.1        00-00-c0-7a-2d-5c    dynamic 

W komputerze zawierającym wiele kart sieciowych, tablica bufora ARP 
jest utrzymywana oddzielnie dla każdej z nich. Polecenie ARP domyślnie 
zwraca tylko zawartość bufora dla pierwszej karty; jeśli chcemy obejrzeć 
zawartość tablicy ARP dla innej karty, możemy użyć opcji -N i podać jej 
adres MAC. Aby np. obejrzeć tablicę bufora ARP dla interfejsu 00-00-CD-
E0-DF-34, należy użyć polecenia: 

 

arp -a -n 00-00-C0-E0-DF-34 

Aby usunąć wpis z tablicy, należy użyć opcji -d i podać adres IP usuwa-
nego wpisu. 

W przypadku uszkodzenia ręczne usunięcie wpisu z tablicy ARP może 
być konieczne ze względu na problemy ze zduplikowanymi adresami IP. 

Podczas ręcznego usuwania błędnych wpisów z uszkodzonej tablicy ARP 
konieczne może okazać się także dodanie pewnych wpisów. Dokonuje się 
tego przy pomocy opcji -s. Aby np. dodać  ręcznie wpis dla adresu IP 
199.245.180.3, który jest powiązany z adresem karty sieciowej 00-00-C0-
BA-DE-FA, należy użyć następującego polecenia: 

 arp 

-s 

199.245.180.3 00-00-C0-BA-DE-FA 

Wpisy dodane za pomocą opcji -s są statyczne i nie ulegają przetermino-
waniu.  

background image

 

 

Rozdział 15 

482 

Jeśli po wydaniu powyższego polecenia zbadamy ponownie tablicę ARP, 
będzie ona wyglądała następująco: 

C:\> arp -a 
Interface: 199.245.180.101 on Interface 1 
Internet Address      Physical Address         Type 
199.245.180.1         00-00-c0-7a-2d-5c      dynamic 
199.245.180.3         00-00-C0-BA-DE-FA    static 
199.245.180.10       00-00-c0-dd-14-5c      dynamic 

Wyświetlanie połączeń sieciowych i statystyk przy pomocy 
NETSTAT 

Polecenie  NETSTAT  służy do wyświetlenia bieżących połączeń siecio-
wych TCP/IP oraz statystyk dla poszczególnych protokołów. Składnia 
polecenia NETSTAT jest następująca: 

NETSTAT [-a] [-e] [-n] [-s] [-p protokół] [-r] [odstęp_czasu] 

Argument Opis 

-a Wyświetla połączenia i porty oczekujące na połączenie. 

-e Wyświetla statystyki Ethernet. Może być łączony z opcją -s. 

-n Wyświetla adresy i numery portów. 

-s Wyświetla statystyki dla poszczególnych protokołów. 

W połączeniu z opcją -p, można sprawdzić statystyki dla 
podzbioru domyślnie wyświetlanych protokołów (TCP, 
UDP, ICMP i IP). 

-p protokół Wyświetla połączenia dla określonego protokołu (tcp lub 

udp). Jeśli w połączeniu z tym argumentem użyje się opcji -
s, protokołem może być tcp, udp, icmp lub ip. 

-r Wyświetla zawartość tablicy trasowania. 

odstęp_czasu Wyświetla wybrane statystyki co odstęp_czasu. Aby prze-

rwać wyświetlanie, należy nacisnąć 

CTRL+C

. Jeśli argu-

ment zostanie pominięty, wówczas statystyki będą wyświe-
tlone tylko raz. 

Poniżej podano przykładowy rezultat polecenia NETSTAT: 

C:\> NETSTAT 
Active Connections 
  Proto  Local Address       Foreign Address          State 
  TCP    ntsrvr:1025           localhost:1026             ESTABLISHED 
  TCP    ntsrvr:1026           localhost:1025             ESTABLISHED 
  TCP    ntsrvr:1108           199.245.180.10:telnet  ESTABLISHED 

background image

Narzędzia diagnostyczne dla sieci Microsoft opartych na TCP/IP 

483 

NETSTAT zwraca dla każdej sesji następujące informacje o protokole 
i stanie połączenia: 

„

Proto. Jest to protokół transportowy (TCP lub UDP) używany do na-
wiązania sesji. 

„

Local Address. Jest to adres dla lokalnego końcowego punktu sesji. 
Zawiera adres lokalnego komputera oraz numer portu, używanego 
przez zdalny końcowy punkt połączenia. 

„

Foreign Address. Jest to adres dla zdalnego końcowego punktu sesji. 
Zawiera adres zdalnego komputera oraz numer portu, używanego 
przez zdalny końcowy punkt połączenia. 

„

State. Pokazuje stan połączenia TCP/IP. Możliwe wartości obejmują: 
ESTABLISHED, CLOSED, CLOSE-WAIT, FIN-WAIT-1, FIN-WAIT2, 
LAST_ACK, LISTEN, SYN_RECEIVED, SYN_SENT oraz TIMED-
WAIT. Są to stany, w których może znajdować się sesja TCP (diagram 
stanów dla sesji TCP pokazano na rysunku 15.9). [Szczegóły działania 
TCP/IP opisane są w książce tegoż autora, "Inside TCP/IP", wydanej 
przez New Riders Publishing]. 

„

Poniżej podano przykłady użycia NETSTAT. 

Jeśli chcemy obejrzeć rezultaty w postaci numerycznej, a nie symbolicz-
nych nazw, możemy użyć opcji -n. Poprzednio wyświetlone informacje 
będą teraz wyglądały następująco: 

C:\> NETSTAT -N 
Active Connections 
  Proto  Local Address               Foreign Address           State 
  TCP    127.0.0.1:1025             localhost:1026              ESTABLISHED 
  TCP    127.0.0.1:1026             localhost:1025              ESTABLISHED 
  TCP    199.245.180.101:139   199.245.180.1:1033     ESTABLISHED 

Opcja -a wyświetla szczegółowe informacje: 

C:\> NETSTAT -a 
Active Connections 
  Proto  Local Address         Foreign Address        State 
  TCP    ntsrvr:1025              localhost:1026          ESTABLISHED 
TCP    ntsrvr:1026                localhost:1025          ESTABLISHED 
  TCP    ntsrvr:nbsession      LTREE1:1033            ESTABLISHED 
  UDP    ntsrvr:135            *:* 
  UDP    ntsrvr:nbname         *:* 
  UDP    ntsrvr:nbdatagram     *:* 

Opcja -e wyświetla statystyki Ethernetu: 

C:\> NETSTAT -E 
Interface Statistics 
 Received 

Sent 

background image

 

 

Rozdział 15 

484 

Bytes 

1169462 209901 

Unicast Packets 

286 

340 

Non-Unicast packets 

235 

192 

Discards 0 

Errors 0 

Unknown Protocols 

11300 

Opcja  -e może przydać się do wykrycia błędów spowodowanych przez 
niesprawną kartę sieciową. 

Opcja  -s podaje statystyki dla każdego z protokołów: IP, ICMP, TCP 
i UDP. Ponieważ w rezultatach zawarte są także problemy i błędy, opcja -
s może przydać się podczas usuwania usterek w sieci. Ważne są zwłasz-
cza wartości liczników błędu, jak Received Header Errors (błędy w otrzy-
manych nagłówkach), Received Address Errors (błędy w otrzymanych ad-
resach) itp. 

 C:\> NETSTAT –s 
IP Statistics 
 Packets 

Received 

  = 

489 

 

Received Header Errors 

 

= 0 

 

Received Address Errors 

 

= 0 

 Datagram 

Forwarded 

 = 

 

Unknown Protocols Received 

 

= 0 

 

Received Packets Discarded   

= 0 

 

Received Packets Delivered   

= 444 

 Output 

Requests 

  = 

431 

 Roqting 

Discards 

  = 

 

Discarded Output Packets 

 

= 0 

 

Output Packet No Route 

 

= 0 

 Reassembly 

Required 

 = 

54 

 

Reassembly Successfully Fragmented  = 20 

 

Datagrams Failing Fragmentation 

= 8 

Fragmnets 

Created 

   = 

120 

 
ICMP Statistisc 
    Received 

Sent 

 Messages 

  86 

115 

 Errors 

  0 0 

 Destination 

Unreachable 

12 0 

 Time 

Exceeded 

 0 0 

 Parameter 

Problems 0 0 

 Source 

Quenchs 

 0 0 

 Redirects 

  0 0 

 Echos 

  0 115 

 Echo 

Replies 

 74 

 Timestamps 

 0 0 

 Timestamp 

Replies 

 0 0 

 Address 

Masks 

 0 0 

 

Address Masks Replies 

 

background image

Narzędzia diagnostyczne dla sieci Microsoft opartych na TCP/IP 

485 

TCP Statistics 
 Active 

Opens 

  = 

 Passive 

Opens 

  = 

 

Failed Connection Attempts   

= 0 

 Reset 

Connections 

  = 

 Current 

Connections  = 

 Segments 

Received 

  = 

133 

` Segment 

Sent 

  = 

110 

 Segments 

Retransmitted 

 = 

 
UDP Statistics 
 Datagram 

Received  = 

225 

 

No Ports   

 

= 86 

Receive Errors 

 

= 0 

 Datagrams 

Sent 

 = 

206 

Jak wynika z powyższych licznik ICMP Destination Unreachable o wartości 
12 może wskazywać, że albo istnieją problemy z uzyskaniem dostępu do 
któregoś  węzła sieci, albo jest on wyłączony. Licznik Datagrams Failing 
Fragmentation

 o wartości 8 wskazuje na problemy z fragmentowaniem 

niektórych datagramów IP. 

Opcja -r jest szczególnie pożyteczna podczas rozwiązywania problemów 
związanych z trasowaniem, ponieważ wyświetla tablicę trasowania: 

C:\> NETSTAT -r 
Active Routes: 
  Network Address 

Netmask 

Gateway Address  Interface 

Metric    

  127.0.0.0 255.0.0.0 

127.0.0.1 

127.0.0.1 

  199.245.180.0 255.255.255.0 

199.245.180.101  199.245.180.101  1 

  199.245.180.101 255.255.255.255 

127.0.0.1 

127.0.0.1 

  199.245.180.255 255.255.255.255 

199.245.180.101  199.245.180.101  1 

  224.0.0.0 

224.0.0.0 

199.245.180.101  199.245.180.101  1 

  255.255.255.255 

255.255.255.255  199.245.180.101  199.245.180.101  1 

Route Table 
Active Connections 
  Proto  Local Address       Foreign Address         State 
  TCP    ntsrvr:1025           localhost:1026           ESTABLISHED 
  TCP    ntsrvr:1026           localhost:1025           ESTABLISHED 
  TCP    ntsrvr:nbsession    LTREE1:1034            ESTABLISHED 

Jak widać na powyższym przykładzie opcja -r wyświetla także aktywne 
połączenia. 

background image

 

 

Rozdział 15 

486 

 

 

Rcv = otrzymano 
snd = wysłano 
Passive/Active OPEN = Pasywne/Aktywne OTWÓRZ 
Data Transfer State = Stan transmisji danych 
Simultaneous CLOSE = Jednoczesne zamykanie połączenia 

Rysunek 15.9  

Diagram stanów TCP.

 

background image

Narzędzia diagnostyczne dla sieci Microsoft opartych na TCP/IP 

487 

Wyświetlanie statystyk i połączeń TCP/IP przy pomocy 
NBTSTAT 

Polecenie  NBTSTAT wyświetla statystyki i bieżące połączenia NetBIOS 
ponad TCP/IP, o ile zainstalowano protokół TCP/IP. Składnia polecenia 
jest następująca: 

 NBTSTAT 

[-a 

zdalna_nazwa] [-A adres_IP] [-c] [-n] [-R] [-r] 

 

[-S] [-s] [odstęp_czasu] 

Argument Opis 

-a 
zdalna_nazwa 

Wyświetla tablicę nazw zdalnego komputera według nazwy. 

-A adres_IP 

Wyświetla tablicę nazw zdalnego komputera według adresu 
IP. 

-c Wyświetla zawartość i adresy IP lokalnego bufora nazw Net-

BIOS. 

-n Wyświetla lokalne nazwy NetBIOS. 

-R Ponownie 

ładuje plik LMHOSTS po usunięciu nazw z bufora 

NetBIOS. 

-r Wyświetla statystyki określania nazw przez Windows. 

W systemie NT używającym usługi WINS, argument ten 
powoduje wyświetlenie liczby nazw NetBIOS określonych 
i zarejestrowanych przez transmisję w trybie broadcast i przez 
WINS. 

-S Wyświetla wszystkie sesje ze zdalnymi serwerami i klientami 

według ich adresów IP. 

-s Wyświetla wszystkie sesje ze zdalnymi serwerami i klientami. 

Używając lokalnego pliku HOSTS, próbuje przekształcić ich 
adresy IP na nazwy. 

odstęp_czasu Wyświetla wybrane statystyki co odstęp_czasu. Aby przerwać 

wyświetlanie, należy nacisnąć CTRL+C. Jeśli argument 
zostanie pominięty, wówczas informacje będą wyświetlone 
tylko raz. 

Bardzo przydatna może okazać się opcja -r, która wyświetla statystyki 
określania nazw w sieci Windows - liczbę określonych nazw według 
użytej metody: 

C:\ NBTSTAT -r 
NetBIOS Names Resolution and Registration Statistics 
---------------------------------------------------- 
Resolved By Broadcast  

= 1 

Resolved By Name Server  = 0 

background image

 

 

Rozdział 15 

488 

Registered By Broadcast  

= 13 

Registered By Name Server  = 0 
 
NetBIOS Names Resolved By Broadcast 
--------------------------------------------- 
     LTREE1          <00> 

Opcja -n służy do wyświetlenia wszystkich lokalnych nazw NetBIOS: 

C:\> NBTSTAT -n 
Node IpAddress: [199.245.180.101] 
Scope Id: [] 
 
NetBIOS Local Name Table 
   Name 

Type 

Status 

------------------------------------ 
NTSRVR <20> 

UNIQUE 

Registered 

NTSRVR <00> 

UNIQUE 

Registered 

NTDOMAIN <00>  GROUP  Registered 
NTDOMAIN <1C> GROUP  Registered 
NTDOMAIN <1B> UNIQUE Registered 
NTSRVR <03> 

UNIQUE 

Registered 

Inet-Services <1C> GROUP  Registered 
IS-NTSRVR.............<00> UNIQUE  Registered 
NTDOMAIN <1E> GROUP  Registered 
NTDOMAIN <1D> UNIQUE Registered 
..__MSBROWSE__.<01> GROUP  Registered 
ADMINISTRATOR <03> UNIQUE 

Registered 

Typy nazw NetBIOS opisane są w rozdziale 9, "Określanie nazw 
w TCP/IP przy użyciu WINS" 

Opcja -s służy do wyświetlenia tablicy połączeń NetBIOS: 

C:\> NBTSTAT -s 
NetBIOS Connection Table 
 
Local Name                State          In/Out     Remote Host      Input    Output 
-------------------------------------------------------------------- 
NTSRVR                     Connected  In          199.245.180.1     582B    470B 
NTSRVR         <03>            Listening 
ADMINISTRATOR  <03>     Listening