# » course » networking-fundamentals » Topic.12

Podstawy analizy ruchu sieciowego (WireShark)

Program WireShark (dawniej Ethereal) służy do analizy ruchu sieciowego. Jest to popularny sniffer dostępny bezpłatnie na wiele systemów operacyjnych. Sniffer to narzędzie pozwalające przechwytywać pakiety, analizować wydajność sieci, testować ją, budować raporty oraz wykonywać szereg innych, niezwykle przydatnych dla administratora, zadań.

Analizatory sieciowe umożliwiają dokładną analizę przesyłanych danych w podsieci, do której jest podłączony komputer z odpowiednim programem. Można dzięki temu uzyskać informacje o rodzaju usług i protokołach wykorzystywanych w sieci, adresach komputerów z którymi się łączą użytkownicy danej podsieci, treści przesyłanych danych, itd. Umożliwia to lepsze zrozumienie działania sieci, ułatwia ewentualną lokalizację błędów lub intruzów, daje informacje służące do poprawy działania sieci lub jej modernizacji.

Sniffery są też jednymi z ulubionych narzędzi sieciowych włamywaczy. W sieci lokalnej, poprzez odpowiednią manipulację jej infrastrukturą, np. za pomocą ARP poisoningu, pozwalają przechwytywać pakiety innych użytkowników i w ten sposób ich podsłuchiwać.

Filtrowanie danych

Pełna dokumentacja filtrów dostępna jest pod adresem: https://www.wireshark.org/docs/dfref/

Przykład filtrowania danych w programie Wireshark

  1. Główne okno programu. Wybieramy z listy dostępnych w systemie kart sieciowych tą przy pomocy której chcemy przechwytywać ruch
  2. Program automatycznie zacznie pokazywać przechwycone dane pokazując numer kolejny, czas, źródło, cel transmisji, protokół, długość (wielkość) i dodatkowe informacje. Tak długo jak nie zatrzymamy przechwytywania program będzie pobierał i pokazywał nowe pakiety.
  3. Po wpisaniu w okno filtru frazy: ssl program pokaże tylko ruch zaszyfrowany. W tym przypadku jest to TLSv1.2.
  4. Po wpisaniu w okno filtru frazy: ftp program nic nie pokazał. Nie było w tym czasie transmisji z użyciem tego protokołu.
  5. Po wpisaniu w okno filtru frazy: dns uzyskujemy inny widok ruchu sieciowego związanego tym razem z protokołem DNS.
  6. Po wpisaniu w okno filtru frazy: http możemy zobaczyć niezaszyfrowaną transmisję przy użyciu protokołu HTTPv1.1.
    Analizowanie pojedynczego pakietu nie daje wglądu w całość transmisji, która z pewnością była pofragmentowana i przesyłana za pomocą wielu pakietów. Możemy "poskładać" transmisję wybierając z menu kontekstowego opcję Podążaj a następnie Strumień TCP lub Strumień HTTP w zależności od rodzaju protokołu jaki chcemy podejrzeć.
  7. Program złoży z pakietów transmisję pokazując: żądanie od klienta (czerwone) i odpowiedź od serwera (niebieskie).
  8. Widać wyraźnie nagłówki żądania i odpowiedzi oraz przesyłane dane.
  9. Wynik działania programu możemy zapisać do późniejszej analizy.
  10. Po ponownym uruchomieniu programów na liście ostatnio zapisanych przechwytywań widać zapisany uprzednio plik. Kilka minut analizy pozwoliło wytworzyć plik o rozmiarze 17 MB.
  11. Po otworzeniu mamy te same dane jak przed zapisaniem z tą różnicą, że nie pojawiają się nowe dane, program działa w trybie offline.