Darmowy fragment publikacji:
Tytuł oryginału: Practical Packet Analysis: Using Wireshark to Solve Real-World Network Problems
Tłumaczenie: Robert Górczyński
ISBN: 978-83-246-5011-8
Original edition copyright © 2011 by Chris Sanders.
All rights reserved.
Published by arrangement with No Starch Press, Inc.
Polish edition copyright 2013 by HELION SA.
All rights reserved.
All rights reserved. No part of this book may be reproduced or transmitted in any form or by any means,
electronic or mechanical, including photocopying, recording or by any information storage retrieval system,
without permission from the Publisher.
Wszelkie prawa zastrzeżone. Nieautoryzowane rozpowszechnianie całości lub fragmentu niniejszej
publikacji w jakiejkolwiek postaci jest zabronione. Wykonywanie kopii metodą kserograficzną,
fotograficzną, a także kopiowanie książki na nośniku filmowym, magnetycznym lub innym powoduje
naruszenie praw autorskich niniejszej publikacji.
Wszystkie znaki występujące w tekście są zastrzeżonymi znakami firmowymi bądź towarowymi ich
właścicieli.
Wydawnictwo HELION dołożyło wszelkich starań, by zawarte w tej książce informacje były kompletne
i rzetelne. Nie bierze jednak żadnej odpowiedzialności ani za ich wykorzystanie, ani za związane z tym
ewentualne naruszenie praw patentowych lub autorskich. Wydawnictwo HELION nie ponosi również
żadnej odpowiedzialności za ewentualne szkody wynikłe z wykorzystania informacji zawartych w książce.
Wydawnictwo HELION
ul. Kościuszki 1c, 44-100 GLIWICE
tel. 32 231 22 19, 32 230 98 63
e-mail: helion@helion.pl
WWW: http://helion.pl (księgarnia internetowa, katalog książek)
Drogi Czytelniku!
Jeżeli chcesz ocenić tę książkę, zajrzyj pod adres
http://helion.pl/user/opinie/panpak
Możesz tam wpisać swoje uwagi, spostrzeżenia, recenzję.
Printed in Poland.
• Kup książkę
• Poleć książkę
• Oceń książkę
• Księgarnia internetowa
• Lubię to! » Nasza społeczność
Spis treĂci
PodziÚkowania
13
Wprowadzenie
15
Dlaczego wïaĂnie ta ksiÈĝka? ......................................................................................................15
Koncepcje i podejĂcie .................................................................................................................16
Jak korzystaÊ z tej ksiÈĝki? ..........................................................................................................18
Przykïadowe pliki .......................................................................................................................18
Fundusz The Rural Technology Fund .........................................................................................18
Kontakt ze mnÈ ..........................................................................................................................19
1
Podstawy dziaïania sieci i analizy pakietów
21
Analiza pakietów i sniffery pakietów ..........................................................................................22
Ocena aplikacji typu sniffer pakietów .............................................................................22
Jak dziaïa sniffer pakietów? .............................................................................................23
W jaki sposób komunikujÈ siÚ komputery? ................................................................................24
Protokoïy ........................................................................................................................24
Siedem warstw modelu OSI ...........................................................................................25
Hermetyzacja danych .....................................................................................................29
SprzÚt sieciowy ...............................................................................................................31
Klasyfikacje ruchu sieciowego ....................................................................................................35
Ruch typu broadcast .......................................................................................................36
Ruch typu multicast .........................................................................................................37
Ruch typu unicast ............................................................................................................37
Podsumowanie ...........................................................................................................................38
2
Dobranie siÚ do sieci
39
Tryb mieszany ............................................................................................................................40
Przechwytywanie pakietów z koncentratorów .........................................................................41
Przechwytywanie pakietów w Ărodowisku sieci opartej na przeïÈczniku sieciowym ................43
Kopiowanie ruchu na wskazany port ..............................................................................43
Technika hubbing out .....................................................................................................45
Uĝycie rozgaïÚěnika ....................................................................................................... 46
Zatrucie bufora ARP ....................................................................................................... 49
Przechwytywanie pakietów w Ărodowisku sieci opartej na routerze ....................................... 54
Praktyczne wskazówki dotyczÈce umieszczania sniffera pakietów ........................................... 55
3
Wprowadzenie do narzÚdzia Wireshark
59
Krótka historia narzÚdzia Wireshark ......................................................................................... 59
Zalety narzÚdzia Wireshark ....................................................................................................... 60
Instalowanie narzÚdzia Wireshark ............................................................................................. 61
Instalowanie Wireshark w systemie Windows ............................................................... 62
Instalowanie narzÚdzia Wireshark w systemie Linux ..................................................... 63
Instalowanie narzÚdzia Wireshark w systemie Mac OS X ............................................. 64
Podstawy uĝywania narzÚdzia Wireshark .................................................................................. 65
Twoje pierwsze przechwycone pakiety ......................................................................... 65
Okno gïówne narzÚdzia Wireshark ................................................................................ 67
Preferencje narzÚdzia Wireshark ................................................................................... 68
Kolorowanie pakietów ................................................................................................... 69
4
Praca z przechwyconymi pakietami
73
Praca z plikami zawierajÈcymi przechwycone dane .................................................................. 73
Zapis i eksport plików zawierajÈcych przechwycone dane ........................................... 74
Èczenie plików zawierajÈcych przechwycone dane ..................................................... 75
Praca z pakietami ....................................................................................................................... 76
Wyszukiwanie pakietów ................................................................................................. 76
Oznaczanie pakietów ..................................................................................................... 77
Wydruk pakietów ........................................................................................................... 77
Konfiguracja formatu wyĂwietlania czasu i odniesieñ ................................................................ 78
Format wyĂwietlania czasu ............................................................................................. 78
Odniesienie czasu do pakietu ......................................................................................... 79
Konfiguracja opcji przechwytywania danych ............................................................................. 80
Sekcja Capture ............................................................................................................... 81
Sekcja Capture File(s) ..................................................................................................... 81
Sekcja Stop Capture ....................................................................................................... 82
Sekcja Display Options ................................................................................................... 83
Sekcja Name Resolution ................................................................................................. 83
Uĝywanie filtrów ....................................................................................................................... 83
Pliki zawierajÈce przechwycone dane ............................................................................ 84
Filtry wyĂwietlania .......................................................................................................... 90
Zapis filtrów ................................................................................................................... 93
8
S p i s t r e Ă c i
5
Zaawansowane funkcje narzÚdzia Wireshark
97
Konwersacje i punkty koñcowe sieci .........................................................................................97
PrzeglÈdanie punktów koñcowych .................................................................................98
PrzeglÈdanie konwersacji sieciowych .............................................................................99
RozwiÈzywanie problemów za pomocÈ okien Endpoints i Conversations ...................100
Okno Protocol Hierarchy Statistics .........................................................................................102
OkreĂlanie nazw .......................................................................................................................103
WïÈczenie funkcji okreĂlania nazw ................................................................................103
Potencjalne wady okreĂlania nazw ...............................................................................104
Szczegóïowa analiza protokoïu ................................................................................................104
Zmiana dekodera ..........................................................................................................105
WyĂwietlanie kodu ěródïowego dekodera ...................................................................107
Funkcja Follow TCP Stream ....................................................................................................108
WielkoĂÊ pakietu ......................................................................................................................109
Grafika ......................................................................................................................................110
Wykres operacji wejĂcia-wyjĂcia ...................................................................................110
Wykres czasu podróĝy ..................................................................................................112
Wykres przepïywu danych ............................................................................................113
Informacje zaawansowane .......................................................................................................114
6
NajczÚĂciej uĝywane protokoïy niĝszych warstw
117
Protokóï ARP ...........................................................................................................................118
Nagïówek pakietu ARP .................................................................................................119
Pakiet 1.: ĝÈdanie ARP ..................................................................................................120
Pakiet 2.: odpowiedě ARP ............................................................................................121
Bezpïatny pakiet ARP ....................................................................................................122
Protokóï IP ...............................................................................................................................123
Adres IP ........................................................................................................................123
Nagïówek IPv4 ..............................................................................................................125
WartoĂÊ Time to Live ...................................................................................................126
Fragmentacja IP ............................................................................................................128
Protokóï TCP ...........................................................................................................................130
Nagïówek TCP .............................................................................................................131
Porty TCP .....................................................................................................................132
Trzyetapowy proces negocjacji TCP ............................................................................135
Zakoñczenie komunikacji TCP .....................................................................................137
Zerowanie TCP ............................................................................................................138
Protokóï UDP ..........................................................................................................................139
Nagïówek UDP .............................................................................................................140
Protokóï ICMP .........................................................................................................................141
Nagïówek ICMP ...........................................................................................................141
WiadomoĂci i typy ICMP ..............................................................................................142
¿Èdania echo i odpowiedzi na nie .................................................................................142
Polecenie traceroute .....................................................................................................145
S p i s t r e Ă c i
9
7
NajczÚĂciej uĝywane protokoïy wyĝszych warstw
149
Protokóï DHCP ....................................................................................................................... 149
Struktura pakietu DHCP .............................................................................................. 150
Proces odnowy DHCP ................................................................................................. 150
Proces odnowy dzierĝawy DHCP ............................................................................... 156
Opcje DHCP i typy wiadomoĂci .................................................................................. 156
Protokóï DNS .......................................................................................................................... 156
Struktura pakietu DNS ................................................................................................. 157
Proste zapytanie DNS .................................................................................................. 158
Typy zapytañ DNS ....................................................................................................... 159
Rekurencja DNS ........................................................................................................... 160
Transfer strefy DNS ..................................................................................................... 164
Protokóï HTTP ....................................................................................................................... 166
PrzeglÈdanie zasobów za pomocÈ HTTP ..................................................................... 166
Przekazywanie danych za pomocÈ HTTP .................................................................... 168
Podsumowanie ........................................................................................................................ 170
8
NajczÚĂciej spotykane sytuacje
171
Serwisy spoïecznoĂciowe na poziomie pakietów .................................................................... 172
Przechwycenie ruchu sieciowego serwisu Twitter ...................................................... 172
Przechwycenie ruchu sieciowego serwisu Facebook .................................................. 176
Porównanie metod stosowanych przez serwisy Twitter i Facebook .......................... 178
Przechwycenie ruchu sieciowego z ESPN.com ...................................................................... 179
Uĝycie okna Conversations .......................................................................................... 179
Uĝywanie okna Protocol Hierarchy Statistics .............................................................. 179
PrzeglÈdanie ruchu DNS .............................................................................................. 181
WyĂwietlanie ĝÈdañ HTTP ........................................................................................... 182
Rzeczywiste problemy ............................................................................................................ 183
Brak dostÚpu do internetu: problem zwiÈzany z konfiguracjÈ ..................................... 183
Brak dostÚpu do internetu: niechciane przekierowanie .............................................. 187
Brak dostÚpu do internetu: problemy zwiÈzane z przekazywaniem danych ............... 190
Nieprawidïowo dziaïajÈca drukarka ............................................................................. 193
UwiÚzieni w oddziale ................................................................................................... 196
BïÈd programisty .......................................................................................................... 199
Podsumowanie ........................................................................................................................ 204
9
Zmagania z wolno dziaïajÈcÈ sieciÈ
205
Funkcje usuwania bïÚdów protokoïu TCP .............................................................................. 206
Ponowna transmisja pakietu TCP ................................................................................ 206
Duplikaty potwierdzeñ TCP i szybka retransmisja ...................................................... 209
10
S p i s t r e Ă c i
Kontrola przepïywu danych TCP .............................................................................................213
Dostosowanie wielkoĂci okna .......................................................................................215
Wstrzymanie przepïywu danych i powiadomienie
o zerowej wielkoĂci okna odbiorcy ...........................................................................216
Mechanizm przesuwajÈcego siÚ okna TCP w praktyce ................................................217
Wnioski pïynÈce z usuwania bïÚdów protokoïu TCP i kontroli przepïywu danych .................220
Lokalizacja ěródïa opóěnieñ .....................................................................................................221
Normalna komunikacja .................................................................................................221
Wolna komunikacja — opóěnienie z winy sieci ............................................................222
Wolna komunikacja — opóěnienie po stronie klienta ..................................................223
Wolna komunikacja — opóěnienie po stronie serwera ................................................224
Struktury pozwalajÈce na wyszukiwanie opóěnieñ .......................................................224
Punkt odniesienia dla sieci ........................................................................................................225
Punkt odniesienia dla miejsca ........................................................................................226
Punkt odniesienia dla komputera ..................................................................................227
Punkt odniesienia dla aplikacji .......................................................................................228
Informacje dodatkowe dotyczÈce punktów odniesienia ...............................................229
Podsumowanie .........................................................................................................................229
10
Analiza pakietów i zapewnianie bezpieczeñstwa
231
Rozpoznanie systemu ...............................................................................................................232
Skanowanie TCP SYN ..................................................................................................232
Wykrywanie systemu operacyjnego .............................................................................237
Wïamanie .................................................................................................................................240
Operacja Aurora ...........................................................................................................240
Zatrucie bufora ARP .....................................................................................................246
Koñ trojañski umoĝliwiajÈcy zdalny dostÚp ..................................................................248
Podsumowanie .........................................................................................................................257
11
Analiza pakietów w sieci bezprzewodowej
259
WzglÚdy fizyczne ......................................................................................................................260
Przechwytywanie danych tylko jednego kanaïu w danej chwili ....................................260
Zakïócenia sygnaïu bezprzewodowego ........................................................................261
Wykrywanie i analizowanie zakïóceñ sygnaïu ...............................................................261
Tryby dziaïania kart sieci bezprzewodowych ..........................................................................263
Bezprzewodowe przechwytywanie pakietów w systemie Windows ......................................264
Konfiguracja AirPcap .....................................................................................................264
Przechwytywanie ruchu sieciowego za pomocÈ urzÈdzenia AirPcap ...........................266
Bezprzewodowe przechwytywanie pakietów w systemie Linux ............................................268
Struktura pakietu 802.11 ..........................................................................................................269
Dodanie do panelu Packet List kolumn charakterystycznych dla sieci bezprzewodowej ........271
Filtry przeznaczone dla sieci bezprzewodowej .......................................................................272
Filtrowanie ruchu sieciowego naleĝÈcego do okreĂlonego BSS ID ................................273
S p i s t r e Ă c i
11
Filtrowanie okreĂlonych typów pakietów sieci bezprzewodowej ............................... 273
Odfiltrowanie okreĂlonej czÚstotliwoĂci ...................................................................... 273
Bezpieczeñstwo w sieci bezprzewodowej .............................................................................. 275
Zakoñczone powodzeniem uwierzytelnienie WEP ..................................................... 275
Nieudane uwierzytelnienie WEP .................................................................................. 277
Zakoñczone powodzeniem uwierzytelnienie WPA ..................................................... 278
Nieudane uwierzytelnienie WPA ................................................................................. 279
Podsumowanie ........................................................................................................................ 281
Dodatek.
Co dalej?
283
NarzÚdzia analizy pakietów ..................................................................................................... 283
tcpdump i Windump .................................................................................................... 284
Cain Abel .................................................................................................................. 284
Scapy ............................................................................................................................ 284
Netdude ....................................................................................................................... 284
Colsoft Packet Builder .................................................................................................. 284
CloudShark ................................................................................................................... 285
pcapr ............................................................................................................................ 285
NetworkMiner ............................................................................................................. 287
Tcpreplay ..................................................................................................................... 287
ngrep ............................................................................................................................ 287
libpcap .......................................................................................................................... 287
hping ............................................................................................................................. 287
Domain Dossier ........................................................................................................... 288
Perl i Python ................................................................................................................. 288
Zasoby dotyczÈce analizy pakietów ........................................................................................ 288
Witryna domowa narzÚdzia Wireshark ........................................................................ 288
Kurs SANS Security Intrusion Detection In-Depth ...................................................... 288
Blog Chrisa Sandersa .................................................................................................... 289
Blog Packetstan ............................................................................................................ 289
Uniwersytet Wireshark ................................................................................................ 289
IANA ............................................................................................................................ 289
TCP/IP Illustrated (Addison-Wesley) ........................................................................... 289
The TCP/IP Guide (No Starch Press) .......................................................................... 289
Skorowidz
291
12
S p i s t r e Ă c i
4
Praca z przechwyconymi
pakietami
PO KRÓTKIM WPROWADZENIU DO NARZ}DZIA WIRESHARK PRZEDSTA-
WIONYM W ROZDZIALE 3. JESTE¥ GOTOWY DO ROZPOCZ}CIA PRZE-
CHWYTYWANIA I ANALIZY PAKIETÓW. W TYM ROZDZIALE DOWIESZ siÚ,
jak pracowaÊ z plikami zawierajÈcymi przechwycone dane, z prze-
chwyconymi pakietami oraz z formatami wyĂwietlania czasu. Omówione
zostanÈ takĝe bardziej zaawansowane opcje dotyczÈce przechwytywania pakietów,
a ponadto zagïÚbimy siÚ w Ăwiat filtrów.
Praca z plikami
zawierajÈcymi przechwycone dane
Podczas przeprowadzania analizy pakietu przekonasz siÚ, ĝe znaczna jej czÚĂÊ
nastÚpuje juĝ po przechwyceniu danych. NajczÚĂciej w róĝnym czasie przeprowa-
dzasz kilka operacji przechwytywania i zapisywania danych, a nastÚpnie ana-
lizujesz jednoczeĂnie wszystkie zebrane w ten sposób dane. NarzÚdzie Wi-
reshark umoĝliwia zapisywanie plików z przechwyconymi danymi, które bÚdziesz
mógï póěniej przeanalizowaÊ. OczywiĂcie masz moĝliwoĂÊ ïÈczenia ze sobÈ wielu
takich plików.
Zapis i eksport plików zawierajÈcych przechwycone dane
Aby zapisaÊ przechwycony pakiet, wybierz opcjÚ menu File/Save As. Na ekranie
powinno wyĂwietliÊ siÚ okno dialogowe Save As (zob. rysunek 4.1). W oknie tym
moĝesz podaÊ katalog, w którym zostanie zapisany plik, oraz okreĂliÊ format pliku.
Jeĝeli nie podasz formatu pliku, narzÚdzie Wireshark uĝyje domyĂlnego formatu
pliku dla przechwyconych danych — .pcap.
Rysunek 4.1. Za pomocÈ okna dialogowego Save As moĝesz zapisywaÊ
przechwycone pakiety
JednÈ z najmocniejszych stron okna dialogowego Save As jest moĝliwoĂÊ zapisu
okreĂlonego zakresu pakietu. To doskonaïy sposób na zmniejszenie przeroĂniÚtych
plików zawierajÈcych przechwycone dane pakietu. Moĝesz wiÚc zapisywaÊ pakiety
pochodzÈce jedynie z podanego zakresu, pakiety oznaczone lub pakiety widoczne
po zastosowaniu okreĂlonego filtru wyĂwietlania. (Pakiety oznaczone i filtry zostanÈ
omówione w dalszej czÚĂci rozdziaïu).
Dane przechwycone przez narzÚdzie Wireshark moĝesz eksportowaÊ do wielu
róĝnych formatów w celu wyĂwietlania danych w innych mediach lub przeanali-
zowania zebranych danych w innych narzÚdziach. DostÚpne formaty to miÚdzy
innymi: zwykïy tekst, PostScript, CSV (ang. Comma Separated Values — wartoĂci
74
R o z d z i a ï 4
rozdzielone przecinkami) oraz XML. Aby wyeksportowaÊ przechwycone dane
pakietu, wybierz opcjÚ menu File/Export, a nastÚpnie wskaĝ format pliku, w któ-
rym majÈ zostaÊ zapisane dane. Na ekranie wyĂwietli siÚ okno dialogowe Save As
zawierajÈce opcje zwiÈzane z wybranym formatem.
Èczenie plików zawierajÈcych przechwycone dane
Pewne rodzaje analizy wymagajÈ poïÈczenia ze sobÈ wielu plików zawierajÈcych
przechwycone dane. Jest to praktyka czÚsto stosowana podczas porównywania
dwóch strumieni danych lub ïÈczenia strumieni tego samego ruchu sieciowego,
które zostaïy przechwycone oddzielnie.
Aby poïÈczyÊ ze sobÈ pliki zawierajÈce przechwycone dane, otwórz jeden
z nich, a nastÚpnie wybierz opcjÚ menu File/Merge. Na ekranie wyĂwietli siÚ okno
dialogowe zatytuïowane Merge with capture file (zob. rysunek 4.2). W oknie tym
wskaĝ plik, który ma zostaÊ poïÈczony z juĝ otwartym plikiem, a nastÚpnie wybierz
metodÚ poïÈczenia plików. Plik wybrany w oknie dialogowym moĝesz umieĂciÊ
przed juĝ otworzonym plikiem, doïÈczyÊ go na koñcu bÈdě poïÈczyÊ oba pliki
chronologicznie na podstawie ich znaczników czasu.
Rysunek 4.2. Okno dialogowe Merge with capture file pozwala ïÈczyÊ dwa pliki
zawierajÈce przechwycone dane
P r a c a z p r z e c h w y c o n y m i p a k i e t a m i
75
Praca z pakietami
Moĝe siÚ zdarzyÊ sytuacja, w której wykorzystywana bÚdzie ogromna liczba pakie-
tów. W przypadku wzrostu liczby pakietów do rzÚdu tysiÚcy lub nawet milionów
musisz mieÊ moĝliwoĂÊ efektywnego poruszania siÚ pomiÚdzy nimi. NarzÚdzie
Wireshark umoĝliwia wyszukiwanie i oznaczanie pakietów speïniajÈcych okre-
Ălone kryteria. Pakiety moĝna równieĝ wydrukowaÊ.
Wyszukiwanie pakietów
Aby wyszukaÊ pakiety speïniajÈce okreĂlone kryteria, musisz przejĂÊ do okna dia-
logowego Find Packet (zob. rysunek 4.3) poprzez naciĂniÚcie klawiszy Ctrl+F.
Rysunek 4.3. Wyszukiwanie pakietów w narzÚdziu Wireshark
na podstawie okreĂlonych kryteriów
Pokazane na rysunku 4.3 okno dialogowe zawiera trzy nastÚpujÈce opcje pozwa-
lajÈce na wyszukiwanie pakietów:
Q Display filter. W tej opcji moĝesz podaÊ filtr oparty na wyraĝeniu. DziÚki
temu filtrowi zostanÈ wyszukane jedynie pakiety speïniajÈce zdefiniowane
tutaj wyraĝenie.
Q Hex value. Ta opcja powoduje wyszukanie pakietów zawierajÈcych podanÈ
wartoĂÊ szesnastkowÈ (bajty powinny byÊ rozdzielone dwukropkami).
Q String. Ta opcja powoduje wyszukanie pakietów zawierajÈcych podany ciÈg
tekstowy.
Powyĝsze rodzaje wyszukiwania przedstawiono w tabeli 4.1.
Inne opcje pozwalajÈ na wybór uĝywanego systemu kodowania znaków, okre-
Ălenie kierunku wyszukiwania oraz wskazanie okna, w którym ma zostaÊ przepro-
wadzona operacja wyszukiwania. Wyszukiwanie z uĝyciem ciÈgu tekstowego moĝna
rozbudowaÊ poprzez podanie uĝywanego systemu kodowania, okreĂlenie, czy ma
byÊ rozróĝniana wielkoĂÊ znaków, oraz wskazanie panelu, w którym bÚdzie prze-
prowadzona operacja wyszukiwania.
Po wybraniu odpowiednich opcji w polu tekstowym naleĝy wprowadziÊ kry-
teria wyszukiwania, a nastÚpnie nacisnÈÊ przycisk Find w celu znalezienia pierw-
76
R o z d z i a ï 4
Tabela 4.1. DostÚpne rodzaje operacji wyszukiwania pakietów
Rodzaj wyszukiwania
Przykïady
filtr
wartoĂÊ szesnastkowa
ciÈg tekstowy
not ip
ip.addr==192.168.0.1
arp
00:ff
ff:ff
00:ab:b1:f0
StacjaRobocza1
UĝytkownikB
domena
szego pakietu speïniajÈcego zdefiniowane kryteria. Aby znaleěÊ kolejny pakiet
dopasowany do kryteriów, trzeba nacisnÈÊ klawisze Ctrl+N, natomiast przejĂcie do
poprzedniego znalezionego pakietu nastÚpuje po naciĂniÚciu klawiszy Ctrl+B.
Oznaczanie pakietów
Po znalezieniu pakietów speïniajÈcych zdefiniowane kryteria moĝna je oznakowaÊ.
Przykïadowo: pakiety moĝesz oznakowaÊ, aby mieÊ moĝliwoĂÊ ich oddzielnego
zapisania lub szybkiego odszukania na podstawie koloru. Oznaczone pakiety
wyróĝniajÈ siÚ biaïym tekstem na czarnym tle, jak pokazano na rysunku 4.4.
(Podczas zapisywania przechwyconych pakietów moĝesz zdecydowaÊ o zacho-
waniu jedynie oznaczonych pakietów).
Rysunek 4.4. Oznaczony pakiet jest podĂwietlony na ekranie. Na rysunku widaÊ, ĝe pakiet pierwszy
zostaï oznaczony — ma czarne tïo i biaïy tekst
W celu oznaczenia pakietu kliknij go prawym przyciskiem myszy w panelu
Packet List, a nastÚpnie wybierz opcjÚ Mark Packet z rozwijanego menu lub naciĂnij
klawisze Ctrl+M. Natomiast usuniÚcie zaznaczenia pakietu nastÚpuje po ponow-
nym wybraniu wspomnianej opcji lub po ponownym naciĂniÚciu klawiszy Ctrl+M.
W przechwyconych danych moĝesz oznaczyÊ dowolnÈ liczbÚ pakietów. Do poru-
szania siÚ do przodu i do tyïu po oznaczonych pakietach sïuĝÈ klawisze odpowied-
nio Shift+Ctrl+N i Shift+Ctrl+B.
Wydruk pakietów
Wprawdzie wiÚkszoĂÊ analizy pakietów przeprowadza siÚ na ekranie komputera,
ale zdarzajÈ siÚ sytuacje, gdy trzeba wydrukowaÊ przechwycone dane. Sam czÚsto
drukujÚ pakiety i umieszczam je na biurku; w ten sposób mogÚ bardzo szybko
sprawdziÊ ich zawartoĂÊ podczas przeprowadzania innych analiz. MoĝliwoĂÊ
zapisu pakietów do pliku w formacie PDF równieĝ jest bardzo wygodna, zwïasz-
cza podczas przygotowywania raportów.
P r a c a z p r z e c h w y c o n y m i p a k i e t a m i
77
Aby wydrukowaÊ przechwycone pakiety, wyĂwietl okno dialogowe Print poprzez
wybór opcji menu File/Print. Na ekranie pojawi siÚ pokazane na rysunku 4.5 okno
dialogowe Print.
Rysunek 4.5. Okno dialogowe Print umoĝliwia wydruk wskazanych pakietów
Wskazane dane moĝna wydrukowaÊ jako zwykïy tekst, PostScript lub do pliku.
Podobnie jak w przypadku okna dialogowego Save As, takĝe tutaj moĝna wybraÊ
wydruk jedynie okreĂlonego zakresu pakietów, pakietów oznaczonych lub wyĂwie-
tlanych na ekranie jako wynik dziaïania filtru. Ponadto masz moĝliwoĂÊ wyboru
panelu (jednego z trzech gïównych paneli okna Wireshark), z którego bÚdzie
wydrukowany pakiet. Po zaznaczeniu wszystkich opcji naciĂnij przycisk Print.
Konfiguracja formatu wyĂwietlania czasu
i odniesieñ
Czas ma istotne znaczenie zwïaszcza podczas przeprowadzania analizy pakietu.
Dla wszystkich zdarzeñ zachodzÈcych w sieci czas jest waĝny, a Twoim zadaniem
jest analiza trendów i opóěnieñ w sieci w niemal kaĝdym pliku zawierajÈcym
przechwycone dane. Twórcy narzÚdzia Wireshark zdajÈ sobie sprawÚ ze znacze-
nia czasu, dlatego dostarczyli wiele powiÈzanych z nim opcji konfiguracyjnych.
W tym podrozdziale skoncentrujemy siÚ na formacie wyĂwietlania czasu oraz na
odniesieniach czasu do pakietu.
Format wyĂwietlania czasu
Kaĝdy pakiet przechwycony przez narzÚdzie Wireshark ma znacznik czasu, który
jest mu przypisany przez system operacyjny. Wireshark ma moĝliwoĂÊ wyĂwietlenia
78
R o z d z i a ï 4
zarówno bezwzglÚdnego znacznika czasu, wskazujÈcego dokïadny moment prze-
chwycenia danego pakietu, jak równieĝ czasu, który upïynÈï od ostatniego prze-
chwyconego pakietu, a takĝe od poczÈtku i koñca operacji przechwytywania.
Opcje zwiÈzane z wyĂwietlaniem czasu znajdujÈ siÚ w menu gïównym zaty-
tuïowanym View. Pokazana na rysunku 4.6 grupa Time Display Format umoĝliwia
wybór formatu wyĂwietlania czasu oraz dokïadnoĂÊ czasu. Masz moĝliwoĂÊ wybra-
nia automatycznego lub rÚcznego ustawienia dokïadnoĂci czasu, na przykïad:
sekundy, milisekundy, mikrosekundy. Obie opcje bÚdziemy modyfikowaÊ w dalszej
czÚĂci ksiÈĝki, wiÚc powinieneĂ siÚ teraz z nimi zapoznaÊ.
Rysunek 4.6. DostÚpnych jest kilka formatów wyĂwietlania czasu
Odniesienie czasu do pakietu
Funkcja odniesienia czasu do pakietu pozwala skonfigurowaÊ okreĂlony pakiet
w taki sposób, aby kolejne obliczenia dotyczÈce czasu byïy przeprowadzane wzglÚ-
dem danego pakietu. Ta funkcja jest wyjÈtkowo uĝyteczna podczas analizy wielu
kolejnych zdarzeñ, które sÈ wywoïywane gdzieĂ w Ărodku pliku zawierajÈcego
przechwycone dane.
Aby ustawiÊ odniesienie czasu do okreĂlonego pakietu, naleĝy w pierwszej
kolejnoĂci zaznaczyÊ pakiet w panelu Packet List, a nastÚpnie wybraÊ opcjÚ menu
Edit/Set Time Reference. UsuniÚcie odniesienia czasu do pakietu nastÚpuje po
zaznaczeniu pakietu i usuniÚciu opcji Edit/Set Time Reference.
Po wïÈczeniu funkcji odniesienia czasu do okreĂlonego pakietu kolumna Time
w panelu Packet List bÚdzie zawieraïa ciÈg tekstowy *REF* (zob. rysunek 4.7).
P r a c a z p r z e c h w y c o n y m i p a k i e t a m i
79
Rysunek 4.7. Pakiet wraz z wïÈczonym odniesieniem czasu wzglÚdem wskazanego pakietu
WïÈczenie opcji odniesienia czasu do danego pakietu jest uĝyteczne tylko
wtedy, gdy format wyĂwietlania czasu przechwyconych danych jest zdefiniowany
jako czas wyĂwietlany wzglÚdem poczÈtku tych danych. Wszelkie inne ustawienia
spowodujÈ otrzymanie nieprzewidywalnych wyników oraz utworzenie bardzo
mylÈcych znaczników czasu.
Konfiguracja opcji przechwytywania danych
WyjÈtkowo prosty proces przechwytywania danych zostaï przedstawiony w roz-
dziale 3. W pokazanym na rysunku 4.8 oknie dialogowym Capture Options narzÚ-
dzie Wireshark oferuje znacznie wiÚcej opcji zwiÈzanych z przechwytywaniem
danych. WyĂwietlenie tego okna dialogowego nastÚpuje po wybraniu opcji
Capture/Interfaces i klikniÚciu przycisku Options znajdujÈcego siÚ obok nazwy
interfejsu, z którego majÈ zostaÊ przechwycone pakiety.
Rysunek 4.8. Okno dialogowe Capture Options
80
R o z d z i a ï 4
Okno dialogowe Capture Options ma wiÚcej wodotrysków, niĝ bÚdziesz w sta-
nie wykorzystaÊ, umoĝliwiajÈcych jak najwiÚkszÈ elastycznoĂÊ podczas przechwy-
tywania pakietów. Opcje zostaïy zgrupowane w kilku sekcjach, które teraz omówiÚ.
Sekcja Capture
Rozwijane menu Interface w sekcji Capture pozwala wybraÊ konfigurowany
interfejs sieciowy. W menu po lewej stronie wybierasz interfejs lokalny bÈdě zdalny,
natomiast menu po prawej stronie pokazuje dostÚpne interfejsy pozwalajÈce na
przechwytywanie danych. Adres IP wybranego interfejsu jest wyĂwietlany bez-
poĂrednio pod rozwijanym menu.
Trzy pola wyboru umieszczone po lewej stronie sekcji Capture sïuĝÈ do wïÈ-
czenia lub wyïÈczenia trybu mieszanego (domyĂlnie zawsze jest wïÈczony), prze-
chwytywania pakietów w aktualnie eksperymentalnym formacie pcap-ng oraz do
zdefiniowanego w bajtach ograniczenia wielkoĂci kaĝdego przechwyconego pakietu.
Przyciski po prawej stronie sekcji Capture pozwalajÈ uzyskaÊ dostÚp do usta-
wieñ sieci bezprzewodowej lub zdalnej (pod warunkiem, ĝe sÈ dostÚpne). Poniĝej
znajduje siÚ opcja konfiguracji wielkoĂci bufora, dostÚpna jedynie w systemach
Microsoft Windows. W tym miejscu moĝesz okreĂliÊ wielkoĂÊ przechwyconych
danych pakietów, które bÚdÈ przechowywane w buforze jÈdra, zanim zostanÈ
zapisane na dysku. (Tej wartoĂci nie powinieneĂ modyfikowaÊ, chyba ĝe zauwaĝysz
gubienie duĝej liczby pakietów). Opcja Capture Filter pozwala zdefiniowaÊ filtr
przechwytywania danych.
Sekcja Capture File(s)
W sekcji Capture File(s) moĝesz skonfigurowaÊ automatyczne przechowywanie
przechwyconych pakietów w pliku zamiast najpierw przechwytywania danych,
a dopiero póěniej ich zapisywania w pliku. DostÚpne tutaj opcje oferujÈ duĝÈ
elastycznoĂÊ w zarzÈdzaniu sposobem zapisu pakietów. Dane mogÈ byÊ zapisywane
w pojedynczym pliku, w zestawie plików, a nawet moĝna uĝyÊ bufora wielopier-
Ăcieniowego (ang. ring buffer) do zarzÈdzania liczbÈ tworzonych plików. WïÈcze-
nie opcji zapisu danych do pliku (lub plików) wymaga podania peïnej Ăcieĝki
dostÚpu w polu File.
Podczas przechwytywania ogromnego ruchu sieciowego lub przeprowadzania
dïugotrwaïej operacji przechwytywania danych uĝyteczne jest utworzenie zestawu
plików. Zestaw ten to grupa wielu plików, kaĝdy z nich zawiera dane speïniajÈce
okreĂlony warunek. Aby wykorzystaÊ zestaw plików, naleĝy uĝyÊ opcji Use
Multiple Files.
Przy zarzÈdzaniu zestawem plików narzÚdzie Wireshark korzysta z róĝnych
wyzwalaczy opartych na wielkoĂci pliku lub na warunku dotyczÈcym czasu. WïÈ-
czenie tych opcji wymaga zaznaczenia pola wyboru znajdujÈcego siÚ obok opcji
Next File Every (to górne dotyczy wyzwalaczy opartych na wielkoĂci pliku,
natomiast dolne — opartych na czasie), a takĝe podania wartoĂci oraz jednostki
P r a c a z p r z e c h w y c o n y m i p a k i e t a m i
81
powodujÈcej aktywacjÚ wyzwalacza. Przykïadowo: moĝesz zdefiniowaÊ wyzwalacz
tworzÈcy nowy plik po przechwyceniu kaĝdego 1 MB danych lub po upïywie
minuty przechwytywania danych (zob. rysunek 4.9).
Rysunek 4.9. Zestaw plików utworzonych przez narzÚdzie Wireshark w odstÚpie
jednej minuty
Wymienione opcje moĝna ze sobÈ ïÈczyÊ. Przykïadowo: po zaznaczeniu obu
wyzwalaczy nowy plik zostanie utworzony po przechwyceniu 1 MB danych lub po
upïywie jednej minuty — w zaleĝnoĂci od tego, co nastÈpi wczeĂniej.
Opcja Ring Buffer Width pozwala na uĝycie bufora wielopierĂcieniowego pod-
czas tworzenia zestawu plików. Ta opcja jest wykorzystywana przez narzÚdzie
Wireshark do zastosowania metody FIFO (ang. First In, First Out — pierwszy
na wejĂciu, pierwszy na wyjĂciu) podczas zapisu wielu plików. PojÚcie bufora
wielopierĂcieniowego ma wiele znaczeñ w informatyce. W narzÚdziu Wireshark
oznacza zestaw plików, gdzie po zapisaniu ostatniego pliku rozpocznie siÚ nadpi-
sywanie pierwszego, kiedy pojawiÈ siÚ kolejne dane konieczne do zachowania.
Moĝesz zaznaczyÊ tÚ opcjÚ i zdefiniowaÊ maksymalnÈ liczbÚ plików uĝywanych
przez bufor wielopierĂcieniowy. Przykïadowo: moĝesz zdecydowaÊ siÚ na uĝycie
zestawu plików do zapisu przechwytywanych danych i okreĂliÊ tworzenie nowego
pliku co godzinÚ, a maksymalnÈ liczbÚ plików ustaliÊ na 6. W takim przypadku po
utworzeniu ostatniego, szóstego pliku bufor wielopierĂcieniowy rozpocznie nad-
pisywanie pierwszego pliku, zamiast utworzyÊ siódmy. W ten sposób na dysku
twardym bÚdzie siÚ znajdowaïo maksymalnie szeĂÊ plików zawierajÈcych prze-
chwycone dane (w tym przypadku z szeĂciu ostatnich godzin) i nadal bÚdzie zacho-
wana moĝliwoĂÊ zapisu nowych danych.
Opcja Stop Capture After powoduje zatrzymanie przechwytywania danych po
utworzeniu wczeĂniej zdefiniowanej liczby plików.
Sekcja Stop Capture
Sekcja Stop Capture pozwala zatrzymaÊ trwajÈcÈ operacjÚ przechwytywania danych
po wystÈpieniu okreĂlonego wyzwalacza. Podobnie jak w przypadku zestawu
plików, takĝe tutaj wyzwalacz moĝe opieraÊ siÚ na wielkoĂci pliku, odstÚpach
czasu, jak równieĝ na liczbie pakietów. Te opcje moĝesz wykorzystywaÊ w poïÈcze-
niu z omówionymi wczeĂniej opcjami dotyczÈcymi zestawu plików.
82
R o z d z i a ï 4
Sekcja Display Options
Sekcja Display Options okreĂla sposób wyĂwietlania pakietów po ich przechwy-
ceniu. Dziaïanie opcji zatytuïowanej Update List of Packets in Real Time (uaktual-
niaj listÚ pakietów w czasie rzeczywistym) jest oczywiste; ponadto moĝe byÊ ona
poïÈczona z opcjÈ Automatic Scrolling in Live Capture (automatyczne przewijanie
w panelu Live Capture). Po wïÈczeniu obu opcji na ekranie wyĂwietlÈ siÚ wszyst-
kie przechwycone pakiety, przy czym przechwytywane pakiety bÚdÈ wyĂwietlane
natychmiast.
OSTRZE¿ENIE
PoïÈczenie opcji Update List of Packets in Real Time i Automatic Scrolling in Live
Capture moĝe spowodowaÊ znaczne obciÈĝenie procesora podczas przechwyty-
wania duĝych iloĂci danych. Jeĝeli nie masz szczególnego powodu do wyĂwietlania
pakietów w czasie rzeczywistym, najlepiej wyïÈcz obie opcje.
Opcja Hide Capture Info Dialog wyĂwietla maïe okno pokazujÈce liczbÚ oraz
wartoĂÊ procentowÈ pakietów przechwyconych dla danego protokoïu.
Sekcja Name Resolution
Opcje w tej sekcji umoĝliwiajÈ wïÈczenie automatycznego okreĂlania nazw MAC
(warstwa 2.), sieci (warstwa 3.) i transportu (warstwa 4.) dla przechwytywanych
danych. Szczegóïowe omówienie okreĂlania nazw w narzÚdziu Wireshark oraz
wad tego procesu zostanie przedstawione w rozdziale 5.
Uĝywanie filtrów
Filtry pozwalajÈ dokïadnie wskazaÊ dane, które chcesz przeanalizowaÊ. UjmujÈc
rzecz najproĂciej: filtr to wyraĝenie definiujÈce kryteria doïÈczania pakietów do
przechwyconych danych lub usuwania pakietów z tych danych. Jeĝeli dane zawie-
rajÈ nieinteresujÈce CiÚ pakiety, moĝesz utworzyÊ odpowiedni filtr powodujÈcy
pozbycie siÚ tych pakietów. JeĂli natomiast chcesz otrzymywaÊ wyïÈcznie okreĂlone
pakiety, wystarczy utworzyÊ filtr pokazujÈcy jedynie interesujÈce CiÚ pakiety.
NarzÚdzie Wireshark oferuje dwa podstawowe rodzaje filtrów:
Q Filtr przechwytywania zostaje zdefiniowany na poczÈtku operacji
przechwytywania danych i zawiera tylko te pakiety, które wskazano
do doïÈczenia w danym wyraĝeniu.
Q Filtr wyĂwietlania zostanie zastosowany wzglÚdem istniejÈcego zestawu
przechwyconych pakietów w celu ukrycia niepoĝÈdanych lub wyĂwietlenia
interesujÈcych CiÚ pakietów na podstawie okreĂlonego wyraĝenia.
W pierwszej kolejnoĂci zapoznamy siÚ z plikami zawierajÈcymi przechwy-
cone dane.
P r a c a z p r z e c h w y c o n y m i p a k i e t a m i
83
Pliki zawierajÈce przechwycone dane
Pliki zawierajÈce przechwycone dane sÈ uĝywane we faktycznym procesie prze-
chwytywania pakietów. Jednym z podstawowych powodów uĝywania filtru prze-
chwytywania jest zachowanie maksymalnej wydajnoĂci dziaïania. Jeĝeli wiesz, ĝe
nie bÚdziesz analizowaï okreĂlonych form ruchu sieciowego, moĝesz odfiltrowaÊ
jego dane za pomocÈ filtru przechwytywania. W ten sposób zaoszczÚdzisz nieco
mocy procesora, która musiaïaby zostaÊ wykorzystana do przechwycenia nieinte-
resujÈcych CiÚ pakietów.
MoĝliwoĂÊ utworzenia wïasnych filtrów przechwytywania jest bardzo uĝy-
teczna w przypadku obsïugi ogromnych iloĂci danych. Proces analizy moĝna znacz-
nie przyĂpieszyÊ poprzez zagwarantowanie, ĝe patrzysz tylko na te pakiety, które
majÈ zwiÈzek z rozwiÈzywanym problemem.
Prosty przykïad uĝycia filtru przechwytywania to sytuacja, w której prze-
chwytujesz ruch z serwera sieciowego o wielu rolach. PrzypuĂÊmy, ĝe rozwiÈ-
zujesz problem z usïugÈ udostÚpnianÈ na porcie 262. Jeĝeli analizowany serwer
udostÚpnia takĝe wiele innych usïug na róĝnych portach, to wyszukanie i prze-
analizowanie ruchu przepïywajÈcego jedynie przez port 262 bÚdzie samo w sobie
juĝ wymagajÈcym zadaniem. Aby przechwyciÊ jedynie ruch przepïywajÈcy przez
port 262, moĝesz uĝyÊ filtru przechwytywania. W tym celu przejdě do omówio-
nego wczeĂniej okna dialogowego Capture Options i wykonaj nastÚpujÈce kroki:
1. Wybierz opcjÚ menu Capture/Interfaces i naciĂnij przycisk Options
znajdujÈcy siÚ obok nazwy interfejsu, z którego chcesz przechwyciÊ dane.
2. Wybierz interfejs, z którego bÚdÈ przechwytywane pakiety, a nastÚpnie
wskaĝ filtr przechwytywania.
3. Filtr przechwytywania moĝesz zastosowaÊ poprzez podanie odpowiedniego
wyraĝenia w polu tekstowym znajdujÈcym siÚ obok przycisku Capture Filter.
W omawianym przykïadzie interesuje nas tylko ruch przepïywajÈcy
przez port 262, zatem w polu tym wpisujemy port 262, jak pokazano
na rysunku 4.10. (Wprowadzone tutaj wyraĝenie zostanie dokïadnie
omówione w kolejnej sekcji).
4. Po zdefiniowaniu filtru wystarczy nacisnÈÊ przycisk Start rozpoczynajÈcy
przechwytywanie pakietów.
Po zebraniu odpowiedniej wielkoĂci próbki danych zobaczysz, ĝe próbka
zawiera jedynie dane ruchu sieciowego przepïywajÈcego przez port 262. DziÚki
temu moĝesz znacznie efektywniej przeprowadziÊ analizÚ tych danych.
Przechwytywanie i skïadnia BPF
Filtry przechwytywania sÈ stosowane przez WinPcap i uĝywajÈ skïadni BPF (ang.
Berkeley Packet Filter). Skïadnia ta jest stosowana w wielu aplikacjach typu sniffer
pakietów najczÚĂciej z powodu wykorzystywania przez te aplikacje bibliotek
libpcap/WinPcap, które pozwalajÈ na stosowanie skïadni BPF. ZnajomoĂÊ skïadni
BPF ma wiÚc znacznie krytyczne, jeĂli chcesz zagïÚbiÊ siÚ w sieÊ na poziomie
pakietów.
84
R o z d z i a ï 4
Rysunek 4.10. Zdefiniowanie filtru przechwytywania w oknie dialogowym
Capture Options
Filtr utworzony z uĝyciem skïadni BPF jest nazywany wyraĝeniem, a kaĝde
wyraĝenie skïada siÚ z co najmniej jednego skïadnika podstawowego. Z kolei
skïadniki skïadajÈ siÚ z co najmniej jednego kwalifikatora (kwalifikatory wymie-
niono w tabeli 4.2) wraz z identyfikatorem, jak pokazano na rysunku 4.11.
Tabela 4.2. Kwalifikatory skïadni BPF
Kwalifikator Opis
typ
kierunek
protokóï
okreĂla nazwÚ lub numer identyfikatora, do którego
siÚ odwoïuje
okreĂla kierunek transmisji do urzÈdzenia o podanej nazwie
lub identyfikatorze albo od takiego urzÈdzenia
ogranicza dopasowanie do konkretnego protokoïu
Przykïady
host, net, port
src, dst
ether, ip, tcp,
udp, http, ftp
BiorÈc pod uwagÚ komponenty wyraĝenia, kwalifikator src i identyfikator
192.168.0.10 tworzÈ postaÊ skïadnika podstawowego. Taki skïadnik jest wyraĝe-
niem, które spowoduje przechwycenie ruchu sieciowego pochodzÈcego jedynie
z adresu IP 192.168.0.10.
P r a c a z p r z e c h w y c o n y m i p a k i e t a m i
85
Rysunek 4.11. Prosty filtr przechwytywania
W celu ïÈczenia skïadników i tworzenia bardziej zaawansowanych wyraĝeñ
moĝesz wykorzystaÊ operatory logiczne. Poniĝej wymieniono trzy operatory logiczne
dostÚpne podczas tworzenia wyraĝeñ:
Q operator konkatenacji AND ( );
Q operator alternatywy OR (||);
Q operator negacji NOT (!).
Przykïadowo: poniĝsze wyraĝenie spowoduje przechwycenie ruchu sieciowego
pochodzÈcego z adresu IP 192.168.0.10 oraz z portu 80 lub do tego portu:
src 192.168.0.10 port 80
Filtr nazwy komputera i adresu
WiÚkszoĂÊ tworzonych przez Ciebie filtrów bÚdzie dotyczyïa danego urzÈdzenia
sieciowego lub grupy urzÈdzeñ. W zaleĝnoĂci od sytuacji filtrowanie moĝe opie-
raÊ siÚ na adresie MAC urzÈdzenia, adresie IPv4, IPv6 lub nazwie komputera
DNS.
Przykïadowo: chcesz siÚ dowiedzieÊ, jaki ruch sieciowy przepïywa przez
okreĂlony komputer podczas komunikacji z serwerem znajdujÈcym siÚ w danej
sieci. Dla serwera moĝesz wiÚc utworzyÊ filtr, uĝywajÈc kwalifikatora host. Tak
przygotowany filtr bÚdzie przechwytywaï caïy ruch sieciowy zwiÈzany z adresem
IPv4 interesujÈcego CiÚ komputera:
host 172.16.16.149
Jeĝeli w sieci uĝywasz protokoïu IPv6, to uĝyty w kwalifikatorze host filtr musi
opieraÊ siÚ na adresie IPv6, jak przedstawiono poniĝej:
host 2001:db8:85a3::8a2e:370:7334
86
R o z d z i a ï 4
W kwalifikatorze host moĝna takĝe uĝyÊ filtru opartego na nazwie komputera,
na przykïad:
host serwertestowy2
JeĂli masz obawy, ĝe adres IP interesujÈcego CiÚ komputera moĝe ulec zmia-
nie, moĝesz przygotowaÊ filtr równieĝ na podstawie adresu MAC urzÈdzenia,
podajÈc kwalifikator ether:
ether host 00-1a-a0-52-e2-a0
Kwalifikatory kierunku transmisji danych sÈ bardzo czÚsto uĝywane w poïÈ-
czeniu z powyĝszymi przykïadami w celu przechwytywania ruchu przychodzÈcego
do okreĂlonego komputera lub wychodzÈcego z niego. Przykïadowo: aby prze-
chwyciÊ jedynie ruch przychodzÈcy do danego komputera, moĝna uĝyÊ kwalifi-
katora src:
src host 172.16.16.149
Aby przechwyciÊ jedynie dane opuszczajÈce serwer o adresie 172.16.16.149
i przeznaczone dla danego komputera, moĝesz uĝyÊ kwalifikatora dst:
dst host 172.16.16.149
Kiedy nie podajesz kwalifikatora typu (host, net lub port) wraz ze skïadnikiem
podstawowym, domyĂlnie zakïada siÚ, ĝe zostaï uĝyty kwalifikator host. Dlatego
poniĝsze wyraĝenie jest odpowiednikiem zaprezentowanego w poprzednim przy-
kïadzie:
dst 172.16.16.149
Filtry portów
Oprócz filtrowania na podstawie komputerów moĝna przeprowadziÊ filtrowanie
na podstawie portów uĝywanych w pakietach. Filtrowanie na podstawie portów
moĝna wykorzystaÊ do filtrowania na podstawie usïug i aplikacji uĝywajÈcych
standardowych portów. Poniĝej przedstawiono prosty filtr przechwytujÈcy jedy-
nie ruch przepïywajÈcy przez port 8080:
port 8080
W celu przechwycenia caïego ruchu sieciowego poza przepïywajÈcym przez
port 8080 moĝna wykorzystaÊ nastÚpujÈce wyraĝenie:
P r a c a z p r z e c h w y c o n y m i p a k i e t a m i
87
!port 8080
Filtr portu moĝna poïÈczyÊ z kwalifikatorem kierunku transmisji danych.
Przykïadowo: aby przechwyciÊ jedynie ruch sieciowy przychodzÈcy do serwera
WWW nasïuchujÈcego na standardowym porcie HTTP 80, naleĝy uĝyÊ kwalifi-
katora dst:
dst port 80
Filtry protokoïów
Filtry protokoïów umoĝliwiajÈ filtrowanie pakietów na podstawie okreĂlonych
protokoïów. SÈ wykorzystywane w celu dopasowania protokoïów innych niĝ war-
stwy aplikacji, przy czym te protokoïy nie mogÈ byÊ zdefiniowane poprzez poda-
nie okreĂlonego portu. Dlatego jeĝeli chcesz zobaczyÊ jedynie ruch sieciowy ICMP,
moĝesz uĝyÊ nastÚpujÈcego filtru:
icmp
Aby zobaczyÊ caïy ruch sieciowy poza IPv6, naleĝy uĝyÊ filtru:
!ip6
Filtry pola protokoïu
Prawdziwa potÚga skïadni BPF kryje siÚ w moĝliwoĂci przeanalizowania kaĝdego
bajta nagïówka protokoïu w celu utworzenia szczegóïowych filtrów opartych na
tych danych. Omówione w tej sekcji filtry zaawansowane umoĝliwiajÈ pobieranie
okreĂlonej liczby bajtów z pakietu rozpoczynajÈcego siÚ we wskazanym poïoĝeniu.
Przykïadowo: chcesz przeprowadziÊ filtrowanie na podstawie pola typu nagïówka
ICMP. Pole to znajduje siÚ na poczÈtku pakietu, czyli jego pozycja wynosi 0. Aby
okreĂliÊ konkretne poïoĝenie w pakiecie, naleĝy podaÊ konkretnÈ pozycjÚ, uĝy-
wajÈc do tego nawiasu kwadratowego umieszczonego obok kwalifikatora proto-
koïu — w omawianym przykïadzie to icmp[0]. WartoĂciÈ zwrotnÈ bÚdzie jedno-
bajtowa liczba caïkowita, wzglÚdem której moĝemy przeprowadziÊ operacjÚ
porównania. Na przykïad aby pobraÊ jedynie pakiety ICMP okreĂlajÈce, ĝe pakiet
nie dotarï do celu (typ 3), w wyraĝeniu filtru naleĝy uĝyÊ operatora równoĂci, co
przedstawiono poniĝej:
icmp[0] == 3
88
R o z d z i a ï 4
W celu przeanalizowania jedynie pakietów ICMP przedstawiajÈcych ĝÈdania
echo (typ 8) lub odpowiedzi na nie (typ 0) naleĝy uĝyÊ dwóch skïadników pod-
stawowych wraz z operatorem OR:
icmp[0] == 8 || icmp[0] == 0
Przedstawione powyĝej filtry dziaïajÈ doskonale, ale przeprowadzajÈ filtrowa-
nie jedynie na podstawie jednobajtowych informacji pochodzÈcych z nagïówka
pakietu. Na szczÚĂcie moĝna równieĝ okreĂliÊ wielkoĂÊ danych zwracanych przez
wyraĝenie filtru poprzez jej podanie w nawiasie kwadratowym tuĝ po wartoĂci
okreĂlajÈcej pozycjÚ. Obie liczby muszÈ byÊ rozdzielone dwukropkiem.
Przykïadowo: chcemy utworzyÊ filtr przechwytujÈcy wszystkie pakiety ICMP,
które nie dotarïy do celu — sÈ oznaczone jako typ 3 i kod 1. To jednobajtowe pola
umieszczone obok siebie w pozycji 0 nagïówka pakietu. Naszym celem jest wiÚc
utworzenie filtru sprawdzajÈcego dwa bajty danych znajdujÈce siÚ na poczÈtku
nagïówka pakietu (pozycja wynosi 0) i porównanie ich wzglÚdem wartoĂci szes-
nastkowej 0301 (typ 3, kod 1). Wyraĝenie ma wiÚc nastÚpujÈcÈ postaÊ:
icmp[0:2] == 0x0301
Bardzo czÚsto zdarza siÚ przechwytywanie jedynie pakietów TCP wraz z usta-
wionÈ opcjÈ RST. Szczegóïowe omówienie protokoïu TCP znajdziesz w roz-
dziale 6. Teraz musisz jedynie wiedzieÊ, ĝe opcje pakietu TCP sÈ umieszczone
w pozycji 13. To interesujÈce pole, poniewaĝ jako pole opcji ma wielkoĂÊ jednego
bajta, a poszczególne opcje sÈ identyfikowane za pomocÈ pojedynczych bitów
w tym bajcie. W pakiecie TCP moĝna ustawiÊ jednoczeĂnie wiele opcji, co ozna-
cza brak moĝliwoĂci efektywnego filtrowania za pomocÈ prostego wyraĝenia
tcp[13], poniewaĝ ten bit RST mógï zostaÊ ustawiony z róĝnych powodów. Dla-
tego konieczne jest dokïadne wskazanie w bajcie poïoĝenia, które ma zostaÊ prze-
analizowane. W tym celu do skïadnika naleĝy doïÈczyÊ znak i podaÊ poïoĝenie
tego skïadnika. Opcja RST jest przedstawiana za pomocÈ bitu o liczbie 4. Gotowy
filtr ma nastÚpujÈcÈ postaÊ:
tcp[13] 4 == 4
Aby zobaczyÊ wszystkie pakiety wraz z ustawionÈ opcjÈ PSH, która w oma-
wianym bajcie jest przedstawiona za pomocÈ bitu znajdujÈcego siÚ w poïoĝeniu 8,
filtr powinien mieÊ postaÊ:
tcp[13] 8 == 8
P r a c a z p r z e c h w y c o n y m i p a k i e t a m i
89
Przykïadowe wyraĝenia filtrów przechwytywania danych
Przekonasz siÚ, ĝe sukces lub poraĝka podczas analizy pakietów bardzo czÚsto
zaleĝy od Twoich moĝliwoĂci w dziedzinie tworzenia filtrów odpowiednich do
danej sytuacji. W tabeli 4.3 wymieniono kilka przykïadowych filtrów przechwy-
tywania danych, których uĝywam najczÚĂciej.
Tabela 4.3. NajczÚĂciej uĝywane filtry przechwytywania danych
Filtr
Opis
tcp[13] 32 == 32
tcp[13] 16 == 16
tcp[13] 8 == 8
tcp[13] 4 == 4
tcp[13] 2 == 2
tcp[13] 1 == 1
tcp[13] == 18
ether host 00:00:00:00:00:00
(adres zastÈp swoim adresem MAC)
!ether host 00:00:00:00:00:00
(adres zastÈp swoim adresem MAC)
broadcast
icmp
icmp[0:2] == 0x0301
ip
ip6
udp
pakiety TCP wraz z ustawionÈ opcjÈ URG
pakiety TCP wraz z ustawionÈ opcjÈ ACK
pakiety TCP wraz z ustawionÈ opcjÈ PSH
pakiety TCP wraz z ustawionÈ opcjÈ RST
pakiety TCP wraz z ustawionÈ opcjÈ SYN
pakiety TCP wraz z ustawionÈ opcjÈ FIN
pakiety TCP SYN-ACK
ruch do podanego adresu MAC oraz z tego adresu
ruch, który nie przychodzi do podanego adresu MAC
oraz nie wychodzi z niego
tylko ruch rozgïaszajÈcy
tylko ruch ICMP
urzÈdzenie docelowe ICMP jest niedostÚpne,
komputer jest niedostÚpny
tylko ruch IPv4
tylko ruch IPv6
tylko ruch UDP
Filtry wyĂwietlania
Filtr wyĂwietlania to ten, który po zastosowaniu wzglÚdem pliku zawierajÈcego
przechwycone dane nakazuje narzÚdziu Wireshark wyĂwietlenie jedynie pakie-
tów speïniajÈcych kryteria tego filtru. Filtr wyĂwietlania moĝna zdefiniowaÊ
w polu Filter znajdujÈcym siÚ nad panelem Packet List.
Filtry wyĂwietlania sÈ uĝywane czÚĂciej niĝ filtry przechwytywania danych,
poniewaĝ pozwalajÈ filtrowaÊ pakiety bez rzeczywistego pominiÚcia pozostaïych
danych zebranych w pliku. W ten sposób, jeĂli bÚdziesz musiaï powróciÊ do poczÈt-
kowego zbioru zebranych danych, wystarczy po prostu usunÈÊ wyraĝenie filtru.
Filtr wyĂwietlania moĝesz wykorzystaÊ do ukrycia nieistotnego w danej chwili
ruchu sieciowego zebranego w pliku przechwyconych danych. Przykïadowo:
moĝesz ukryÊ ruch pakietów ARP w panelu Packet List, kiedy te pakiety nie majÈ
ĝadnego zwiÈzku z aktualnie rozwiÈzywanym problemem. Jednak poniewaĝ pakiety
ARP mogÈ byÊ uĝyteczne póěniej, lepszym rozwiÈzaniem jest ich tymczasowe
ukrycie zamiast trwaïego usuniÚcia.
90
R o z d z i a ï 4
Aby odfiltrowaÊ wszystkie pakiety ARP w oknie przechwytywania, po prostu
umieĂÊ kursor w polu tekstowym Filter znajdujÈcym siÚ na górze panelu Packet
List, a nastÚpnie wprowadě wyraĝenie !arp, które spowoduje ukrycie wszystkich
pakietów ARP w panelu Packet List (zob. rysunek 4.12). UsuniÚcie filtru nastÚpuje
po naciĂniÚciu przycisku Clear.
Rysunek 4.12. Utworzenie filtru wyĂwietlania za pomocÈ pola Filter
znajdujÈcego siÚ nad panelem Packet List
Okno dialogowe Filter Expression
Pokazane na rysunku 4.13 okno dialogowe Filter Expression znacznie uïatwia
poczÈtkujÈcym uĝytkownikom narzÚdzia Wireshark tworzenie filtrów przechwy-
tywania danych i filtrów wyĂwietlania. Aby wyĂwietliÊ to okno, naleĝy nacisnÈÊ
przycisk Capture Filter w oknie dialogowym Capture Options, a nastÚpnie przycisk
Expression.
Rysunek 4.13. Okno dialogowe Filter Expression umoĝliwia ïatwe tworzenie filtrów
w narzÚdziu Wireshark
Po lewej stronie okna dialogowego znajdujÈ siÚ wszystkie dostÚpne do uĝycia
protokoïy. W tych polach moĝna okreĂliÊ wszystkie moĝliwe kryteria filtru. Aby
utworzyÊ filtr, wykonaj nastÚpujÈce kroki:
P r a c a z p r z e c h w y c o n y m i p a k i e t a m i
91
1. W celu wyĂwietlenia kryteriów zwiÈzanych z danym protokoïem rozwiñ
ten protokóï, klikajÈc symbol plusa znajdujÈcy siÚ obok jego nazwy.
Po znalezieniu szukanego kryterium, na którym bÚdzie oparty filtr,
kliknij je w celu zaznaczenia.
2. NastÚpnie okreĂl, w jaki sposób wybrane kryterium bÚdzie zaleĝaïo od
zdefiniowanej dla niego wartoĂci. DostÚpne opcje to: równy, wiÚkszy niĝ,
mniejszy niĝ itd.
3. Utwórz wyraĝenie filtru poprzez podanie wartoĂci kryterium, która bÚdzie
miaïa zwiÈzek z wybranym polem. TÚ wartoĂÊ moĝesz zdefiniowaÊ sam
lub moĝesz wybraÊ jednÈ ze zdefiniowanych w narzÚdziu Wireshark.
4. Na koñcu kliknij przycisk OK i wyĂwietl tekstowÈ wersjÚ przygotowanego
filtru.
Okno dialogowe Filter Expression to doskonaïa pomoc dla poczÈtkujÈcych
uĝytkowników. Po nabyciu pewnej wprawy przekonasz siÚ, ĝe rÚczne tworzenie
wyraĝeñ filtrów znacznie zwiÚksza ich efektywnoĂÊ. Skïadnia wyraĝenia filtru
wyĂwietlania jest bardzo prosta i daje ogromne moĝliwoĂci.
Struktura skïadni wyraĝenia filtru (trudniejszy sposób)
Filtry przechwytywania lub wyĂwietlania danych najczÚĂciej bÚdziesz wykorzy-
stywaï do przeprowadzania filtrowania na podstawie danego protokoïu. Zaïóĝmy,
ĝe rozwiÈzujesz problem zwiÈzany z TCP, wiÚc w pliku zawierajÈcym przechwy-
cone dane chcesz widzieÊ tylko ruch sieciowy TCP. W takim przypadku prosty
filtr tcp jest idealnym rozwiÈzaniem.
Spójrzmy jednak na to z innej strony. Wyobraě sobie, ĝe w trakcie procesu
usuwania problemu zwiÈzanego z TCP bardzo czÚsto uĝywasz polecenia ping,
generujÈc w ten sposób znacznÈ iloĂÊ ruchu sieciowego ICMP. Ruch ICMP moĝesz
ukryÊ w pliku zawierajÈcym przechwycone dane poprzez uĝycie wyraĝenia filtru
o postaci !icmp.
Operatory porównania umoĝliwiajÈ porównywanie wartoĂci. Przykïadowo:
podczas usuwania problemów w sieciach TCP/IP bardzo czÚsto zachodzi potrzeba
wyĂwietlenia wszystkich pakietów odwoïujÈcych siÚ do konkretnego adresu IP.
Operator porównania (==) pozwala na utworzenie filtru wyĂwietlajÈcego wszystkie
pakiety powiÈzane z adresem IP, na przykïad 192.168.0.1:
ip.addr==192.168.0.1
Zaïóĝmy, ĝe chcesz wyĂwietliÊ tylko te pakiety, których wielkoĂÊ jest mniejsza
niĝ 128 bajtów. W takim przypadku moĝna uĝyÊ operatora „mniejszy lub równy”
( =) w celu przygotowania nastÚpujÈcego wyraĝenia filtru:
frame.len = 128
92
R o z d z i a ï 4
Operatory porównania wykorzystywane w narzÚdziu Wireshark zostaïy wymie-
nione w tabeli 4.4.
Operatory logiczne pozwalajÈ
Pobierz darmowy fragment (pdf)