Wireshark: co to je, analýza provozu a zachycování paketů

Autor: IT Sectr Publikováno: 2026-05-08 Doba čtení: 9 min

Wireshark — přední analyzátor síťového provozu s otevřeným zdrojovým kódem, používaný k zachycování a inspekci paketů v reálném čase. Nástroj podporuje více než dva tisíce síťových protokolů a funguje na všech hlavních platformách. Podle Wireshark User Guide (2026) se tento nástroj používá pro diagnostiku sítí, ladění API a analýzu zabezpečení ve vývoji mobilních a webových aplikací.

Hlavní body

  • Wireshark — bezplatný sniffer paketů s grafickým rozhraním pro analýzu síťového provozu.
  • Zachytávání provozu se provádí přes síťové rozhraní v režimu promiscuous na úrovni linkové vrstvy.
  • Filtrování paketů podle IP, portu, protokolu a obsahu je implementováno přes jazyk BPF a display filtry.
  • Analýza HTTPS vyžaduje nastavení SSLKEYLOGFILE nebo zprostředkujícího proxy pro dešifrování relací.
  • Mobilní ladění je možné kombinací s tcpdump na zařízení a Remote Packet Capture.

Co je Wireshark a jak funguje

Wireshark — program s otevřeným zdrojovým kódem (GPLv2), který zachytává datové pakety procházející síťovým rozhraním počítače. Je založen na knihovně libpcap (Unix) nebo Npcap (Windows) pro zachytávání na úrovni linkové vrstvy modelu OSI.

Princip zachytávání paketů

Síťová karta v běžném režimu přijímá pouze rámce adresované její adrese MAC. Wireshark přepne rozhraní do režimu promiscuous, ve kterém systém zpracovává všechny procházející rámce bez ohledu na příjemce. Zachycená data se předávají do jádra přes raw socket, načež je knihovna libpcap zkopíruje do uživatelského prostoru pro analýzu.

Architektura zpracování

Wireshark používá modulární architekturu: každý protokol je implementován jako samostatný disektor — zásuvný modul, který parsuje binární data a zobrazuje je ve strukturované podobě. K roku 2026 jsou v programu implementovány disektory pro 2 874 protokolů, včetně HTTP/2, QUIC, gRPC a MQTT. Disektory fungují přes systém stromu protokolů — každý paket se rozebírá vrstvu po vrstvě: od rámce Ethernet až po aplikační vrstvu.

c
// Příklad jednoduchého disektoru pro vlastní protokol
static int dissect_custom(tvbuff_t *tvb, packet_info *pinfo,
        proto_tree *tree, void *data) {
    proto_item *ti = proto_tree_add_item(tree, hf_custom_field,
            tvb, 0, tvb_captured_length(tvb), ENC_NA);
    return 0;
}

Hlavní možnosti Wireshark

Grafické rozhraní Wireshark je rozděleno na tři panely: seznam paketů (packet list), podrobnosti protokolů (packet details) a hex výpis (packet bytes). Každý panel se aktualizuje v reálném čase a podporuje interaktivní navigaci — kliknutí na řádek paketu otevře jeho úplnou strukturu.

Podporované formáty a protokoly

Nástroj čte soubory zachycení ve formátech pcap, pcapng, snoop a NetMon. Export je možný do JSON, XML, CSV a plain text. Mezi klíčové protokoly aplikační vrstvy patří: HTTP/HTTPS, DNS, DHCP, TCP, UDP, TLS, QUIC, WebSocket, MQTT, AMQP a Protobuf. Pro vývoj mobilních aplikací je obzvláště důležitá podpora gRPC a HTTP/2 s multiplexováním datových toků.

Nástroje pro analýzu

Vestavěné nástroje zahrnují Follow Stream (obnovení úplného dialogu TCP/UDP/TLS), IO Graph (graf propustnosti), statistiku konverzací (Conversations) a hierarchii protokolů (Protocol Hierarchy). Funkce Flow Graph vizualizuje pořadí paketů mezi uzly, což zjednodušuje hledání příčin zpoždění při ladění interakce klient-server.

Jak zachytávat provoz přes Wireshark

Spuštění zachycení začíná výběrem síťového rozhraní — Ethernet, Wi-Fi, Bluetooth PAN nebo Loopback. Ve Windows může být nutná instalace Npcap v režimu WinPcap API Compatible Mode. Pro zachycení na mobilních zařízeních se používá Remote Packet Capture přes SSH tunel.

Zachycení na vzdáleném zařízení

Na zařízení Android se provoz zachytává přes tcpdump nebo PCAPdroid s následným přenosem souboru na pracovní počítač. Příkaz pro vzdálené zachycení přes ADB:

bash
# Zachycení provozu v Androidu přes ADB shell
adb shell tcpdump -i wlan0 -s 0 -w /sdcard/capture.pcap
# Kopírování do počítače
adb pull /sdcard/capture.pcap .

