1/56
tshark - analiza z wiersza poleceń

Prezentacja dotyczy narzędzia tshark - terminalowej wersji Wireshark do automatyzacji analizy ruchu sieciowego. Omówiono instalację, podstawową składnię, przechwytywanie z filtrami BPF oraz zaawansowane formaty wyjściowe, takie jak JSON, CSV, XML i PDML. Przedstawiono także statystyki wbudowane (-z) oraz praktyczne przykłady automatyzacji analizy za pomocą skryptów.

tshark CLI - grafika tytułowa

Narzędzie tshark jest integralną częścią ekosystemu Wireshark i stanowi podstawowe narzędzie do automatyzacji analizy ruchu sieciowego w środowiskach serwerowych oraz wbudowanych. Dzięki możliwości pracy w trybie wsadowym tshark doskonale nadaje się do integracji z systemami monitorującymi, skryptami bash oraz potokami przetwarzania danych w językach Python czy Perl.

W odróżnieniu od graficznego interfejsu Wireshark, tshark pozwala na przetwarzanie tysięcy plików pcap bez potrzeby interakcji z użytkownikiem, co czyni go niezastąpionym w środowiskach produkcyjnych. Znajomość tego narzędzia jest kluczowa dla każdego inżyniera sieciowego zajmującego się diagnostyką i monitorowaniem infrastruktury IT.

2/56
Plan części 5

Plan części 5

  • Czym jest tshark?
  • Instalacja i podstawowa składnia
  • Przechwytywanie i zapis
  • Filtry BPF i filtry wyświetlania
  • Formaty wyjściowe (fields, JSON, CSV, XML, PDML, PSML)
  • Wyodrębnianie pól protokołów
  • Statystyki wbudowane (-z)
  • Automatyzacja i skrypty
  • Przykłady praktyczne
  • Porównanie tshark vs tcpdump
  • Podsumowanie i pytania kontrolne
Mapa myśli - plan prezentacji

Narzędzie tshark jest integralną częścią ekosystemu Wireshark i stanowi podstawowe narzędzie do automatyzacji analizy ruchu sieciowego w środowiskach serwerowych oraz wbudowanych. Dzięki możliwości pracy w trybie wsadowym tshark doskonale nadaje się do integracji z systemami monitorującymi, skryptami bash oraz potokami przetwarzania danych w językach Python czy Perl.

W odróżnieniu od graficznego interfejsu Wireshark, tshark pozwala na przetwarzanie tysięcy plików pcap bez potrzeby interakcji z użytkownikiem, co czyni go niezastąpionym w środowiskach produkcyjnych. Znajomość tego narzędzia jest kluczowa dla każdego inżyniera sieciowego zajmującego się diagnostyką i monitorowaniem infrastruktury IT.

3/56
tshark – CLI Wireshark

Czym jest tshark?

tshark to narzędzie wiersza poleceń do przechwytywania i analizy pakietów sieciowych. Jest częścią pakietu Wireshark.

  • Pełna funkcjonalność Wireshark w terminalu
  • Przechwytywanie na żywo i analiza offline
  • Obsługa filtrów BPF i filtrów wyświetlania
  • Eksport do JSON, CSV, XML, PDML, PSML
  • Wyodrębnianie dowolnych pól protokołów
  • Statystyki wbudowane (IO, conversations, endpoints)
  • Idealny do automatyzacji i skryptów
tshark to to samo co Wireshark, tylko bez GUI – wszystkie funkcje analityczne są dostępne z linii poleceń.
Zrzut terminala z tshark

Narzędzie tshark jest integralną częścią ekosystemu Wireshark i stanowi podstawowe narzędzie do automatyzacji analizy ruchu sieciowego w środowiskach serwerowych oraz wbudowanych. Dzięki możliwości pracy w trybie wsadowym tshark doskonale nadaje się do integracji z systemami monitorującymi, skryptami bash oraz potokami przetwarzania danych w językach Python czy Perl.

W odróżnieniu od graficznego interfejsu Wireshark, tshark pozwala na przetwarzanie tysięcy plików pcap bez potrzeby interakcji z użytkownikiem, co czyni go niezastąpionym w środowiskach produkcyjnych. Znajomość tego narzędzia jest kluczowa dla każdego inżyniera sieciowego zajmującego się diagnostyką i monitorowaniem infrastruktury IT.

4/56
Instalacja tshark na Windows

Instalacja tshark na Windows

tshark wchodzi w skład pakietu Wireshark:

  1. Pobierz i uruchom instalator Wireshark z https://www.wireshark.org/
  2. Podczas instalacji zaznacz komponent TShark (domyślnie zaznaczony)
  3. Instalator doda ścieżkę do zmiennej PATH (opcjonalnie, ale zalecane)
  4. Po instalacji uruchom PowerShell/cmd i wpisz: tshark --version

Sprawdzenie działania:

tshark --version
TShark (Wireshark) 4.2.5 (v4.2.5-0-g5a8b4c9d4e36)
Można też zainstalować tylko TShark osobno (np. przy pomocy Chocolatey: `choco install wireshark`).
Okno instalatora z zaznaczonym TShark

Narzędzie tshark jest integralną częścią ekosystemu Wireshark i stanowi podstawowe narzędzie do automatyzacji analizy ruchu sieciowego w środowiskach serwerowych oraz wbudowanych. Dzięki możliwości pracy w trybie wsadowym tshark doskonale nadaje się do integracji z systemami monitorującymi, skryptami bash oraz potokami przetwarzania danych w językach Python czy Perl.

W odróżnieniu od graficznego interfejsu Wireshark, tshark pozwala na przetwarzanie tysięcy plików pcap bez potrzeby interakcji z użytkownikiem, co czyni go niezastąpionym w środowiskach produkcyjnych. Znajomość tego narzędzia jest kluczowa dla każdego inżyniera sieciowego zajmującego się diagnostyką i monitorowaniem infrastruktury IT.

5/56
Instalacja tshark na Linux

Instalacja tshark na Linux

# Debian/Ubuntu
sudo apt install tshark

# Fedora/RHEL
sudo dnf install wireshark-cli

# Arch Linux
sudo pacman -S wireshark-cli

Po instalacji sprawdź, czy tshark jest dostępny:

tshark -D  # lista interfejsów

Może być wymagane dodanie użytkownika do grupy wireshark:

sudo usermod -a -G wireshark $USER
Zrzut terminala z instalacją i testem tshark

Narzędzie tshark jest integralną częścią ekosystemu Wireshark i stanowi podstawowe narzędzie do automatyzacji analizy ruchu sieciowego w środowiskach serwerowych oraz wbudowanych. Dzięki możliwości pracy w trybie wsadowym tshark doskonale nadaje się do integracji z systemami monitorującymi, skryptami bash oraz potokami przetwarzania danych w językach Python czy Perl.

W odróżnieniu od graficznego interfejsu Wireshark, tshark pozwala na przetwarzanie tysięcy plików pcap bez potrzeby interakcji z użytkownikiem, co czyni go niezastąpionym w środowiskach produkcyjnych. Znajomość tego narzędzia jest kluczowa dla każdego inżyniera sieciowego zajmującego się diagnostyką i monitorowaniem infrastruktury IT.

6/56
Składnia ogólna

Składnia ogólna

tshark [opcje] [filtr]

Najważniejsze opcje:

  • -i <interfejs> – wybór interfejsu do przechwytywania
  • -r <plik> – odczyt pliku pcap/pcapng
  • -c <N> – limit pakietów (N pakietów)
  • -w <plik> – zapis do pliku
  • -Y <filtr> – display filter przy odczycie
  • -f <filtr> – capture filter (BPF)
  • -T <format> – format wyjściowy
  • -e <pole> – wyodrębniane pole
  • -z <statystyka> – statystyki
Schemat blokowy: wejście → tshark → wyjście

Narzędzie tshark jest integralną częścią ekosystemu Wireshark i stanowi podstawowe narzędzie do automatyzacji analizy ruchu sieciowego w środowiskach serwerowych oraz wbudowanych. Dzięki możliwości pracy w trybie wsadowym tshark doskonale nadaje się do integracji z systemami monitorującymi, skryptami bash oraz potokami przetwarzania danych w językach Python czy Perl.

W odróżnieniu od graficznego interfejsu Wireshark, tshark pozwala na przetwarzanie tysięcy plików pcap bez potrzeby interakcji z użytkownikiem, co czyni go niezastąpionym w środowiskach produkcyjnych. Znajomość tego narzędzia jest kluczowa dla każdego inżyniera sieciowego zajmującego się diagnostyką i monitorowaniem infrastruktury IT.

7/56
Wybór interfejsu

Wybór interfejsu

Lista dostępnych interfejsów:

tshark -D
1. \Device\NPF_{...} (Ethernet0)
2. \Device\NPF_{...} (Wi-Fi)
3. \Device\NPF_{...} (Loopback)

Przechwytywanie z konkretnego interfejsu:

tshark -i 2
tshark -i "Wi-Fi"
tshark -i eth0

Jeśli nie podasz -i, tshark użyje pierwszego interfejsu (lub wyświetli błąd, gdy nie ma interfejsu).

Zrzut terminala – tshark -D

Narzędzie tshark jest integralną częścią ekosystemu Wireshark i stanowi podstawowe narzędzie do automatyzacji analizy ruchu sieciowego w środowiskach serwerowych oraz wbudowanych. Dzięki możliwości pracy w trybie wsadowym tshark doskonale nadaje się do integracji z systemami monitorującymi, skryptami bash oraz potokami przetwarzania danych w językach Python czy Perl.

W odróżnieniu od graficznego interfejsu Wireshark, tshark pozwala na przetwarzanie tysięcy plików pcap bez potrzeby interakcji z użytkownikiem, co czyni go niezastąpionym w środowiskach produkcyjnych. Znajomość tego narzędzia jest kluczowa dla każdego inżyniera sieciowego zajmującego się diagnostyką i monitorowaniem infrastruktury IT.

8/56
Analiza offline

Odczyt pliku pcap

Odczyt zapisanego wcześniej pliku pcap/pcapng:

tshark -r plik.pcap

tshark wyświetli listę pakietów (liczba, czas, źródło, cel, protokół, info).

Przykład wyniku:

    1   0.000000 192.168.1.100 → 192.168.1.1  DNS 80 Standard query 0x1234 A example.com
    2   0.015234 192.168.1.1 → 192.168.1.100 DNS 120 Standard query response 0x1234 A 93.184.216.34
    3   0.120456 192.168.1.100 → 93.184.216.34 TCP 74 49152 → 80 [SYN] Seq=0 Win=65535
