Wireshark — den ledande nätverkstrafikanalysatorn med öppen källkod, som används för att fånga och inspektera paket i realtid. Verktyget stöder över två tusen nätverksprotokoll och fungerar på alla större plattformar. Enligt Wireshark User Guide (2026) används verktyget för nätverksdiagnostik, API-felsökning och säkerhetsanalys i mobil- och webbutveckling.
Viktigast
Wireshark — ett program med öppen källkod (GPLv2) som fångar datapaket som passerar genom datorns nätverksgränssnitt. Det bygger på libpcap-biblioteket (Unix) eller Npcap (Windows) för fångst på datalänkskiktet i OSI-modellen.
Nätverkskortet tar i normalt läge endast emot ramar som är adresserade till dess MAC-adress. Wireshark växlar gränssnittet till promiscuous-läge, där systemet bearbetar alla passerande ramar oavsett mottagare. Fångade data överförs till kärnan via en raw socket, varefter libpcap-biblioteket kopierar dem till användarutrymmet för analys.
Wireshark använder en modulär arkitektur: varje protokoll är implementerat som en separat dissektor — en plugin som tolkar binära data och visar dem i strukturerad form. Per 2026 finns dissektorer för 2 874 protokoll implementerade i programmet, inklusive HTTP/2, QUIC, gRPC och MQTT. Dissektorerna fungerar via systemet med protokollträd — varje paket analyseras lager för lager: från Ethernet-ramen till applikationslagret.
// Exempel på en enkel dissektor för ett anpassat protokoll
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;
} Grafiskt gränssnitt Wireshark är uppdelat i tre paneler: paketlista (packet list), protokolldetaljer (packet details) och hex-dump (packet bytes). Varje panel uppdateras i realtid och stödjer interaktiv navigering — ett klick på en paketrad öppnar dess fullständiga struktur.
Verktyget läser fångstfiler i formaten pcap, pcapng, snoop och NetMon. Export är möjlig till JSON, XML, CSV och plain text. Bland de viktigaste applikationslagerprotokollen finns: HTTP/HTTPS, DNS, DHCP, TCP, UDP, TLS, QUIC, WebSocket, MQTT, AMQP och Protobuf. För mobilutveckling är stödet för gRPC och HTTP/2 med multiplexering av dataströmmar särskilt viktigt.
Inbyggda verktyg omfattar Follow Stream (återställning av fullständig TCP/UDP/TLS-dialog), IO Graph (bandbreddsdiagram), samtalsstatistik (Conversations) och protokollhierarki (Protocol Hierarchy). Funktionen Flow Graph visualiserar paketens ordningsföljd mellan noder, vilket förenklar sökandet efter orsaker till fördröjningar vid felsökning av klient-serverinteraktion.
Att starta fångst börjar med val av nätverksgränssnitt — Ethernet, Wi-Fi, Bluetooth PAN eller Loopback. På Windows kan installation av Npcap i läget WinPcap API Compatible Mode krävas. För fångst på mobila enheter används Remote Packet Capture via SSH-tunnel.
På en Android-enhet fångas trafiken via tcpdump eller PCAPdroid, varefter filen överförs till arbetsdatorn. Kommandot för fjärrfångst via ADB:
# Fånga trafik på Android via ADB shell
adb shell tcpdump -i wlan0 -s 0 -w /sdcard/capture.pcap
# Kopiera till datorn
adb pull /sdcard/capture.pcap . På Windows passerar localhost-trafik (127.0.0.1) inte det fysiska gränssnittet, så Wireshark ser den inte direkt. Lösningen — installation av Npcap med alternativet Loopback Support eller omdirigering av trafiken via RawCap. På Linux och macOS fångas loopback-gränssnittet (lo) utan ytterligare inställningar.
Wireshark erbjuder två typer av filter: capture filters (tillämpas före fångsten, på libpcap-nivå) och display filters (tillämpas på redan fångade data). Capture filters använder BPF-syntaxen (Berkeley Packet Filter), medan display filters använder Wiresharks eget språk med autokomplettering.
BPF-filter skrivs i tcpdump-format och utförs i kärnan, vilket minimerar paketförlust vid hög belastning. Exempel på filter:
| Filter | Syfte |
|---|---|
| tcp port 80 | Endast HTTP-trafik på standardporten |
| host 192.168.1.1 | Paket från en specifik värd |
| not arp | Alla paket utom ARP-förfrågningar |
Display filters tillämpas i efterhand och stödjer komplexa villkor med logiska operatorer and, or, not. Exempel: http.request.method == "POST" and ip.src == 192.168.0.100 filtrerar bara POST-förfrågningar från en specifik IP. Filter kan sparas som favoriter för återanvändning.
HTTP-trafik visas i Wireshark i läsbar form: förfrågningsmetod, URI, rubriker och svarsinnehåll. Funktionen Follow TCP Stream samlar klientens och serverns fullständiga dialog i ett fönster. För HTTPS krävs dekryptering av TLS-sessioner, eftersom innehållet är krypterat.
Webbläsarna Chrome och Firefox stödjer miljövariabeln SSLKEYLOGFILE, som skriver TLS-sessionsnycklar till en textfil. Wireshark använder denna fil för att dekryptera posterna. Konfigureringen görs via Preferences → Protocols → TLS → (Pre)-Master-Secret log filename.
# Starta Chrome med inspelning av TLS-nycklar
export SSLKEYLOGFILE=/tmp/sslkeys.log
google-chrome .
# Efter fångsten ange sökvägen i Wireshark
# Edit → Preferences → Protocols → TLS → Log Filename gRPC använder HTTP/2 som transport och Protobuf för serialisering av data. Wireshark dekrypterar gRPC-meddelanden om en .proto-fil med strukturdefinitioner tillhandahålls. Protobuf-dissektorn matchar binära fält mot namnen från proto-filen, vilket är avgörande vid felsökning av mikrotjänstarkitektur.
Mobil felsökning via Wireshark kräver att enhetens trafik proxas till datorn. Den mest tillförlitliga metoden — att skapa en Wi-Fi-åtkomstpunkt på datorn och omdirigera trafiken via NAT. På Android finns också VPN-metoden med appen PCAPdroid utan root-rättigheter.
PCAPdroid skapar en lokal VPN-tjänst som omdirigerar apparnas trafik till Wireshark via en UDP-ström. Appen kräver inte root-åtkomst och stödjer filtrering efter enskilda processer. De erhållna pcap-filerna öppnas i Wireshark för fullständig analys.
# Ta emot trafik från PCAPdroid på datorn
# PCAPdroid → Settings → PCAP dumper → UDP Exporter
nc -l -u 192.168.0.10 12345 > capture.pcap Wireshark — ett universellt verktyg, men för specifika uppgifter finns mer specialiserade lösningar. tcpdump är effektivare för serverfångst utan grafik, Charles Proxy är bekvämare för analys av HTTPS-trafik och Fiddler — för inspektion av webbtrafik med möjlighet att modifiera förfrågningar i farten.
Charles Proxy fungerar som en mellanliggande proxyserver med möjlighet att fånga HTTPS via egen SSL-certifiering. Till skillnad från Wireshark kräver Charles ingen konfigurering av SSLKEYLOGFILE och kan inte bara visa utan också modifiera trafiken — byta ut svar, emulera fördröjningar och upprepa förfrågningar.
Fiddler — ännu ett proxyverktyg, populärt i .NET-ekosystemet. Det erbjuder en inbyggd förfrågningsredigerare, stöd för AutoResponder för mockar och en kompositör för att skapa anpassade förfrågningar. Fiddler passar bättre för analys av webbtrafik från webbläsaren, medan Wireshark — för lågnivå nätverksanalys.
| Verktyg | Typ | HTTPS utan nycklar | Ändra trafik |
|---|---|---|---|
| Wireshark | Sniffer | Nej (kräver SSLKEYLOGFILE) | Endast visning |
| Charles | Proxy | Ja (anpassat certifikat) | Ja |
| Fiddler | Proxy | Ja (anpassat certifikat) | Ja |
| tcpdump | Sniffer | Nej | Endast visning |
Wireshark kräver förståelse för grundprinciperna för trafikfångst. Ett av de vanliga scenarierna — att hitta källan till fördröjningar i en mobilapp via filtret tcp.analysis.ack_rtt. För att hitta långsamma HTTP-förfrågningar, använd villkoret http.time större än 1.
För att hitta långsamma HTTP-förfrågningar, filtrera http.time större än 1 — Wireshark visar förfrågningar med en svarstid på mer än 1 sekund. Kombinera med ip.addr för analys av en specifik server. IO Graph med ett intervall på 1 sekund visar tydligt belastningstopparna.
Wireshark stödjer export till CSV, JSON och XML via menyn File. För automatisk analys använd tshark — konsolversionen som fungerar i CI/CD-pipelines. Tshark stödjer samma filter och utdataformat som den grafiska versionen.
Wireshark kräver förståelse för grundprinciperna för trafikfångst. Ett av de vanliga scenarierna — att hitta källan till fördröjningar i en mobilapp via filtret tcp.analysis.ack_rtt. För att hitta långsamma HTTP-förfrågningar, använd villkoret http.time större än 1.
För att hitta långsamma HTTP-förfrågningar, filtrera http.time större än 1 — Wireshark visar förfrågningar med en svarstid på mer än 1 sekund. Kombinera med ip.addr för analys av en specifik server. IO Graph med ett intervall på 1 sekund visar tydligt belastningstopparna.
Wireshark stödjer export till CSV, JSON och XML via menyn File. För automatisk analys använd tshark — konsolversionen som fungerar i CI/CD-pipelines. Tshark stödjer samma filter och utdataformat som den grafiska versionen.
Vanliga frågor
Wireshark erbjuder ett grafiskt gränssnitt med paketvisualisering, inbyggda filter och statistik. tcpdump — ett konsolverktyg utan GUI, lämpligt för serverfångst via SSH. Wireshark kan läsa tcpdump-filer och tvärtom.
För dekryptering krävs filen med TLS-sessionsnycklar (SSLKEYLOGFILE). Chrome och Firefox exporterar nycklarna när de startas med en miljövariabel. Sökvägen till filen anges i inställningarna Protocols → TLS i Wireshark.
Loopback-trafik på Windows passerar som standard inte Npcap-drivrutinen. Lösningen — installation av Npcap med alternativet Loopback Support aktiverat eller användning av verktyget RawCap för att fånga lokal trafik.
Ja, genom att proxy trafiken till datorn. Android stödjer fångst via PCAPdroid (utan root) eller tcpdump (med root). iOS kräver RVI (Remote Virtual Interface) via macOS eller jailbreak för fångst.
Display filter frame contains söker efter en sträng eller hex-sekvens i hela paketet. Exempel: frame contains "password" hittar paket med delsträngen password i valfritt fält. För exakt sökning efter fält, använd http.request.uri contains "api" .
Sammanfattning
Vi utvecklar en mobil applikation nyckelfärdigt
IT Sectr skapar iOS- och Android-applikationer för startups och företag sedan 2017. Vi ger dig råd och föreslår den bästa lösningen.
Läs också