Zachycení provozu Loopback

Ve Windows provoz localhost (127.0.0.1) neprochází fyzickým rozhraním, proto jej Wireshark nevidí přímo. Řešení — instalace Npcap s volbou Loopback Support nebo přesměrování provozu přes RawCap. V Linuxu a macOS se rozhraní loopback (lo) zachytává bez dalšího nastavení.

Filtrování paketů ve Wireshark

Wireshark nabízí dva typy filtrů: capture filtry (použité před zachycením, na úrovni libpcap) a display filtry (použité na již zachycená data). Capture filtry používají syntaxi BPF (Berkeley Packet Filter), display filtry — vlastní jazyk Wireshark s automatickým doplňováním.

Capture Filters (BPF)

Filtry BPF se zapisují ve formátu tcpdump a provádějí se v jádře, což minimalizuje ztrátu paketů při vysokém zatížení. Příklady filtrů:

Filtr Účel
tcp port 80 Pouze provoz HTTP na standardním portu
host 192.168.1.1 Pakety od konkrétního hostitele
not arp Všechny pakety kromě požadavků ARP

Display Filters

Display filtry se aplikují dodatečně a podporují složité podmínky s logickými operátory and, or, not. Příklad: http.request.method == "POST" and ip.src == 192.168.0.100 odfiltruje pouze požadavky POST z konkrétní IP. Filtry lze ukládat jako oblíbené pro opakované použití.

Analýza provozu HTTP a HTTPS

Provoz HTTP se ve Wireshark zobrazuje v čitelné podobě: metoda požadavku, URI, hlavičky a tělo odpovědi. Funkce Follow TCP Stream shromažďuje úplný dialog klienta a serveru v jednom okně. Pro HTTPS je nutné dešifrování relací TLS, protože obsah je zašifrován.

Dešifrování HTTPS přes SSLKEYLOGFILE

Prohlížeče Chrome a Firefox podporují proměnnou prostředí SSLKEYLOGFILE, která zapisuje klíče relace TLS do textového souboru. Wireshark tento soubor používá k dešifrování záznamů. Nastavení se provádí přes Preferences → Protocols → TLS → (Pre)-Master-Secret log filename.

bash
# Spuštění Chrome se zápisem klíčů TLS
export SSLKEYLOGFILE=/tmp/sslkeys.log
google-chrome .

# Po zachycení uvést cestu ve Wireshark
# Edit → Preferences → Protocols → TLS → Log Filename

Analýza gRPC a Protobuf

gRPC používá HTTP/2 jako přenos a Protobuf pro serializaci dat. Wireshark dešifruje zprávy gRPC, pokud je poskytnut soubor .proto s definicí struktur. Disektor Protobuf přiřazuje binární pole k názvům ze souboru proto, což je klíčové při ladění mikroslužebné architektury.

Ladění mobilních aplikací pomocí Wireshark

Mobilní ladění přes Wireshark vyžaduje proxy provozu zařízení do počítače. Neispolehlivější metoda — vytvoření Wi-Fi přístupového bodu na notebooku a přesměrování provozu přes NAT. V Androidu je také dostupná metoda VPN s aplikací PCAPdroid bez práv root.

Nastavení v Androidu bez root

PCAPdroid vytváří místní službu VPN, která přesměrovává provoz aplikací do Wireshark přes UDP datový tok. Aplikace nevyžaduje přístup root a podporuje filtrování podle jednotlivých procesů. Získané soubory pcap se otevírají ve Wireshark pro úplnou analýzu.

bash
# Příjem provozu od PCAPdroid v počítači
# PCAPdroid → Settings → PCAP dumper → UDP Exporter
nc -l -u 192.168.0.10 12345 > capture.pcap

Srovnání Wireshark s alternativami

Wireshark — univerzální nástroj, ale pro konkrétní úkoly existují specializovanější řešení. tcpdump je efektivnější pro serverové zachycování bez grafiky, Charles Proxy je vhodnější pro analýzu provozu HTTPS a Fiddler — pro inspekci webového provozu s možností modifikace požadavků za běhu.

Charles Proxy vs Wireshark

Charles Proxy funguje jako zprostředkující proxy server s možností zachycení HTTPS přes vlastní SSL certifikaci. Na rozdíl od Wireshark nevyžaduje Charles nastavení SSLKEYLOGFILE a umí provoz nejen prohlížet, ale i měnit — nahrazovat odpovědi, emulovat zpoždění a opakovat požadavky.

Fiddler Everywhere

Fiddler — další proxy nástroj, populární v ekosystému .NET. Poskytuje vestavěný editor požadavků, podporu AutoResponder pro mocky a composer pro vytváření vlastních požadavků. Fiddler je vhodnější pro analýzu webového provozu prohlížeče, Wireshark — pro nízkoúrovňovou analýzu sítě.