Zrzut terminala z tshark -r

Narzędzie tshark jest integralną częścią ekosystemu Wireshark i stanowi podstawowe narzędzie do automatyzacji analizy ruchu sieciowego w środowiskach serwerowych oraz wbudowanych. Dzięki możliwości pracy w trybie wsadowym tshark doskonale nadaje się do integracji z systemami monitorującymi, skryptami bash oraz potokami przetwarzania danych w językach Python czy Perl.

W odróżnieniu od graficznego interfejsu Wireshark, tshark pozwala na przetwarzanie tysięcy plików pcap bez potrzeby interakcji z użytkownikiem, co czyni go niezastąpionym w środowiskach produkcyjnych. Znajomość tego narzędzia jest kluczowa dla każdego inżyniera sieciowego zajmującego się diagnostyką i monitorowaniem infrastruktury IT.

9/56
Ograniczenie liczby pakietów

Limit pakietów

Opcja -c zatrzymuje przechwytywanie po N pakietach:

# Przechwyć 100 pakietów z interfejsu eth0
tshark -i eth0 -c 100

# Odczytaj pierwsze 50 pakietów z pliku
tshark -r plik.pcap -c 50

Przydatne do:

  • Szybkich testów przechwytywania
  • Ograniczenia czasu oczekiwania
  • Pobrania próbki ruchu
Zrzut terminala z tshark -c 5

Narzędzie tshark jest integralną częścią ekosystemu Wireshark i stanowi podstawowe narzędzie do automatyzacji analizy ruchu sieciowego w środowiskach serwerowych oraz wbudowanych. Dzięki możliwości pracy w trybie wsadowym tshark doskonale nadaje się do integracji z systemami monitorującymi, skryptami bash oraz potokami przetwarzania danych w językach Python czy Perl.

W odróżnieniu od graficznego interfejsu Wireshark, tshark pozwala na przetwarzanie tysięcy plików pcap bez potrzeby interakcji z użytkownikiem, co czyni go niezastąpionym w środowiskach produkcyjnych. Znajomość tego narzędzia jest kluczowa dla każdego inżyniera sieciowego zajmującego się diagnostyką i monitorowaniem infrastruktury IT.

10/56
Zapis przechwyconych pakietów

Zapis do pliku

# Przechwyć i zapisz do pliku pcapng
tshark -i eth0 -c 1000 -w wyjscie.pcapng

# Zastosuj capture filter przed zapisem
tshark -i eth0 -f "port 80" -w http.pcapng

Domyślny format: pcapng (nowy, zalecany).

Jeśli chcesz pcap (starszy):

tshark -i eth0 -w wyjscie.pcap -F pcap

Opcja -F wybiera format pliku.

Schemat: interfejs → tshark → plik pcapng

Narzędzie tshark jest integralną częścią ekosystemu Wireshark i stanowi podstawowe narzędzie do automatyzacji analizy ruchu sieciowego w środowiskach serwerowych oraz wbudowanych. Dzięki możliwości pracy w trybie wsadowym tshark doskonale nadaje się do integracji z systemami monitorującymi, skryptami bash oraz potokami przetwarzania danych w językach Python czy Perl.

W odróżnieniu od graficznego interfejsu Wireshark, tshark pozwala na przetwarzanie tysięcy plików pcap bez potrzeby interakcji z użytkownikiem, co czyni go niezastąpionym w środowiskach produkcyjnych. Znajomość tego narzędzia jest kluczowa dla każdego inżyniera sieciowego zajmującego się diagnostyką i monitorowaniem infrastruktury IT.

11/56
Filtrowanie przy odczycie

Filtr wyświetlania -Y

Opcja -Y stosuje display filter Wireshark podczas odczytu pliku:

# Tylko pakiety HTTP
tshark -r plik.pcap -Y http

# Tylko żądania GET
tshark -r plik.pcap -Y "http.request.method == GET"

# Tylko pakiety z błędami TCP
tshark -r plik.pcap -Y "tcp.analysis.retransmission"

Filtry wyświetlania są takie same jak w interfejsie graficznym Wireshark – pełna składnia.

-Y działa tylko przy odczycie pliku (-r). Do przechwytywania na żywo użyj -f (capture filter BPF).
Zrzut terminala – tylko pakiety HTTP

Narzędzie tshark jest integralną częścią ekosystemu Wireshark i stanowi podstawowe narzędzie do automatyzacji analizy ruchu sieciowego w środowiskach serwerowych oraz wbudowanych. Dzięki możliwości pracy w trybie wsadowym tshark doskonale nadaje się do integracji z systemami monitorującymi, skryptami bash oraz potokami przetwarzania danych w językach Python czy Perl.

W odróżnieniu od graficznego interfejsu Wireshark, tshark pozwala na przetwarzanie tysięcy plików pcap bez potrzeby interakcji z użytkownikiem, co czyni go niezastąpionym w środowiskach produkcyjnych. Znajomość tego narzędzia jest kluczowa dla każdego inżyniera sieciowego zajmującego się diagnostyką i monitorowaniem infrastruktury IT.

12/56
Filtr przechwytywania BPF

Filtr przechwytywania – filtry BPF

Opcja -f stosuje filtr Berkeley Packet Filter (BPF) podczas przechwytywania:

# Tylko ruch HTTP (port 80)
tshark -i eth0 -f "port 80"

# Tylko ruch z/do konkretnego hosta
tshark -i eth0 -f "host 192.168.1.1"

# Tylko pakiety TCP
tshark -i eth0 -f "tcp"

# Tylko ruch DNS (port 53)
tshark -i eth0 -f "port 53"

Capture filter odrzuca pakiety w jądrze – wydajniejszy niż display filter.

Schemat: pakiety → BPF w jądrze → tshark

Narzędzie tshark jest integralną częścią ekosystemu Wireshark i stanowi podstawowe narzędzie do automatyzacji analizy ruchu sieciowego w środowiskach serwerowych oraz wbudowanych. Dzięki możliwości pracy w trybie wsadowym tshark doskonale nadaje się do integracji z systemami monitorującymi, skryptami bash oraz potokami przetwarzania danych w językach Python czy Perl.

W odróżnieniu od graficznego interfejsu Wireshark, tshark pozwala na przetwarzanie tysięcy plików pcap bez potrzeby interakcji z użytkownikiem, co czyni go niezastąpionym w środowiskach produkcyjnych. Znajomość tego narzędzia jest kluczowa dla każdego inżyniera sieciowego zajmującego się diagnostyką i monitorowaniem infrastruktury IT.

13/56
Formaty wyjściowe

Formaty wyjściowe (-T)

Opcja -T określa format wyjściowy (domyślnie tekst):

FormatOpis
fieldsWybrane pola (wymaga -e)
jsonJSON – cały pakiet
jsonrawJSON z surowymi bajtami
pdmlPacket Details Markup Language (XML)
psmlPacket Summary Markup Language (XML)
ekElasticsearch JSON (bulk API)
tabsWynik z separatorami tabulacji
Do automatyzacji najczęściej używa się -T fields (CSV) lub -T json.
Diagram – różne formaty wyjściowe tshark

Narzędzie tshark jest integralną częścią ekosystemu Wireshark i stanowi podstawowe narzędzie do automatyzacji analizy ruchu sieciowego w środowiskach serwerowych oraz wbudowanych. Dzięki możliwości pracy w trybie wsadowym tshark doskonale nadaje się do integracji z systemami monitorującymi, skryptami bash oraz potokami przetwarzania danych w językach Python czy Perl.

W odróżnieniu od graficznego interfejsu Wireshark, tshark pozwala na przetwarzanie tysięcy plików pcap bez potrzeby interakcji z użytkownikiem, co czyni go niezastąpionym w środowiskach produkcyjnych. Znajomość tego narzędzia jest kluczowa dla każdego inżyniera sieciowego zajmującego się diagnostyką i monitorowaniem infrastruktury IT.

14/56
Wyodrębnianie pól

Wyodrębnianie konkretnych pól

W połączeniu z -T fields:

# Adresy IP źródła i celu
tshark -r plik.pcap -T fields -e ip.src -e ip.dst

# Numer pakietu + adresy IP + porty
tshark -r plik.pcap -T fields -e frame.number -e ip.src -e tcp.srcport -e ip.dst -e tcp.dstport

Każde -e dodaje jedno pole do wyniku.

Lista dostępnych pól:

tshark -G fields | grep -i "nazwa_pola"
Zrzut terminala – wynik -T fields

Narzędzie tshark jest integralną częścią ekosystemu Wireshark i stanowi podstawowe narzędzie do automatyzacji analizy ruchu sieciowego w środowiskach serwerowych oraz wbudowanych. Dzięki możliwości pracy w trybie wsadowym tshark doskonale nadaje się do integracji z systemami monitorującymi, skryptami bash oraz potokami przetwarzania danych w językach Python czy Perl.

W odróżnieniu od graficznego interfejsu Wireshark, tshark pozwala na przetwarzanie tysięcy plików pcap bez potrzeby interakcji z użytkownikiem, co czyni go niezastąpionym w środowiskach produkcyjnych. Znajomość tego narzędzia jest kluczowa dla każdego inżyniera sieciowego zajmującego się diagnostyką i monitorowaniem infrastruktury IT.

15/56
Opcje eksportu

Opcje eksportu dla -T fields

Opcja -E kontroluje formatowanie eksportu:

# Nagłówek + separator przecinek
tshark -r plik.pcap -T fields -e ip.src -e ip.dst -E header=y -E separator=,

# Cytowanie wartości (dla CSV)
tshark -r plik.pcap -T fields -e ip.src -e ip.dst -E header=y -E separator=, -E quote=d

# Bez nagłówka, separator tabulacji
tshark -r plik.pcap -T fields -e frame.number -e ip.src -E header=n -E separator=\t

Najważniejsze opcje -E:

  • header=y/n – czy wypisać nagłówek
  • separator= – separator kolumn (,, \t, |)
  • quote=d/s/n – cytowanie (d=podwójny, s=pojedynczy, n=brak)
Tabela z przykładami różnych formatów -E

Narzędzie tshark jest integralną częścią ekosystemu Wireshark i stanowi podstawowe narzędzie do automatyzacji analizy ruchu sieciowego w środowiskach serwerowych oraz wbudowanych. Dzięki możliwości pracy w trybie wsadowym tshark doskonale nadaje się do integracji z systemami monitorującymi, skryptami bash oraz potokami przetwarzania danych w językach Python czy Perl.

