Professional Documents
Culture Documents
Danuta Duszeńczuk
Sprawozdanie z projektu
„Analizator sieciowy WireShark”
1. Wprowadzenie
1.1 Czym jest WireShark, gdzie można znaleźć o nim dodatkowe informacje
WireShark, znany do czerwca 2006 pod nazwą Ethereal, jest programem służącym do analizy
ruchu sieciowego oraz poznania i analizy wybranych protokołów sieciowych. Należy do grupy tzw.
snifferów, często stosowanych przez hakerów do podsłuchu i przechwytywania danych. Jego
podstawową zaletą jest to, że jest programem wieloplatformowym (obsługuje go kilka systemów
operacyjnych), posiada obok interfejsu tekstowego także graficzny – GUI, a ponadto
rozprowadzany jest na licencji GNU GPL. Jeśli nie posiadamy interfejsu graficznego (lub
jesteśmy przyzwyczajeni do korzystania z narzędzi do analizy sieci udostępnionych przez
Microsoft w wierszu komend), powinniśmy zainteresować się „TShark”, który jest
bezokienkową wersją WireShark. TShark wspiera tą samą funkcjonalność co WireShark i
w pakiecie instalacyjnym dla systemu Windows jest domyślnie również instalowany na
komputerze użytkownika (w dalszej części projektu krótko opiszę, jak umożliwić jego
wywołanie z wiersza poleceń). Niestety, WireShark do dzisiaj nie doczekał się polonizacji.
Brakuje też kompletnego i kompetentnego przewodnika po programie w języku polskim.
http://www.wireshark.org/download.html
http://www.wireshark.org/docs/wsug_html_chunked/
http://openmaniak.com/pl/wireshark.php
WAŻNE. WireShark obecnie nie posiada wsparcia dla sieci bezprzewodowych bluetooth:
http://wiki.wireshark.org/CaptureSetup/Bluetooth
Celem projektu jest poznanie możliwości programu WireShark (Ethereal) w pracy administratora
sieci, jak i zwykłego użytkownika – narzędzia oferowane przez program są bardzo przydatne,
pomagają na przykład zwiększyć bezpieczeństwo sieci i świadomość użytkowników, odnośnie jej
działania. Okazują się również niezwykle pomocne w przypadkach włamań do sieci (ułatwiają
namierzenie intruzów) czy też zlokalizowania źródła problemów. Każda analiza poszczególnych
funkcjonalności programu WireShark została zobrazowana przeze mnie stosownym zrzutem
ekranu wraz z komentarzem.
1
Danuta Duszeńczuk, gr. 11 IiE, I rok, nr indeksu 130701
Informatyka Ekonomiczna. Sieci komputerowe – lista zadań nr 2. WIRESHARK.
1.4 Suplement
WireShark, a dokładnie jego tekstowy odpowiednik TShark, domyślnie nie jest dostępny z poziomu wiersza
poleceń. Aby można go było wywołać z menu Start / Uruchom / cmd, wpisując tshark parametr, należy:
2
Danuta Duszeńczuk, gr. 11 IiE, I rok, nr indeksu 130701
Informatyka Ekonomiczna. Sieci komputerowe – lista zadań nr 2. WIRESHARK.
By móc korzystać z WireShark/TShark i przechwytywać ruch sieciowy, należy zainstalować bibliotekę pcap
(w trakcie instalacji program sam powinien zalecić zainstalowanie WinPcap; bibliotekę można też pobrać
ręcznie ze strony: http://www.winpcap.org/install/default.htm) i pracować w systemie z ustawionymi prawami
administratora.
Bibliotekę pcap i jej sterownik NPF uruchamiamy, wpisując komendę sc config npf start= auto
Powinniśmy otrzymać informację [SC] ChangeServiceConfig SUCCESS
Odtąd Wireshark/TShark może być uruchamiany i wykorzystywany nawet z poziomu użytkownika. Ułatwia to
pracę, jednak niesie ze sobą pewne zagrożenie, gdyż każdy użytkownik może potencjalnie przechwycić ruch
w sieci. Można też uruchamiać i wyłączać działanie bibliotek i sterownika NPF przed uruchomieniem i po
wyłączeniu WireShark/TShark. Jest to bezpieczniejsze rozwiązanie, po zakończeniu pracy inni użytkownicy
nie mają już możliwości przechwycenia ruchu w sieci.
Szczegółowy wykaz i opis podstawowych komend wiersza poleceń dla TShark wraz z ich
parametrami można znaleźć pod adresem:
http://www.wireshark.org/docs/wsug_html_chunked/ChCustCommandLine.html
3
Danuta Duszeńczuk, gr. 11 IiE, I rok, nr indeksu 130701
Informatyka Ekonomiczna. Sieci komputerowe – lista zadań nr 2. WIRESHARK.
2. Zadania do wykonania
1. Uruchomić program ping dla stacji z tej samej podsieci oraz dla stacji z innej
podsieci podając adres domenowy. Przeanalizować w pliku przechwyconych
danych protokoły ARP, ICMP, DNS.
Log z WireShark – Wireshark nie zarejestrował wykorzystania DNS, bo nie był on konieczny:
Opis:
4
Danuta Duszeńczuk, gr. 11 IiE, I rok, nr indeksu 130701
Informatyka Ekonomiczna. Sieci komputerowe – lista zadań nr 2. WIRESHARK.
ARP to skrót od Adress Resolution Protocol. Jest jednym z protokołów komunikacyjnych TCP/IP,
który na podstawie ruchu w sieci lokalnej rozpoznaje logicznie przypisany 32-bitowy adres IP jako
adres dostępu fizycznego urządzenia lub nośnika (48-bitowe adresy MAC) – jest więc stosowany
do rozpoznawania adresów urządzeń w sieci. Jest również stosowany do rozpoznawania adresów
sieci Ethernet/802.3 lub Token Ring jako adresów urządzeń w sieci.
ICMP (ang. Internet Control Message Protocol) to internetowy protokół pełniący funkcję kontroli
transmisji w sieci; jest protokołem warstwy sieciowej OSI/TCP/IP wykorzystywanym w diagnostyce
sieci oraz trasowaniu w programach ping oraz traceroute. Zgłasza błędy łączności między hostami.
Lista typów wiadomości dostępna pod:
http://pl.wikipedia.org/wiki/ICMP#Lista_typ.C3.B3w_wiadomo.C5.9Bci
5
Danuta Duszeńczuk, gr. 11 IiE, I rok, nr indeksu 130701
Informatyka Ekonomiczna. Sieci komputerowe – lista zadań nr 2. WIRESHARK.
Log z WireSharp:
Zadań nie rozwiązywałam chronologicznie, dlatego czym dokładnie jest protokół DNS i jakie
spełnia funkcje, zostało przeze mnie opisane w przykładzie zadania 6.
6
Danuta Duszeńczuk, gr. 11 IiE, I rok, nr indeksu 130701
Informatyka Ekonomiczna. Sieci komputerowe – lista zadań nr 2. WIRESHARK.
Opis:
Określenie rekordu PTR dla nazwy hosta w domenie in-addr.arpa (IPv4), który odpowiada
adresowi IP 192.168.0.100 w wierszu no 26, pozwala na implementację odwrotnej translacji
adresów DNS (ang. reverse DNS lookup). Dzięki temu zamieniane są adresy zrozumiałe dla
urządzeń tworzących sieć na adresy znane użytkownikom Internetu (czyli z IP 82.143.159.7 na
nazwę www.ue.wroc.pl). Komunikacja zachodzi na portach 59630 oraz 53.
7
Danuta Duszeńczuk, gr. 11 IiE, I rok, nr indeksu 130701
Informatyka Ekonomiczna. Sieci komputerowe – lista zadań nr 2. WIRESHARK.
...
8
Danuta Duszeńczuk, gr. 11 IiE, I rok, nr indeksu 130701
Informatyka Ekonomiczna. Sieci komputerowe – lista zadań nr 2. WIRESHARK.
Transmission Control Protocol, Src Port: http (80), Dst Port: rfio (3147), Seq: 51101, Ack: 607, Len: 994
[Reassembled TCP Segments (52094 bytes): #8(1460), #9(1460), #10(1460), #12(1460), #13(1460),
#15(1460), #16(1460), #18(1460), #19(1460), #21(1460), #22(1460), #24(1460), #25(1460), #27(1460),
#28(1460), #30(1460), #31(1460), #33(1460), #34]
Hypertext Transfer Protocol
Line-based text data: text/html
Opis:
No 60 – stacja o adresie IP 156.17.118.245, która jest serwerem www, udziela odpowiedzi HTTP,
iż żądanie zostało w tym wypadku zaakceptowanie i następuje zwrócenie zawartości do stacji o IP
192.168.0.100.
9
Danuta Duszeńczuk, gr. 11 IiE, I rok, nr indeksu 130701
Informatyka Ekonomiczna. Sieci komputerowe – lista zadań nr 2. WIRESHARK.
Do zadania wybrałam serwer swojej strony internetowej mieszczącej się pod adresem
brulion.yoyo.pl – do serwera mam dostęp poprzez program Total Commander Power Pack 7.5a.
Zrzut logów w WireShark po połączeniu się z serwerem FTP i wgraniu pliku:
Opis:
FTP (ang. File Transfer Protocol – Protokół Transferu Plików) jest to ośmiobitowy protokół typu
klient-serwer, który umożliwia przesyłanie plików z serwera i na serwer poprzez sieć TCP/IP. Do
komunikacji wykorzystywane są dwa połączenia TCP. Jedno z nich jest połączeniem kontrolnym,
10
Danuta Duszeńczuk, gr. 11 IiE, I rok, nr indeksu 130701
Informatyka Ekonomiczna. Sieci komputerowe – lista zadań nr 2. WIRESHARK.
za pomocą którego przesyłane są np. polecenia do serwera (przez port 21), drugie natomiast służy
do transmisji danych m.in. plików (port 20). FTP działa w dwóch trybach: aktywnym i pasywnym, w
zależności od tego, w jakim jest trybie, używa innych portów do komunikacji.
W przypadku logu dla wgrywania pliku na serwer fragment raportu wygląda następująco:
11
Danuta Duszeńczuk, gr. 11 IiE, I rok, nr indeksu 130701
Informatyka Ekonomiczna. Sieci komputerowe – lista zadań nr 2. WIRESHARK.
Opis flag ACK, SEQ i FIN przy protokole TCP zamieściłam w kolejnym zadaniu, przy
omówieniu zasad jego działania.
12
Danuta Duszeńczuk, gr. 11 IiE, I rok, nr indeksu 130701
Informatyka Ekonomiczna. Sieci komputerowe – lista zadań nr 2. WIRESHARK.
Opis:
0000 64 31 3a 61 64 32 3a 69 64 32 30 3a e3 42 f6 d6 d1:ad2:id20:.B..
0010 f1 5b 1a 53 f9 09 00 15 95 cd 30 54 b0 33 16 99 .[.S......0T.3..
0020 65 31 3a 71 34 3a 70 69 6e 67 31 3a 74 38 3a 85 e1:q4:ping1:t8:.
0030 3e 83 9f b1 9d 38 dc 31 3a 79 31 3a 71 65 >....8.1:y1:qe
UDP (ang. User Datagram Protocol). Datagramowy Protokół Użytkownika jest jednym z
podstawowych protokołów internetowych. Umieszcza się go w tzw. warstwie transportu. Jest to
protokół bezpołączeniowy, który nie ma mechanizmów kontroli przepływu i retransmisji.
Wykorzystywany przy wideokonferencjach, grach sieciowych i komunikatorach.
13
Danuta Duszeńczuk, gr. 11 IiE, I rok, nr indeksu 130701
Informatyka Ekonomiczna. Sieci komputerowe – lista zadań nr 2. WIRESHARK.
DNS (ang. Domain Name System) to system nazw domenowych, protokół komunikacyjny oraz
usługa polegająca na zamianie adresów znanych użytkownikom Internetu (a więc opisowych, w
formie ciągu znaków, np. www.ue.wroc.pl) na adresy IP zrozumiałe dla urządzeń tworzących sieć
komputerową. Możemy wyróżnić dwa rodzaje zapytań DNS: rekurencyjne, które wymusza na
serwerze znalezienie potrzebnej informacji lub zwrócenia wiadomości o błędzie (najczęściej
podania przez serwer adresu IP poszukiwanego hosta) oraz iteracyjne, które wymaga od serwera
jedynie podania najlepszej dostępnej mu w danej chwili odpowiedzi. Każde zapytanie czy też
odpowiedź serwera na nie muszą się zawierać w jednym pakiecie UDP. Struktura zwracanego
komunikatu DNS to kolejno: nagłówek, zapytanie do serwera nazw, odpowiedź na zapytanie,
wskazanie serwerów zwierzchnich dla domeny oraz sekcja informacji dodatkowych.
No 3 – stacja o adresie IP 192.168.0.100 wysyła zapytanie jako pakiet UDP portem 65188 do
serwera o IP 82.143.159.7 (appmsg.gadu-gadu.pl – komunikator Tlen ma wbudowaną obsługę
kont komunikatora Gadu-Gadu) – port docelowy to domena o nr 53.
W przypadku przesyłu no 5 i 6 sytuacja jest analogiczna, dotyczy jednak obsługi kont tlenowych
(idi.tlen.pl). Po zainicjowaniu tych połączeń użytkownik ma możliwość wysyłania wiadomości do
osób ze swoich list kontaktowych.
14
Danuta Duszeńczuk, gr. 11 IiE, I rok, nr indeksu 130701
Informatyka Ekonomiczna. Sieci komputerowe – lista zadań nr 2. WIRESHARK.
TCP (ang. Transmission Control Protocol – protokół kontroli transmisji) jest to strumieniowy
protokół komunikacji między dwoma komputerami (klient-serwer), odpowiedzialny za warstwę
transportu. W przeciwieństwie do UDP, TCP gwarantuje dostarczenie wszystkich pakietów w
całości, z zachowaniem ich kolejności.
Inne flagi, jakie mogą wystąpić w przypadku TCP, to FIN (od finished – zakończony), która
informuje o prawidłowym zakończeniu połączenia (najczęściej po otrzymaniu pakietu z flagą FIN,
druga strona również kończy komunikację wysyłając pakiet z flagami FIN i ACK – widać to np. w
przykładzie z wgrywaniem pliku na serwer FTP w zadaniu wcześniejszym, wiersz raportu no 40)
czy też RST (reset), która występuje przy awaryjnym przerwaniu połączenia.
15
Danuta Duszeńczuk, gr. 11 IiE, I rok, nr indeksu 130701
Informatyka Ekonomiczna. Sieci komputerowe – lista zadań nr 2. WIRESHARK.
IAX (ang. Inter-Asterisk eXchange) to protokół binarny VoIP stworzony w celu łączenia central
Asterisk (oprogramowanie centrali telefonicznej serwera VoIP na licencji GPL). Na początku
stosowany był głównie przy łączeniu central, jednak stosuje go coraz więcej telefonów
sprzętowych i programowych. Jego unikalną cechą jest możliwość łączenia kilku sesji połączeń
telefonicznych między dwiema centralami w jeden strumień UDP, gdzie w jednym pakiecie
przesyłane są dane dla kilku rozmów. IAX domyślnie korzysta z portu 4569.
16
Danuta Duszeńczuk, gr. 11 IiE, I rok, nr indeksu 130701
Informatyka Ekonomiczna. Sieci komputerowe – lista zadań nr 2. WIRESHARK.
HTTPS (ang. HyperText Transfer Protocol Secure) to szyfrowana wersja protokołu HTTP. Zamiast
używać w komunikacji klient-serwer niezaszyfrowanego tekstu, szyfruje go za pomocą protokołu
SSL. Zapobiega to przechwytywaniu i zmienianiu przesyłanych danych. HTTPS działa domyślnie
na porcie nr 443 w protokole TCP.
Opis:
OCSP (ang. Online Certificate Status Protocol) to protokół komunikacyjny pomiędzy systemem
informatycznym odbiorcy usług certyfikacyjnych a serwerem usługowym. Protokół ten określa
format i strukturę zapytania (żądania) o status certyfikatu oraz format i strukturę odpowiedzi
(tokenu), która zawiera wynik weryfikacji w postaci statusu: „poprawny”, „unieważniony”,
„nieznany”. Na powyższym przykładzie no 13 host o IP 192.168.0.100 takie żądanie do stacji o IP
199.7.71.72 (z portu 3404 do 80). Przesyła w tym celu m.in. informacje o przeglądarce (sekcja
user-agent), żądanie zaakceptowania standardów m.in. kodowania znaków (sekcja Accept-
Charset), języka (accept-language), utrzymania i długości sesji (Keep-Alive).
Ostatnim zbadanym przeze mnie protokołem jest TLS (ang. Transport Layer Security) – przyjęte
jako standard w Internecie rozwinięcie protokołu SSL (ang. Secure Socket Layer), które ma na
celu zapewnienie poufności i integralności transmisji danych oraz zapewnienie uwierzytelnienia.
TLS opiera się na szyfrach asymetrycznych, tzn. klucz służący do szyfrowania jest udostępniany
publicznie (klucz publiczny), ale informację nim zakodowaną może odczytać tylko posiadacz
klucza deszyfrującego (klucz prywatny), który nie jest nikomu ujawniany.
Poniżej fragment z pliku przechwyconych danych:
17
Danuta Duszeńczuk, gr. 11 IiE, I rok, nr indeksu 130701
Informatyka Ekonomiczna. Sieci komputerowe – lista zadań nr 2. WIRESHARK.
...
3. Wnioski
WireShark to rozbudowany analizator ruchu sieciowego o przyjaznym dla użytkownika interfejsie.
Jego obsługa jest bardzo intuicyjna, a w przypadku sytuacji problemowych użytkownik zawsze
może sięgnąć po wyczerpujący tutorial przygotowany przez producenta. Udostępnia praktyczne
narzędzia do analizy i przechowywania danych odnośnie przechwyconego ruchu sieciowego; jego
raporty możemy dowolnie filtrować (np. gdy chcemy uzyskać wykaz połączeń tylko według
protokołu FTP, albo połączenia z jakimś konkretnym hostem), przeglądać w formie statystyk, a
także eksportować np. do plików txt.
Praca z tym programem uświadomiła mi, jak ważne jest szyfrowanie sieci. Z jednej strony bowiem
WireShark może służyć jako potężne narzędzie administracyjne, z drugiej strony jednak – jako
groźne narzędzie w rękach hakera. Logi w programie bezlitośnie wyświetlają poufne informacje o
problemach z portami czy też hasła i nazwy użytkowników – do serwerów FTP, komunikatorów,
klientów pocztowych. W przypadku komunikatorów można nawet przechwycić całe konwersacje
nieświadomych niczego użytkowników.
W związku z tym na pewno warto bliżej zainteresować się tematyką bezpieczeństwa sieci.
http://www.pcworld.pl/artykuly/55637/Arsenal.antyhakera.html
http://www.pcworld.pl/artykuly/56525_0_1/Najgorsze.komunikatory.html
http://www.pctips.pl/artykuly/57125/Gadulamacze.i.podsluchiwacze.html
http://www.pzb.net.pl/index.php/Zagrozenia/Sniffing-podstepny-problem-w-zakresie-
bezpieczenstwa.html
http://home.elka.pw.edu.pl/~wmazurcz/moja/art/KSTiT2007.pdf
http://www.hsc.fr/ressources/articles/hakin9_wifi/hakin9_wifi_PL.pdf
http://www.netfocus.pl/raporty/wi-fi/co-widac-w-niezabezpieczonej-sieci-wi-fi
18