Nástroj Typ HTTPS bez klíčů Změna provozu
Wireshark Sniffer Ne (je nutný SSLKEYLOGFILE) Pouze prohlížení
Charles Proxy Ano (vlastní certifikát) Ano
Fiddler Proxy Ano (vlastní certifikát) Ano
tcpdump Sniffer Ne Pouze prohlížení

Praktické tipy pro práci s Wireshark

Wireshark vyžaduje pochopení základních principů zachytávání provozu. Jedním z častých scénářů je hledání zdroje zpoždění v mobilní aplikaci přes filtr tcp.analysis.ack_rtt. Pro hledání pomalých požadavků HTTP použijte podmínku http.time větší než 1.

Hledání pomalých požadavků

Pro hledání pomalých požadavků HTTP filtrujte http.time větší než 1 — Wireshark zobrazí požadavky s dobou odezvy delší než 1 sekunda. Kombinujte s ip.addr pro analýzu konkrétního serveru. IO Graph s intervalem 1 sekundy názorně ukáže špičky zatížení.

Export a reporty

Wireshark podporuje export do CSV, JSON a XML přes nabídku File. Pro automatickou analýzu použijte tshark — konzolovou verzi fungující v pipeline CI/CD. Tshark podporuje stejné filtry a výstupní formáty jako grafická verze.

Praktické tipy pro práci s Wireshark

Wireshark vyžaduje pochopení základních principů zachytávání provozu. Jedním z častých scénářů je hledání zdroje zpoždění v mobilní aplikaci přes filtr tcp.analysis.ack_rtt. Pro hledání pomalých požadavků HTTP použijte podmínku http.time větší než 1.

Hledání pomalých požadavků

Pro hledání pomalých požadavků HTTP filtrujte http.time větší než 1 — Wireshark zobrazí požadavky s dobou odezvy delší než 1 sekunda. Kombinujte s ip.addr pro analýzu konkrétního serveru. IO Graph s intervalem 1 sekundy názorně ukáže špičky zatížení.

Export a reporty

Wireshark podporuje export do CSV, JSON a XML přes nabídku File. Pro automatickou analýzu použijte tshark — konzolovou verzi fungující v pipeline CI/CD. Tshark podporuje stejné filtry a výstupní formáty jako grafická verze.

Často kladené otázky

Čím se Wireshark liší od tcpdump?

Wireshark poskytuje grafické rozhraní s vizualizací paketů, vestavěnými filtry a statistikou. tcpdump — konzolový nástroj bez GUI, vhodný pro serverové zachycování přes SSH. Wireshark umí číst soubory tcpdump a naopak.

Jak zachytit provoz HTTPS ve Wireshark?

Pro dešifrování je potřeba soubor klíčů relace TLS (SSLKEYLOGFILE). Chrome a Firefox exportují klíče při spuštění s proměnnou prostředí. Cesta k souboru se uvádí v nastavení Protocols → TLS ve Wireshark.

Proč Wireshark nevidí provoz localhost ve Windows?

Provoz loopback ve Windows neprochází ovladačem Npcap ve výchozím nastavení. Řešení — instalace Npcap se zapnutou volbou Loopback Support nebo použití nástroje RawCap pro zachycení místního provozu.

Lze Wireshark použít pro mobilní aplikace?

Ano, přes proxy provozu do počítače. Android podporuje zachycení přes PCAPdroid (bez root) nebo tcpdump (s root). iOS vyžaduje RVI (Remote Virtual Interface) přes macOS nebo jailbreak pro zachycení.

Jak filtrovat pakety podle obsahu ve Wireshark?

Display filtr frame contains hledá řetězec nebo hex sekvenci v celém paketu. Příklad: frame contains "password" najde pakety s podřetězcem password v libovolném poli. Pro přesné hledání podle pole použijte http.request.uri contains "api" .

Shrnutí

  • Wireshark — hlavní nástroj pro analýzu síťového provozu ve vývoji, podporující více než 2800 protokolů.
  • Zachycení paketů se provádí v režimu promiscuous přes knihovnu libpcap nebo Npcap na úrovni přístupu k lince.
  • Filtrování se dělí na capture filtry (BPF, na úrovni jádra) a display filtry (jazyk Wireshark s automatickým doplňováním).
  • Dešifrování HTTPS je dostupné přes SSLKEYLOGFILE pro prohlížeče Chrome a Firefox.
  • Mobilní ladění se realizuje přes PCAPdroid (Android) nebo Remote Virtual Interface (iOS) bez nutnosti root.
  • gRPC a Protobuf jsou podporovány načtením souborů .proto pro deserializaci binárních dat.
  • Flow Graph a IO Graph pomáhají vizualizovat zpoždění a nacházet úzká místa v interakci klient-server.

Vyvineme mobilní aplikaci na klíč

IT Sectr vytváří aplikace pro iOS a Android pro startupy a podniky od roku 2017. Poradíme vám a navrhneme nejlepší řešení.

Prodiskutovat projekt

Přečtěte si také