W odróżnieniu od graficznego interfejsu Wireshark, tshark pozwala na przetwarzanie tysięcy plików pcap bez potrzeby interakcji z użytkownikiem, co czyni go niezastąpionym w środowiskach produkcyjnych. Znajomość tego narzędzia jest kluczowa dla każdego inżyniera sieciowego zajmującego się diagnostyką i monitorowaniem infrastruktury IT.

16/56
Statystyki wbudowane -z

Statystyki -z

tshark zawiera wbudowane moduły statystyk (jak w Wireshark):

# Statystyki IO – pakiety na sekundę
tshark -r plik.pcap -z io,stat,1

# Rozmowy TCP
tshark -r plik.pcap -z conv,tcp

# Punkty końcowe IP
tshark -r plik.pcap -z endpoints,ip

# Hierarchia protokołów
tshark -r plik.pcap -z io,phs

W połączeniu z -q (quiet) – wyświetla tylko statystyki, bez listy pakietów.

Zrzut terminala z -z io,stat,1

Narzędzie tshark jest integralną częścią ekosystemu Wireshark i stanowi podstawowe narzędzie do automatyzacji analizy ruchu sieciowego w środowiskach serwerowych oraz wbudowanych. Dzięki możliwości pracy w trybie wsadowym tshark doskonale nadaje się do integracji z systemami monitorującymi, skryptami bash oraz potokami przetwarzania danych w językach Python czy Perl.

W odróżnieniu od graficznego interfejsu Wireshark, tshark pozwala na przetwarzanie tysięcy plików pcap bez potrzeby interakcji z użytkownikiem, co czyni go niezastąpionym w środowiskach produkcyjnych. Znajomość tego narzędzia jest kluczowa dla każdego inżyniera sieciowego zajmującego się diagnostyką i monitorowaniem infrastruktury IT.

17/56
Lista adresów IP z pliku

Lista adresów IP z pliku

# Wyodrębnij pary IP źródło → cel (CSV)
tshark -r plik.pcap -T fields -e ip.src -e ip.dst -E separator=, -E header=y

# Przykładowy wynik:
ip.src,ip.dst
192.168.1.100,192.168.1.1
192.168.1.1,192.168.1.100
192.168.1.100,93.184.216.34

Można przekierować do pliku CSV:

tshark -r plik.pcap -T fields -e ip.src -e ip.dst -E separator=, > ip_list.csv
Zrzut terminala – wynik CSV z adresami IP

Narzędzie tshark jest integralną częścią ekosystemu Wireshark i stanowi podstawowe narzędzie do automatyzacji analizy ruchu sieciowego w środowiskach serwerowych oraz wbudowanych. Dzięki możliwości pracy w trybie wsadowym tshark doskonale nadaje się do integracji z systemami monitorującymi, skryptami bash oraz potokami przetwarzania danych w językach Python czy Perl.

W odróżnieniu od graficznego interfejsu Wireshark, tshark pozwala na przetwarzanie tysięcy plików pcap bez potrzeby interakcji z użytkownikiem, co czyni go niezastąpionym w środowiskach produkcyjnych. Znajomość tego narzędzia jest kluczowa dla każdego inżyniera sieciowego zajmującego się diagnostyką i monitorowaniem infrastruktury IT.

18/56
Eksport do JSON

Eksport do JSON

# Eksport całego pliku do JSON
tshark -r plik.pcap -T json > plik.json

# Tylko wybrane pakiety (z display filtrem)
tshark -r plik.pcap -Y http -T json > http.json

# JSON raw – surowe bajty w hex
tshark -r plik.pcap -T jsonraw > plik_raw.json

Struktura JSON zawiera wszystkie pola każdego pakietu – idealne do dalszej obróbki w Python, Node.js.

JSON jest ~5–10x większy niż równoważny CSV – używaj go tylko gdy potrzebujesz pełnej struktury.
Fragment pliku JSON w edytorze

Narzędzie tshark jest integralną częścią ekosystemu Wireshark i stanowi podstawowe narzędzie do automatyzacji analizy ruchu sieciowego w środowiskach serwerowych oraz wbudowanych. Dzięki możliwości pracy w trybie wsadowym tshark doskonale nadaje się do integracji z systemami monitorującymi, skryptami bash oraz potokami przetwarzania danych w językach Python czy Perl.

W odróżnieniu od graficznego interfejsu Wireshark, tshark pozwala na przetwarzanie tysięcy plików pcap bez potrzeby interakcji z użytkownikiem, co czyni go niezastąpionym w środowiskach produkcyjnych. Znajomość tego narzędzia jest kluczowa dla każdego inżyniera sieciowego zajmującego się diagnostyką i monitorowaniem infrastruktury IT.

19/56
Eksport do CSV

Eksport do CSV

Najczęściej używany format do dalszej analizy:

# CSV z wybranymi polami + nagłówek
tshark -r plik.pcap -T fields -e frame.number -e ip.src -e ip.dst -e tcp.srcport -e tcp.dstport -E header=y -E separator=, -E quote=d > raport.csv

Gotowy plik CSV można otworzyć w:

  • Excel / LibreOffice Calc
  • Python (pandas.read_csv)
  • Power BI, Tableau
  • Splunk, ELK
Zawsze używaj -E quote=d przy eksporcie do CSV, aby uniknąć problemów z przecinkami w wartościach.
Plik CSV otwarty w Excelu

Narzędzie tshark jest integralną częścią ekosystemu Wireshark i stanowi podstawowe narzędzie do automatyzacji analizy ruchu sieciowego w środowiskach serwerowych oraz wbudowanych. Dzięki możliwości pracy w trybie wsadowym tshark doskonale nadaje się do integracji z systemami monitorującymi, skryptami bash oraz potokami przetwarzania danych w językach Python czy Perl.

W odróżnieniu od graficznego interfejsu Wireshark, tshark pozwala na przetwarzanie tysięcy plików pcap bez potrzeby interakcji z użytkownikiem, co czyni go niezastąpionym w środowiskach produkcyjnych. Znajomość tego narzędzia jest kluczowa dla każdego inżyniera sieciowego zajmującego się diagnostyką i monitorowaniem infrastruktury IT.

20/56
Formaty XML

Formaty XML

tshark obsługuje dwa formaty XML:

  • PDML (Packet Details Markup Language) – szczegółowa struktura pakietu (jak Packet Details w Wireshark)
  • PSML (Packet Summary Markup Language) – podsumowanie (jak Packet List w Wireshark)
# PDML – szczegóły pakietów
tshark -r plik.pcap -T pdml > szczegoly.xml

# PSML – lista pakietów
tshark -r plik.pcap -T psml > lista.xml

PDML zawiera pełną hierarchię protokołów – przydatne do transformacji XSLT.

Fragment pliku PDML w przeglądarce

Narzędzie tshark jest integralną częścią ekosystemu Wireshark i stanowi podstawowe narzędzie do automatyzacji analizy ruchu sieciowego w środowiskach serwerowych oraz wbudowanych. Dzięki możliwości pracy w trybie wsadowym tshark doskonale nadaje się do integracji z systemami monitorującymi, skryptami bash oraz potokami przetwarzania danych w językach Python czy Perl.

W odróżnieniu od graficznego interfejsu Wireshark, tshark pozwala na przetwarzanie tysięcy plików pcap bez potrzeby interakcji z użytkownikiem, co czyni go niezastąpionym w środowiskach produkcyjnych. Znajomość tego narzędzia jest kluczowa dla każdego inżyniera sieciowego zajmującego się diagnostyką i monitorowaniem infrastruktury IT.

21/56
Pola HTTP

Wyodrębnianie pól HTTP

# Host, URI, kod odpowiedzi, metoda
tshark -r plik.pcap -Y http -T fields -e http.host -e http.request.uri -e http.response.code -e http.request.method -E header=y -E separator=|

Przykład wyniku:

http.host|http.request.uri|http.response.code|http.request.method
example.com|/index.html|200|GET
example.com|/style.css|200|GET
example.com|/login|401|POST

Pozwala szybko uzyskać listę wszystkich żądań HTTP z pliku.

Zrzut terminala – lista żądań HTTP

Narzędzie tshark jest integralną częścią ekosystemu Wireshark i stanowi podstawowe narzędzie do automatyzacji analizy ruchu sieciowego w środowiskach serwerowych oraz wbudowanych. Dzięki możliwości pracy w trybie wsadowym tshark doskonale nadaje się do integracji z systemami monitorującymi, skryptami bash oraz potokami przetwarzania danych w językach Python czy Perl.

W odróżnieniu od graficznego interfejsu Wireshark, tshark pozwala na przetwarzanie tysięcy plików pcap bez potrzeby interakcji z użytkownikiem, co czyni go niezastąpionym w środowiskach produkcyjnych. Znajomość tego narzędzia jest kluczowa dla każdego inżyniera sieciowego zajmującego się diagnostyką i monitorowaniem infrastruktury IT.

22/56
Pola DNS

Wyodrębnianie pól DNS

# Zapytania DNS i odpowiedzi
tshark -r plik.pcap -Y dns -T fields -e dns.qry.name -e dns.a -e dns.flags.response -E header=y -E separator=,

Przykład wyniku:

dns.qry.name,dns.a,dns.flags.response
example.com,,0
example.com,93.184.216.34,1
google.com,,0
google.com,142.250.185.78,1

dns.qry.name – zapytana nazwa

dns.a – odpowiedź IPv4 (jeśli istnieje)

dns.flags.response – 0 = zapytanie, 1 = odpowiedź

Zrzut terminala – lista zapytań DNS

Narzędzie tshark jest integralną częścią ekosystemu Wireshark i stanowi podstawowe narzędzie do automatyzacji analizy ruchu sieciowego w środowiskach serwerowych oraz wbudowanych. Dzięki możliwości pracy w trybie wsadowym tshark doskonale nadaje się do integracji z systemami monitorującymi, skryptami bash oraz potokami przetwarzania danych w językach Python czy Perl.

W odróżnieniu od graficznego interfejsu Wireshark, tshark pozwala na przetwarzanie tysięcy plików pcap bez potrzeby interakcji z użytkownikiem, co czyni go niezastąpionym w środowiskach produkcyjnych. Znajomość tego narzędzia jest kluczowa dla każdego inżyniera sieciowego zajmującego się diagnostyką i monitorowaniem infrastruktury IT.

23/56
Pola TCP

Wyodrębnianie pól TCP

# Porty, flagi, numery sekwencyjne, okno
tshark -r plik.pcap -Y tcp -T fields -e tcp.srcport -e tcp.dstport -e tcp.flags.syn -e tcp.flags.ack -e tcp.flags.reset -e tcp.window_size_value

Najważniejsze pola TCP:

  • tcp.srcport / tcp.dstport – porty źródłowy i docelowy
  • tcp.flags.syn / .ack / .reset / .fin – flagi TCP
  • tcp.seq / tcp.ack – numery sekwencyjne
  • tcp.window_size_value – rozmiar okna TCP
  • tcp.analysis.retransmission – retransmisja (filtr)
Do flag TCP używa się pól tcp.flags.syn, tcp.flags.ack itd. – wartości 0 lub 1.
Schemat nagłówka TCP z zaznaczonymi polami

Narzędzie tshark jest integralną częścią ekosystemu Wireshark i stanowi podstawowe narzędzie do automatyzacji analizy ruchu sieciowego w środowiskach serwerowych oraz wbudowanych. Dzięki możliwości pracy w trybie wsadowym tshark doskonale nadaje się do integracji z systemami monitorującymi, skryptami bash oraz potokami przetwarzania danych w językach Python czy Perl.

W odróżnieniu od graficznego interfejsu Wireshark, tshark pozwala na przetwarzanie tysięcy plików pcap bez potrzeby interakcji z użytkownikiem, co czyni go niezastąpionym w środowiskach produkcyjnych. Znajomość tego narzędzia jest kluczowa dla każdego inżyniera sieciowego zajmującego się diagnostyką i monitorowaniem infrastruktury IT.

24/56
Szczegółowe protokoły

Widok szczegółowy protokołu

Opcja -O wyświetla szczegóły wybranych protokołów (jak Packet Details w Wireshark):

# Szczegóły HTTP dla każdego pakietu
tshark -r plik.pcap -Y http -O http

# Kilka protokołów jednocześnie
tshark -r plik.pcap -O "http,dns,tcp"

Wynik zawiera drzewiastą strukturę pola protokołu – jak w panelu Packet Details Wireshark.

Przydatne do szczegółowej analizy bez użycia -V (które pokazuje wszystko).

Zrzut terminala – szczegóły HTTP z -O

Narzędzie tshark jest integralną częścią ekosystemu Wireshark i stanowi podstawowe narzędzie do automatyzacji analizy ruchu sieciowego w środowiskach serwerowych oraz wbudowanych. Dzięki możliwości pracy w trybie wsadowym tshark doskonale nadaje się do integracji z systemami monitorującymi, skryptami bash oraz potokami przetwarzania danych w językach Python czy Perl.

W odróżnieniu od graficznego interfejsu Wireshark, tshark pozwala na przetwarzanie tysięcy plików pcap bez potrzeby interakcji z użytkownikiem, co czyni go niezastąpionym w środowiskach produkcyjnych. Znajomość tego narzędzia jest kluczowa dla każdego inżyniera sieciowego zajmującego się diagnostyką i monitorowaniem infrastruktury IT.

25/56
Pełne szczegóły – tryb verbose

Tryb verbose -V

# Wyświetl pełną strukturę każdego pakietu
tshark -r plik.pcap -V

# Tylko pierwszy pakiet z pełnymi szczegółami
tshark -r plik.pcap -c 1 -V

Opcja -V odpowiada kliknięciu pakietu w Wireshark i rozwinięciu wszystkich gałęzi Packet Details.

Pokazuje:

  • Frame (metadata)
  • Ethernet II (MAC, EtherType)
  • IP (wersja, długość, TTL, adresy)
  • TCP/UDP (porty, flagi, seq/ack)
  • Dane aplikacji (np. HTTP request/response)
Zrzut terminala – obszerny output -V

Narzędzie tshark jest integralną częścią ekosystemu Wireshark i stanowi podstawowe narzędzie do automatyzacji analizy ruchu sieciowego w środowiskach serwerowych oraz wbudowanych. Dzięki możliwości pracy w trybie wsadowym tshark doskonale nadaje się do integracji z systemami monitorującymi, skryptami bash oraz potokami przetwarzania danych w językach Python czy Perl.

W odróżnieniu od graficznego interfejsu Wireshark, tshark pozwala na przetwarzanie tysięcy plików pcap bez potrzeby interakcji z użytkownikiem, co czyni go niezastąpionym w środowiskach produkcyjnych. Znajomość tego narzędzia jest kluczowa dla każdego inżyniera sieciowego zajmującego się diagnostyką i monitorowaniem infrastruktury IT.

26/56
Podgląd hex pakietów

Hex dump -x

# Wyświetl hex + ASCII każdego pakietu
tshark -r plik.pcap -x

# Tylko jeden pakiet + hex
tshark -r plik.pcap -c 1 -x

Wynik wygląda jak w panelu Packet Bytes Wireshark:

0000  00 11 22 33 44 55 66 77 88 99 aa bb 08 00 45 00
0010  00 34 00 00 40 00 40 06 00 00 c0 a8 01 64 c0 a8
0020  01 01 00 50 00 00 00 00 00 00 00 00 00 00 50 02
0030  20 00 00 00 00 00 00 00

Przydatne do: analizy surowych danych, wykrycia ukrytych wzorców, badania błędów ramek.

Zrzut terminala z -x – hex dump

Narzędzie tshark jest integralną częścią ekosystemu Wireshark i stanowi podstawowe narzędzie do automatyzacji analizy ruchu sieciowego w środowiskach serwerowych oraz wbudowanych. Dzięki możliwości pracy w trybie wsadowym tshark doskonale nadaje się do integracji z systemami monitorującymi, skryptami bash oraz potokami przetwarzania danych w językach Python czy Perl.

W odróżnieniu od graficznego interfejsu Wireshark, tshark pozwala na przetwarzanie tysięcy plików pcap bez potrzeby interakcji z użytkownikiem, co czyni go niezastąpionym w środowiskach produkcyjnych. Znajomość tego narzędzia jest kluczowa dla każdego inżyniera sieciowego zajmującego się diagnostyką i monitorowaniem infrastruktury IT.

27/56
Opcje dodatkowe: -P i -q

Opcje -P i -q

-P – wyświetlanie pakietów również podczas zapisu do pliku (print):

# Wyświetlanie pakietów podczas zapisu do pliku
tshark -i eth0 -w wyjscie.pcapng -P

-q – quiet (cicho) – nie wyświetla listy pakietów, tylko statystyki / podsumowanie:

# Tylko statystyki IO, bez pakietów
tshark -r plik.pcap -q -z io,stat,1

# Tylko podsumowanie na koniec
tshark -r plik.pcap -q -z io,phs

-q + -z = idealne połączenie do generowania raportów.

Zrzut terminala z -q -z io,phs

Narzędzie tshark jest integralną częścią ekosystemu Wireshark i stanowi podstawowe narzędzie do automatyzacji analizy ruchu sieciowego w środowiskach serwerowych oraz wbudowanych. Dzięki możliwości pracy w trybie wsadowym tshark doskonale nadaje się do integracji z systemami monitorującymi, skryptami bash oraz potokami przetwarzania danych w językach Python czy Perl.

W odróżnieniu od graficznego interfejsu Wireshark, tshark pozwala na przetwarzanie tysięcy plików pcap bez potrzeby interakcji z użytkownikiem, co czyni go niezastąpionym w środowiskach produkcyjnych. Znajomość tego narzędzia jest kluczowa dla każdego inżyniera sieciowego zajmującego się diagnostyką i monitorowaniem infrastruktury IT.

28/56
Obsługiwane protokoły

Jakie protokoły obsługuje tshark?

# Lista wszystkich protokołów
tshark -G protocols

# Policz obsługiwane protokoły
tshark -G protocols | wc -l

tshark obsługuje 2000+ protokołów (tyle samo co Wireshark).

Lista zawiera:

  • Nazwę protokołu
  • Skrót (np. HTTP, TCP, DNS)
  • Nazwę pola w filtrze

Przykład fragmentu:

Protocols:
...
HTTP
HTTPS
ICMP
ICMPv6
TCP
TELNET
TFTP
UDP
...
Zrzut terminala – fragment listy protokołów

Narzędzie tshark jest integralną częścią ekosystemu Wireshark i stanowi podstawowe narzędzie do automatyzacji analizy ruchu sieciowego w środowiskach serwerowych oraz wbudowanych. Dzięki możliwości pracy w trybie wsadowym tshark doskonale nadaje się do integracji z systemami monitorującymi, skryptami bash oraz potokami przetwarzania danych w językach Python czy Perl.

W odróżnieniu od graficznego interfejsu Wireshark, tshark pozwala na przetwarzanie tysięcy plików pcap bez potrzeby interakcji z użytkownikiem, co czyni go niezastąpionym w środowiskach produkcyjnych. Znajomość tego narzędzia jest kluczowa dla każdego inżyniera sieciowego zajmującego się diagnostyką i monitorowaniem infrastruktury IT.

29/56
Lista pól protokołów

Lista wszystkich pól protokołów

# Lista pól (bardzo długa!)
tshark -G fields

# Szukaj pól związanych z HTTP
tshark -G fields | grep -i "http"

# Szukaj konkretnego pola
tshark -G fields | grep "ip.src"

Format wyjścia: nazwa_pola\ttyp\topis

Przykład:

ip.src   FT_IPv4   Source address
ip.dst   FT_IPv4   Destination address
tcp.port FT_UINT16 TCP Port

Przydatne, gdy szukasz dokładnej nazwy pola do opcji -e.

Zrzut terminala z grep http na liście pól

Narzędzie tshark jest integralną częścią ekosystemu Wireshark i stanowi podstawowe narzędzie do automatyzacji analizy ruchu sieciowego w środowiskach serwerowych oraz wbudowanych. Dzięki możliwości pracy w trybie wsadowym tshark doskonale nadaje się do integracji z systemami monitorującymi, skryptami bash oraz potokami przetwarzania danych w językach Python czy Perl.

W odróżnieniu od graficznego interfejsu Wireshark, tshark pozwala na przetwarzanie tysięcy plików pcap bez potrzeby interakcji z użytkownikiem, co czyni go niezastąpionym w środowiskach produkcyjnych. Znajomość tego narzędzia jest kluczowa dla każdego inżyniera sieciowego zajmującego się diagnostyką i monitorowaniem infrastruktury IT.

30/56
Pola warstwy łączowej

Pola warstwy łączowej (Ethernet)

# Adresy MAC i EtherType
tshark -r plik.pcap -T fields -e eth.src -e eth.dst -e eth.type

# Ramki broadcast/multicast
tshark -r plik.pcap -Y "eth.dst == ff:ff:ff:ff:ff:ff" -T fields -e eth.src -e frame.len

Przykład wyniku:

00:11:22:33:44:55  66:77:88:99:aa:bb  0x0800
ff:ff:ff:ff:ff:ff  00:11:22:33:44:55  0x0806

eth.type – 0x0800 (IPv4), 0x0806 (ARP), 0x86DD (IPv6).

Ramka Ethernet z zaznaczonymi polami

Narzędzie tshark jest integralną częścią ekosystemu Wireshark i stanowi podstawowe narzędzie do automatyzacji analizy ruchu sieciowego w środowiskach serwerowych oraz wbudowanych. Dzięki możliwości pracy w trybie wsadowym tshark doskonale nadaje się do integracji z systemami monitorującymi, skryptami bash oraz potokami przetwarzania danych w językach Python czy Perl.

W odróżnieniu od graficznego interfejsu Wireshark, tshark pozwala na przetwarzanie tysięcy plików pcap bez potrzeby interakcji z użytkownikiem, co czyni go niezastąpionym w środowiskach produkcyjnych. Znajomość tego narzędzia jest kluczowa dla każdego inżyniera sieciowego zajmującego się diagnostyką i monitorowaniem infrastruktury IT.

31/56
Pola warstwy aplikacji

Pola warstwy aplikacji – HTTP, DNS, DHCP

# HTTP – pełne informacje o żądaniu
tshark -r plik.pcap -Y http -T fields -e http.host -e http.request.uri -e http.response.code -e http.content_type -E separator=,

# DNS – nazwy zapytań i odpowiedzi
tshark -r plik.pcap -Y dns -T fields -e dns.qry.name -e dns.resp.name -e dns.a -E separator=,

# DHCP – adres IP przydzielony, maska, brama
tshark -r plik.pcap -Y dhcp -T fields -e dhcp.option.dhcp -e ip.src -e bootp.option.subnet_mask -e bootp.option.router -E separator=,

Dzięki tym polom można szybko wyodrębnić wszystkie interesujące informacje.

Trzy panele: HTTP, DNS, DHCP

Narzędzie tshark jest integralną częścią ekosystemu Wireshark i stanowi podstawowe narzędzie do automatyzacji analizy ruchu sieciowego w środowiskach serwerowych oraz wbudowanych. Dzięki możliwości pracy w trybie wsadowym tshark doskonale nadaje się do integracji z systemami monitorującymi, skryptami bash oraz potokami przetwarzania danych w językach Python czy Perl.

W odróżnieniu od graficznego interfejsu Wireshark, tshark pozwala na przetwarzanie tysięcy plików pcap bez potrzeby interakcji z użytkownikiem, co czyni go niezastąpionym w środowiskach produkcyjnych. Znajomość tego narzędzia jest kluczowa dla każdego inżyniera sieciowego zajmującego się diagnostyką i monitorowaniem infrastruktury IT.

32/56
tshark z bash – automatyzacja

tshark z bash – automatyzacja

#!/bin/bash
# Automatyczna analiza pliku pcap
PCAP_FILE=$1
OUTPUT_DIR="raport_$(date +%Y%m%d_%H%M%S)"
mkdir -p $OUTPUT_DIR

echo "Analizuję plik: $PCAP_FILE"

# Lista adresów IP
tshark -r "$PCAP_FILE" -T fields -e ip.src -e ip.dst -E separator=, -E header=y > "$OUTPUT_DIR/ip_list.csv"

# Statystyki protokołów
tshark -r "$PCAP_FILE" -q -z io,phs > "$OUTPUT_DIR/protocols.txt"

# Rozmowy TCP
tshark -r "$PCAP_FILE" -z conv,tcp > "$OUTPUT_DIR/tcp_conversations.txt"

echo "Raport zapisano w: $OUTPUT_DIR"
Schemat: plik pcap → skrypt → wiele plików raportowych

Narzędzie tshark jest integralną częścią ekosystemu Wireshark i stanowi podstawowe narzędzie do automatyzacji analizy ruchu sieciowego w środowiskach serwerowych oraz wbudowanych. Dzięki możliwości pracy w trybie wsadowym tshark doskonale nadaje się do integracji z systemami monitorującymi, skryptami bash oraz potokami przetwarzania danych w językach Python czy Perl.

W odróżnieniu od graficznego interfejsu Wireshark, tshark pozwala na przetwarzanie tysięcy plików pcap bez potrzeby interakcji z użytkownikiem, co czyni go niezastąpionym w środowiskach produkcyjnych. Znajomość tego narzędzia jest kluczowa dla każdego inżyniera sieciowego zajmującego się diagnostyką i monitorowaniem infrastruktury IT.

33/56
Przetwarzanie wielu plików

Przetwarzanie wielu plików pcap

#!/bin/bash
# Analiza wszystkich plików pcap w katalogu
for pcap in *.pcap; do
  echo "=== $pcap ==="
  tshark -r "$pcap" -q -z io,phs | head -20
  tshark -r "$pcap" -T fields -e ip.src -e ip.dst | sort | uniq -c | sort -rn | head -10
  echo ""
done

PowerShell odpowiednik:

Get-ChildItem *.pcap | ForEach-Object {
    Write-Host "=== $($_.Name) ==="
    tshark -r $_.FullName -q -z io,phs
}
Zrzut terminala – pętla przetwarzająca 3 pliki pcap

Narzędzie tshark jest integralną częścią ekosystemu Wireshark i stanowi podstawowe narzędzie do automatyzacji analizy ruchu sieciowego w środowiskach serwerowych oraz wbudowanych. Dzięki możliwości pracy w trybie wsadowym tshark doskonale nadaje się do integracji z systemami monitorującymi, skryptami bash oraz potokami przetwarzania danych w językach Python czy Perl.

W odróżnieniu od graficznego interfejsu Wireshark, tshark pozwala na przetwarzanie tysięcy plików pcap bez potrzeby interakcji z użytkownikiem, co czyni go niezastąpionym w środowiskach produkcyjnych. Znajomość tego narzędzia jest kluczowa dla każdego inżyniera sieciowego zajmującego się diagnostyką i monitorowaniem infrastruktury IT.

34/56
tshark + standardowe narzędzia

Przetwarzanie wyników standardowymi narzędziami

# Najczęściej odwiedzane hosty HTTP
tshark -r plik.pcap -Y http -T fields -e http.host | sort | uniq -c | sort -rn | head -10

# Najaktywniejsze adresy IP
tshark -r plik.pcap -T fields -e ip.src | sort | uniq -c | sort -rn | head -10

# Średnia długość pakietu (awk)
tshark -r plik.pcap -T fields -e frame.len | awk '{sum+=$1; n++} END {print "Średnia:", sum/n}'

# Pakiety z treścią zawierającą "password" (grep)
tshark -r plik.pcap -x | grep -i "password"
Pipeline tshark | sort | uniq -c | sort -rn

Narzędzie tshark jest integralną częścią ekosystemu Wireshark i stanowi podstawowe narzędzie do automatyzacji analizy ruchu sieciowego w środowiskach serwerowych oraz wbudowanych. Dzięki możliwości pracy w trybie wsadowym tshark doskonale nadaje się do integracji z systemami monitorującymi, skryptami bash oraz potokami przetwarzania danych w językach Python czy Perl.

W odróżnieniu od graficznego interfejsu Wireshark, tshark pozwala na przetwarzanie tysięcy plików pcap bez potrzeby interakcji z użytkownikiem, co czyni go niezastąpionym w środowiskach produkcyjnych. Znajomość tego narzędzia jest kluczowa dla każdego inżyniera sieciowego zajmującego się diagnostyką i monitorowaniem infrastruktury IT.

35/56
tshark + Python

Integracja z Python

#!/usr/bin/env python3
import subprocess
import csv
import io

def analizuj_pcap(plik):
    cmd = [
        "tshark", "-r", plik,
        "-T", "fields",
        "-e", "frame.number",
        "-e", "ip.src",
        "-e", "ip.dst",
        "-e", "frame.len",
        "-E", "header=y",
        "-E", "separator=,",
        "-E", "quote=d"
    ]
    wynik = subprocess.run(cmd, capture_output=True, text=True)
    reader = csv.DictReader(io.StringIO(wynik.stdout))
    for row in reader:
        print(f"Pakiet {row['frame.number']}: {row['ip.src']} -> {row['ip.dst']} ({row['frame.len']} B)")

if __name__ == "__main__":
    analizuj_pcap("plik.pcap")
Logo Python + tshark

Narzędzie tshark jest integralną częścią ekosystemu Wireshark i stanowi podstawowe narzędzie do automatyzacji analizy ruchu sieciowego w środowiskach serwerowych oraz wbudowanych. Dzięki możliwości pracy w trybie wsadowym tshark doskonale nadaje się do integracji z systemami monitorującymi, skryptami bash oraz potokami przetwarzania danych w językach Python czy Perl.

W odróżnieniu od graficznego interfejsu Wireshark, tshark pozwala na przetwarzanie tysięcy plików pcap bez potrzeby interakcji z użytkownikiem, co czyni go niezastąpionym w środowiskach produkcyjnych. Znajomość tego narzędzia jest kluczowa dla każdego inżyniera sieciowego zajmującego się diagnostyką i monitorowaniem infrastruktury IT.

36/56
Unikalne adresy IP

Zadanie: policz unikalne adresy IP

Cel: znaleźć liczbę unikalnych adresów IP źródłowych w pliku.

# Rozwiązanie jednowierszowe (bash)
tshark -r plik.pcap -T fields -e ip.src | sort -u | wc -l

# Z listą IP i liczbą pakietów
tshark -r plik.pcap -T fields -e ip.src | sort | uniq -c | sort -rn

# Rozwiązanie w Python
tshark -r plik.pcap -T fields -e ip.src -E header=n | python -c "import sys; ips = set(line.strip() for line in sys.stdin if line.strip()); print(f'Unikalnych IP: {len(ips)}')"

Wynik: lista IP posortowana malejąco według liczby pakietów.

Zrzut terminala z wynikiem sortowania IP

Narzędzie tshark jest integralną częścią ekosystemu Wireshark i stanowi podstawowe narzędzie do automatyzacji analizy ruchu sieciowego w środowiskach serwerowych oraz wbudowanych. Dzięki możliwości pracy w trybie wsadowym tshark doskonale nadaje się do integracji z systemami monitorującymi, skryptami bash oraz potokami przetwarzania danych w językach Python czy Perl.

W odróżnieniu od graficznego interfejsu Wireshark, tshark pozwala na przetwarzanie tysięcy plików pcap bez potrzeby interakcji z użytkownikiem, co czyni go niezastąpionym w środowiskach produkcyjnych. Znajomość tego narzędzia jest kluczowa dla każdego inżyniera sieciowego zajmującego się diagnostyką i monitorowaniem infrastruktury IT.

37/56
Lista stron HTTP

Lista odwiedzanych stron HTTP

Cel: wyświetlić host + URI + czas odpowiedzi.

# Host + URI + kod odpowiedzi + czas (frame.time_delta)
tshark -r plik.pcap -Y "http.request" -T fields -e http.host -e http.request.uri -e http.request.method -e frame.time_delta -E header=y -E separator=|

Przykład wyniku:

http.host|http.request.uri|http.request.method|frame.time_delta
example.com|/index.html|GET|0.000000
example.com|/style.css|GET|0.015234
example.com|/api/data|POST|1.234567

Można dodać -e http.response_in aby zobaczyć, w którym pakiecie jest odpowiedź.

Tabela z listą żądań HTTP

Narzędzie tshark jest integralną częścią ekosystemu Wireshark i stanowi podstawowe narzędzie do automatyzacji analizy ruchu sieciowego w środowiskach serwerowych oraz wbudowanych. Dzięki możliwości pracy w trybie wsadowym tshark doskonale nadaje się do integracji z systemami monitorującymi, skryptami bash oraz potokami przetwarzania danych w językach Python czy Perl.

W odróżnieniu od graficznego interfejsu Wireshark, tshark pozwala na przetwarzanie tysięcy plików pcap bez potrzeby interakcji z użytkownikiem, co czyni go niezastąpionym w środowiskach produkcyjnych. Znajomość tego narzędzia jest kluczowa dla każdego inżyniera sieciowego zajmującego się diagnostyką i monitorowaniem infrastruktury IT.

38/56
Najwolniejsze odpowiedzi HTTP

Znajdź najwolniejsze odpowiedzi HTTP

Cel: znaleźć żądania HTTP, które miały najdłuższy czas odpowiedzi.

# Czas odpowiedzi (delta między żądaniem a odpowiedzią)
tshark -r plik.pcap -Y "http.response" -T fields -e http.response.code -e http.request.uri -e http.time -E header=y -E separator=, | sort -t, -k3 -rn | head -10

Pole http.time to czas między żądaniem a odpowiedzią (w sekundach).

Wynik:

http.response.code,http.request.uri,http.time
200,/heavy-report.php,12.345
404,/not-found,5.678
200,/index.html,0.123
Wykres słupkowy – 3 najwolniejsze odpowiedzi

Narzędzie tshark jest integralną częścią ekosystemu Wireshark i stanowi podstawowe narzędzie do automatyzacji analizy ruchu sieciowego w środowiskach serwerowych oraz wbudowanych. Dzięki możliwości pracy w trybie wsadowym tshark doskonale nadaje się do integracji z systemami monitorującymi, skryptami bash oraz potokami przetwarzania danych w językach Python czy Perl.

W odróżnieniu od graficznego interfejsu Wireshark, tshark pozwala na przetwarzanie tysięcy plików pcap bez potrzeby interakcji z użytkownikiem, co czyni go niezastąpionym w środowiskach produkcyjnych. Znajomość tego narzędzia jest kluczowa dla każdego inżyniera sieciowego zajmującego się diagnostyką i monitorowaniem infrastruktury IT.

39/56
Retransmisje TCP

Retransmisje TCP z pliku

Cel: znaleźć pakiety z retransmisjami TCP.

# Liczba retransmisji
tshark -r plik.pcap -Y "tcp.analysis.retransmission" -T fields -e frame.number -e ip.src -e tcp.srcport -e ip.dst -e tcp.dstport -e tcp.analysis.ack_rtt

# Procent retransmisji
total=$(tshark -r plik.pcap -Y tcp -T fields -e frame.number | wc -l)
retrans=$(tshark -r plik.pcap -Y "tcp.analysis.retransmission" -T fields -e frame.number | wc -l)
echo "Retransmisje: $retrans / $total = $(echo "scale=2; $retrans*100/$total" | bc)%"

Pole tcp.analysis.ack_rtt – RTT (Round Trip Time) oszacowane przez Wireshark.

Zrzut terminala – lista retransmisji

Narzędzie tshark jest integralną częścią ekosystemu Wireshark i stanowi podstawowe narzędzie do automatyzacji analizy ruchu sieciowego w środowiskach serwerowych oraz wbudowanych. Dzięki możliwości pracy w trybie wsadowym tshark doskonale nadaje się do integracji z systemami monitorującymi, skryptami bash oraz potokami przetwarzania danych w językach Python czy Perl.

W odróżnieniu od graficznego interfejsu Wireshark, tshark pozwala na przetwarzanie tysięcy plików pcap bez potrzeby interakcji z użytkownikiem, co czyni go niezastąpionym w środowiskach produkcyjnych. Znajomość tego narzędzia jest kluczowa dla każdego inżyniera sieciowego zajmującego się diagnostyką i monitorowaniem infrastruktury IT.

40/56
Skrypt raportujący

Skrypt raportujący z pliku pcap

#!/bin/bash
# generuj_raport.sh – kompleksowy raport z pliku pcap
PCAP=$1
echo "=========================================="
echo "  RAPORT Z ANALIZY: $PCAP"
echo "=========================================="

echo ""
echo "1. Podstawowe informacje:"
capinfos "$PCAP" | grep -E "(Number of packets|File size|Capture duration|Data rate)"

echo ""
echo "2. Hierarchia protokołów:"
tshark -r "$PCAP" -q -z io,phs

echo ""
echo "3. Top 10 adresów IP źródłowych:"
tshark -r "$PCAP" -T fields -e ip.src | sort | uniq -c | sort -rn | head -10

echo ""
echo "4. Retransmisje TCP:"
tshark -r "$PCAP" -Y "tcp.analysis.retransmission" -T fields -e frame.number -e ip.src -e ip.dst | head -20
Zrzut terminala – wygenerowany raport

Narzędzie tshark jest integralną częścią ekosystemu Wireshark i stanowi podstawowe narzędzie do automatyzacji analizy ruchu sieciowego w środowiskach serwerowych oraz wbudowanych. Dzięki możliwości pracy w trybie wsadowym tshark doskonale nadaje się do integracji z systemami monitorującymi, skryptami bash oraz potokami przetwarzania danych w językach Python czy Perl.

W odróżnieniu od graficznego interfejsu Wireshark, tshark pozwala na przetwarzanie tysięcy plików pcap bez potrzeby interakcji z użytkownikiem, co czyni go niezastąpionym w środowiskach produkcyjnych. Znajomość tego narzędzia jest kluczowa dla każdego inżyniera sieciowego zajmującego się diagnostyką i monitorowaniem infrastruktury IT.

41/56
Statystyki IO w czasie

Statystyki IO w czasie

# Pakiety na sekundę (interwał 1 s)
tshark -r plik.pcap -z io,stat,1

# Bajty na sekundę z podziałem na protokoły
tshark -r plik.pcap -z io,stat,1,http,dns,tcp

# Z display filtrem – tylko HTTP
tshark -r plik.pcap -z io,stat,1,http

Wynik to tabela z kolumnami: czas, liczba pakietów, bajty/s.

Przydatne do wykrycia skoków ruchu lub okresowości.

Zrzut terminala – tabela IO stat

Narzędzie tshark jest integralną częścią ekosystemu Wireshark i stanowi podstawowe narzędzie do automatyzacji analizy ruchu sieciowego w środowiskach serwerowych oraz wbudowanych. Dzięki możliwości pracy w trybie wsadowym tshark doskonale nadaje się do integracji z systemami monitorującymi, skryptami bash oraz potokami przetwarzania danych w językach Python czy Perl.

W odróżnieniu od graficznego interfejsu Wireshark, tshark pozwala na przetwarzanie tysięcy plików pcap bez potrzeby interakcji z użytkownikiem, co czyni go niezastąpionym w środowiskach produkcyjnych. Znajomość tego narzędzia jest kluczowa dla każdego inżyniera sieciowego zajmującego się diagnostyką i monitorowaniem infrastruktury IT.

42/56
Rozmowy TCP

Rozmowy TCP

# Lista wszystkich rozmów TCP
tshark -r plik.pcap -z conv,tcp

# Z ograniczeniem do 10 największych
tshark -r plik.pcap -z conv,tcp | head -20

Wynik zawiera:

  • Adresy IP:port źródła i celu
  • Liczbę pakietów (tx/rx)
  • Liczbę bajtów (tx/rx)
  • Czas rozpoczęcia i zakończenia
  • Przepustowość (bajty/s)

To samo co Statistics → Conversations w Wireshark.

Zrzut terminala – tabela conversations TCP

Narzędzie tshark jest integralną częścią ekosystemu Wireshark i stanowi podstawowe narzędzie do automatyzacji analizy ruchu sieciowego w środowiskach serwerowych oraz wbudowanych. Dzięki możliwości pracy w trybie wsadowym tshark doskonale nadaje się do integracji z systemami monitorującymi, skryptami bash oraz potokami przetwarzania danych w językach Python czy Perl.

W odróżnieniu od graficznego interfejsu Wireshark, tshark pozwala na przetwarzanie tysięcy plików pcap bez potrzeby interakcji z użytkownikiem, co czyni go niezastąpionym w środowiskach produkcyjnych. Znajomość tego narzędzia jest kluczowa dla każdego inżyniera sieciowego zajmującego się diagnostyką i monitorowaniem infrastruktury IT.

43/56
Punkty końcowe IP

Punkty końcowe IP

# Lista wszystkich adresów IP z liczbą pakietów
tshark -r plik.pcap -z endpoints,ip

# To samo co Statistics → Endpoints w Wireshark
tshark -r plik.pcap -z endpoints,ip -q

Dostępne typy endpoints:

  • ip – adresy IPv4
  • ipv6 – adresy IPv6
  • tcp – IP:port TCP
  • udp – IP:port UDP
  • eth – adresy MAC
  • wlan – adresy MAC WLAN
Zrzut terminala – tabela endpoints IP

Narzędzie tshark jest integralną częścią ekosystemu Wireshark i stanowi podstawowe narzędzie do automatyzacji analizy ruchu sieciowego w środowiskach serwerowych oraz wbudowanych. Dzięki możliwości pracy w trybie wsadowym tshark doskonale nadaje się do integracji z systemami monitorującymi, skryptami bash oraz potokami przetwarzania danych w językach Python czy Perl.

W odróżnieniu od graficznego interfejsu Wireshark, tshark pozwala na przetwarzanie tysięcy plików pcap bez potrzeby interakcji z użytkownikiem, co czyni go niezastąpionym w środowiskach produkcyjnych. Znajomość tego narzędzia jest kluczowa dla każdego inżyniera sieciowego zajmującego się diagnostyką i monitorowaniem infrastruktury IT.

44/56
Drzewo HTTP

Statystyki HTTP – drzewo

# Drzewo statystyk HTTP
tshark -r plik.pcap -z http,tree

Wynik pokazuje:

  • Listę hostów HTTP
  • Dla każdego hosta – listę URI
  • Dla każdego URI – metody (GET, POST) i kody odpowiedzi
  • Liczbę pakietów i bajtów

Przykład:

===================================================================
HTTP Statistics (tree)
===================================================================
example.com
  /index.html
    GET
      200 (5 pakietów, 12 kB)
  /style.css
    GET
      200 (2 pakiety, 4 kB)
google.com
  /search?q=test
    GET
      200 (3 pakiety, 8 kB)
Zrzut terminala – drzewo HTTP

Narzędzie tshark jest integralną częścią ekosystemu Wireshark i stanowi podstawowe narzędzie do automatyzacji analizy ruchu sieciowego w środowiskach serwerowych oraz wbudowanych. Dzięki możliwości pracy w trybie wsadowym tshark doskonale nadaje się do integracji z systemami monitorującymi, skryptami bash oraz potokami przetwarzania danych w językach Python czy Perl.

W odróżnieniu od graficznego interfejsu Wireshark, tshark pozwala na przetwarzanie tysięcy plików pcap bez potrzeby interakcji z użytkownikiem, co czyni go niezastąpionym w środowiskach produkcyjnych. Znajomość tego narzędzia jest kluczowa dla każdego inżyniera sieciowego zajmującego się diagnostyką i monitorowaniem infrastruktury IT.

45/56
Drzewo DNS

Statystyki DNS – drzewo

# Drzewo statystyk DNS
tshark -r plik.pcap -z dns,tree

Wynik pokazuje:

  • Zapytane nazwy domen
  • Typy zapytań (A, AAAA, MX, CNAME)
  • Kody odpowiedzi (No error, NXDOMAIN)
  • Czas odpowiedzi

Przykład:

===================================================================
DNS Statistics (tree)
===================================================================
example.com
  A (3 zapytania, 3 odpowiedzi, avg RTT: 15 ms)
google.com
  A (5 zapytań, 5 odpowiedzi, avg RTT: 8 ms)
  AAAA (2 zapytania, 2 odpowiedzi, avg RTT: 10 ms)
Zrzut terminala – drzewo DNS

Narzędzie tshark jest integralną częścią ekosystemu Wireshark i stanowi podstawowe narzędzie do automatyzacji analizy ruchu sieciowego w środowiskach serwerowych oraz wbudowanych. Dzięki możliwości pracy w trybie wsadowym tshark doskonale nadaje się do integracji z systemami monitorującymi, skryptami bash oraz potokami przetwarzania danych w językach Python czy Perl.

W odróżnieniu od graficznego interfejsu Wireshark, tshark pozwala na przetwarzanie tysięcy plików pcap bez potrzeby interakcji z użytkownikiem, co czyni go niezastąpionym w środowiskach produkcyjnych. Znajomość tego narzędzia jest kluczowa dla każdego inżyniera sieciowego zajmującego się diagnostyką i monitorowaniem infrastruktury IT.

46/56
Statystyki DHCP

Statystyki DHCP (BOOTP)

# Statystyki DHCP
tshark -r plik.pcap -z bootp,stat

Wynik zawiera:

  • Liczbę zapytań DHCP Discover, Offer, Request, Ack
  • Adresy IP przydzielone przez serwer DHCP
  • Czas dzierżawy (lease time)
  • Adresy MAC klientów

Przydatne do diagnostyki problemów z adresacją DHCP.

DHCP używa BOOTP jako protokołu transportowego – dlatego statystyki są pod bootp.
Zrzut terminala – statystyki DHCP

Narzędzie tshark jest integralną częścią ekosystemu Wireshark i stanowi podstawowe narzędzie do automatyzacji analizy ruchu sieciowego w środowiskach serwerowych oraz wbudowanych. Dzięki możliwości pracy w trybie wsadowym tshark doskonale nadaje się do integracji z systemami monitorującymi, skryptami bash oraz potokami przetwarzania danych w językach Python czy Perl.

W odróżnieniu od graficznego interfejsu Wireshark, tshark pozwala na przetwarzanie tysięcy plików pcap bez potrzeby interakcji z użytkownikiem, co czyni go niezastąpionym w środowiskach produkcyjnych. Znajomość tego narzędzia jest kluczowa dla każdego inżyniera sieciowego zajmującego się diagnostyką i monitorowaniem infrastruktury IT.

47/56
Expert Info

Expert Info w tshark

# Expert Info – podsumowanie problemów
tshark -r plik.pcap -z expert

Wynik grupuje problemy według kategorii:

  • Chat – informacje (np. połączenie nawiązane)
  • Note – uwagi (np. opóźniony ACK)
  • Warn – ostrzeżenia (np. retransmisja, zero window)
  • Error – błędy (np. malformed packet, bad checksum)

To samo co Analyze → Expert Info w Wireshark.

Zrzut terminala – Expert Info

Narzędzie tshark jest integralną częścią ekosystemu Wireshark i stanowi podstawowe narzędzie do automatyzacji analizy ruchu sieciowego w środowiskach serwerowych oraz wbudowanych. Dzięki możliwości pracy w trybie wsadowym tshark doskonale nadaje się do integracji z systemami monitorującymi, skryptami bash oraz potokami przetwarzania danych w językach Python czy Perl.

W odróżnieniu od graficznego interfejsu Wireshark, tshark pozwala na przetwarzanie tysięcy plików pcap bez potrzeby interakcji z użytkownikiem, co czyni go niezastąpionym w środowiskach produkcyjnych. Znajomość tego narzędzia jest kluczowa dla każdego inżyniera sieciowego zajmującego się diagnostyką i monitorowaniem infrastruktury IT.

48/56
Monitorowanie ciągłe

Monitorowanie ciągłe z tshark

# Monitorowanie ruchu HTTP na żywo
tshark -i eth0 -f "port 80" -T fields -e http.host -e http.request.uri -E separator=,

# Monitorowanie połączeń TCP (nowe sesje)
tshark -i eth0 -f "tcp" -Y "tcp.flags.syn == 1 and tcp.flags.ack == 0" -T fields -e ip.src -e tcp.srcport -e ip.dst -e tcp.dstport

# Zapis do pliku + statystyki na żywo
tshark -i eth0 -w live.pcapng -q -z io,stat,5

tshark działa jak tcpdump, ale z możliwością zaawansowanego formatowania wyjścia.

Zrzut terminala – monitorowanie HTTP na żywo

Narzędzie tshark jest integralną częścią ekosystemu Wireshark i stanowi podstawowe narzędzie do automatyzacji analizy ruchu sieciowego w środowiskach serwerowych oraz wbudowanych. Dzięki możliwości pracy w trybie wsadowym tshark doskonale nadaje się do integracji z systemami monitorującymi, skryptami bash oraz potokami przetwarzania danych w językach Python czy Perl.

W odróżnieniu od graficznego interfejsu Wireshark, tshark pozwala na przetwarzanie tysięcy plików pcap bez potrzeby interakcji z użytkownikiem, co czyni go niezastąpionym w środowiskach produkcyjnych. Znajomość tego narzędzia jest kluczowa dla każdego inżyniera sieciowego zajmującego się diagnostyką i monitorowaniem infrastruktury IT.

49/56
Regularne przechwytywanie

Regularne przechwytywanie

Automatyzacja przechwytywania na Linux (cron):

# /etc/cron.d/capture
# Przechwytywanie 10 minut co godzinę
0 * * * * root timeout 600 tshark -i eth0 -w /var/log/capture/$(date +\%Y\%m\%d_\%H\%M\%S).pcapng

Na Windows (Task Scheduler):

# PowerShell skrypt uruchamiany przez Task Scheduler
$timestamp = Get-Date -Format "yyyyMMdd_HHmmss"
$filename = "C:\captures\log_$timestamp.pcapng"
Start-Process -FilePath "tshark" -ArgumentList "-i 2 -a duration:600 -w $filename" -NoNewWindow -Wait
Schemat: cron/task scheduler → tshark → pliki pcap

Narzędzie tshark jest integralną częścią ekosystemu Wireshark i stanowi podstawowe narzędzie do automatyzacji analizy ruchu sieciowego w środowiskach serwerowych oraz wbudowanych. Dzięki możliwości pracy w trybie wsadowym tshark doskonale nadaje się do integracji z systemami monitorującymi, skryptami bash oraz potokami przetwarzania danych w językach Python czy Perl.

W odróżnieniu od graficznego interfejsu Wireshark, tshark pozwala na przetwarzanie tysięcy plików pcap bez potrzeby interakcji z użytkownikiem, co czyni go niezastąpionym w środowiskach produkcyjnych. Znajomość tego narzędzia jest kluczowa dla każdego inżyniera sieciowego zajmującego się diagnostyką i monitorowaniem infrastruktury IT.

50/56
tshark vs tcpdump

Kiedy użyć tshark, a kiedy tcpdump?

Cechatcpdumptshark
RozmiarBardzo mały (~1 MB)Większy (~50 MB)
Formaty wyjścioweTylko tekstJSON, CSV, XML, PDML, PSML, fields
Wyodrębnianie pólOgraniczonePełne (2000+ protokołów)
Display filtryNieTak (składnia Wireshark)
Statystyki -zNieTak (IO, conv, endpoints, expert)
WydajnośćBardzo wysokaNiższa (większe obciążenie CPU)
DostępnośćKażdy LinuxWymaga instalacji Wireshark
Dwa terminale: tcpdump vs tshark

Narzędzie tshark jest integralną częścią ekosystemu Wireshark i stanowi podstawowe narzędzie do automatyzacji analizy ruchu sieciowego w środowiskach serwerowych oraz wbudowanych. Dzięki możliwości pracy w trybie wsadowym tshark doskonale nadaje się do integracji z systemami monitorującymi, skryptami bash oraz potokami przetwarzania danych w językach Python czy Perl.

W odróżnieniu od graficznego interfejsu Wireshark, tshark pozwala na przetwarzanie tysięcy plików pcap bez potrzeby interakcji z użytkownikiem, co czyni go niezastąpionym w środowiskach produkcyjnych. Znajomość tego narzędzia jest kluczowa dla każdego inżyniera sieciowego zajmującego się diagnostyką i monitorowaniem infrastruktury IT.

51/56
Automatyczny skrypt analizy

Automatyczny skrypt analizy

Cel: kompleksowa analiza pliku pcap jednym poleceniem.

#!/bin/bash
# analyze_pcap.sh – pełna analiza pliku pcap
PCAP=$1

echo "=== 1. INFORMACJE OGÓLNE ==="
capinfos "$PCAP"

echo "=== 2. RETRANSMISJE TCP ==="
tshark -r "$PCAP" -q -z expert

echo "=== 3. TOP 10 ROZMÓW ==="
tshark -r "$PCAP" -z conv,tcp | head -15

echo "=== 4. ŻĄDANIA HTTP ==="
tshark -r "$PCAP" -Y "http.request" -T fields -e http.host -e http.request.uri -e http.request.method -E separator=,

echo "=== 5. NAJWOLNIEJSZE ODPOWIEDZI ==="
tshark -r "$PCAP" -Y "http.response" -T fields -e http.response.code -e http.request.uri -e http.time | sort -t$'\t' -k3 -rn | head -5
Schemat: plik pcap → skrypt → raport

Narzędzie tshark jest integralną częścią ekosystemu Wireshark i stanowi podstawowe narzędzie do automatyzacji analizy ruchu sieciowego w środowiskach serwerowych oraz wbudowanych. Dzięki możliwości pracy w trybie wsadowym tshark doskonale nadaje się do integracji z systemami monitorującymi, skryptami bash oraz potokami przetwarzania danych w językach Python czy Perl.

W odróżnieniu od graficznego interfejsu Wireshark, tshark pozwala na przetwarzanie tysięcy plików pcap bez potrzeby interakcji z użytkownikiem, co czyni go niezastąpionym w środowiskach produkcyjnych. Znajomość tego narzędzia jest kluczowa dla każdego inżyniera sieciowego zajmującego się diagnostyką i monitorowaniem infrastruktury IT.

52/56
Wydajność tshark

Wydajność – duże pliki

tshark jest wolniejszy od tcpdump – ładuje cały plik do pamięci?

W rzeczywistości tshark przetwarza plik strumieniowo, ale analiza protokołów (zwłaszcza JSON/PDML) jest kosztowna.

Wskazówki wydajnościowe:

  • Używaj -Y (display filter) przed ekstrakcją pól – mniej pakietów do analizy
  • Unikaj -V i -x na dużych plikach – generują ogromny output
  • -T fields jest szybsze niż -T json lub -T pdml
  • Używaj -q (quiet) gdy potrzebujesz tylko statystyk
  • Podziel duży plik na mniejsze: editcap -c 10000 duzy.pcap czesc
Dla plików > 1 GB rozważ użycie dumpcap do przechwytywania, a tshark tylko do analizy wycinka.
Wykres porównania czasu przetwarzania

Narzędzie tshark jest integralną częścią ekosystemu Wireshark i stanowi podstawowe narzędzie do automatyzacji analizy ruchu sieciowego w środowiskach serwerowych oraz wbudowanych. Dzięki możliwości pracy w trybie wsadowym tshark doskonale nadaje się do integracji z systemami monitorującymi, skryptami bash oraz potokami przetwarzania danych w językach Python czy Perl.

W odróżnieniu od graficznego interfejsu Wireshark, tshark pozwala na przetwarzanie tysięcy plików pcap bez potrzeby interakcji z użytkownikiem, co czyni go niezastąpionym w środowiskach produkcyjnych. Znajomość tego narzędzia jest kluczowa dla każdego inżyniera sieciowego zajmującego się diagnostyką i monitorowaniem infrastruktury IT.

53/56
Kluczowe opcje tshark

Kluczowe opcje tshark

  • -i – wybór interfejsu
  • -r – odczyt pliku pcap/pcapng
  • -c – limit pakietów
  • -w – zapis do pliku
  • -Y – display filter
  • -f – capture filter (BPF)
  • -T fields – wyodrębnianie pól
  • -e – konkretne pole protokołu
  • -E – opcje eksportu (separator, nagłówek)
  • -z – statystyki (io, conv, endpoints, http, dns, expert)
  • -V – pełne szczegóły
  • -x – hex dump
  • -q – quiet (tylko statystyki)
Mapa myśli z opcjami tshark

Narzędzie tshark jest integralną częścią ekosystemu Wireshark i stanowi podstawowe narzędzie do automatyzacji analizy ruchu sieciowego w środowiskach serwerowych oraz wbudowanych. Dzięki możliwości pracy w trybie wsadowym tshark doskonale nadaje się do integracji z systemami monitorującymi, skryptami bash oraz potokami przetwarzania danych w językach Python czy Perl.

W odróżnieniu od graficznego interfejsu Wireshark, tshark pozwala na przetwarzanie tysięcy plików pcap bez potrzeby interakcji z użytkownikiem, co czyni go niezastąpionym w środowiskach produkcyjnych. Znajomość tego narzędzia jest kluczowa dla każdego inżyniera sieciowego zajmującego się diagnostyką i monitorowaniem infrastruktury IT.

54/56
Dobre praktyki z tshark

Dobre praktyki z tshark

  • Zawsze używaj -r do analizy offline, chyba że przechwytujesz na żywo
  • Używaj -Y z display filtrem przed ekstrakcją pól – mniej danych do przetworzenia
  • Do automatyzacji preferuj -T fields -E separator=, -E header=y -E quote=d (CSV)
  • Do pełnej analizy – -T json (ale będzie wolniejsze)
  • Używaj -q -z do szybkich statystyk bez listy pakietów
  • Zapisuj wyniki do pliku (>), nie wyświetlaj na ekranie dla dużych plików
  • Sprawdzaj dostępne pola: tshark -G fields | grep nazwa
Lista ikon – dobre praktyki

Narzędzie tshark jest integralną częścią ekosystemu Wireshark i stanowi podstawowe narzędzie do automatyzacji analizy ruchu sieciowego w środowiskach serwerowych oraz wbudowanych. Dzięki możliwości pracy w trybie wsadowym tshark doskonale nadaje się do integracji z systemami monitorującymi, skryptami bash oraz potokami przetwarzania danych w językach Python czy Perl.

W odróżnieniu od graficznego interfejsu Wireshark, tshark pozwala na przetwarzanie tysięcy plików pcap bez potrzeby interakcji z użytkownikiem, co czyni go niezastąpionym w środowiskach produkcyjnych. Znajomość tego narzędzia jest kluczowa dla każdego inżyniera sieciowego zajmującego się diagnostyką i monitorowaniem infrastruktury IT.

55/56
Sprawdź swoją wiedzę

Pytania kontrolne

  1. Pytanie: Czym różni się opcja -Y od -f w tshark?

Odpowiedź: -Y to display filter (składnia Wireshark, stosowany przy odczycie pliku). -f to capture filter (BPF, stosowany przy przechwytywaniu na żywo).

  1. Pytanie: Jaki format wyjściowy wybrać do eksportu danych do arkusza kalkulacyjnego?

Odpowiedź: -T fields z -E separator=, -E header=y -E quote=d – daje poprawne CSV.

  1. Pytanie: Jak wyświetlić tylko statystyki bez listy pakietów?

Odpowiedź: Użyj opcji -q (quiet) w połączeniu z -z (statystyki).

  1. Pytanie: Jak znaleźć nazwę pola dla adresu IP źródła?

Odpowiedź: tshark -G fields | grep "ip.src" – pole nazywa się ip.src.

  1. Pytanie: Kiedy tshark jest lepszym wyborem niż tcpdump?

Odpowiedź: Gdy potrzebujemy zaawansowanego formatowania (JSON, CSV, fields), statystyk wbudowanych (-z) lub wyodrębniania pól protokołów (-e).

Ikona znaku zapytania

Narzędzie tshark jest integralną częścią ekosystemu Wireshark i stanowi podstawowe narzędzie do automatyzacji analizy ruchu sieciowego w środowiskach serwerowych oraz wbudowanych. Dzięki możliwości pracy w trybie wsadowym tshark doskonale nadaje się do integracji z systemami monitorującymi, skryptami bash oraz potokami przetwarzania danych w językach Python czy Perl.

W odróżnieniu od graficznego interfejsu Wireshark, tshark pozwala na przetwarzanie tysięcy plików pcap bez potrzeby interakcji z użytkownikiem, co czyni go niezastąpionym w środowiskach produkcyjnych. Znajomość tego narzędzia jest kluczowa dla każdego inżyniera sieciowego zajmującego się diagnostyką i monitorowaniem infrastruktury IT.

56/56
Koniec części 5

Koniec części 5

Dziękujemy za uwagę. W następnej części poznamy zaawansowane display filtry Wireshark – wyrażenia regularne, porównania, funkcje, zapisywanie i zarządzanie filtrami, zaawansowane przykłady analizy.

Praca własna:

  • Zainstaluj tshark i przechwyć 100 pakietów z własnego interfejsu
  • Wyeksportuj adresy IP do CSV i otwórz w Excelu
  • Uruchom tshark -z conv,tcp na pliku pcap i zinterpretuj wynik
  • Napisz skrypt bash/Python, który wyciąga wszystkie zapytania DNS z pliku
Zapowiedź następnej części

Narzędzie tshark jest integralną częścią ekosystemu Wireshark i stanowi podstawowe narzędzie do automatyzacji analizy ruchu sieciowego w środowiskach serwerowych oraz wbudowanych. Dzięki możliwości pracy w trybie wsadowym tshark doskonale nadaje się do integracji z systemami monitorującymi, skryptami bash oraz potokami przetwarzania danych w językach Python czy Perl.

W odróżnieniu od graficznego interfejsu Wireshark, tshark pozwala na przetwarzanie tysięcy plików pcap bez potrzeby interakcji z użytkownikiem, co czyni go niezastąpionym w środowiskach produkcyjnych. Znajomość tego narzędzia jest kluczowa dla każdego inżyniera sieciowego zajmującego się diagnostyką i monitorowaniem infrastruktury IT.