Wireshark — a vezető nyílt forráskódú hálózati forgalomelemző, amelyet a csomagok valós idejű elfogására és ellenőrzésére használnak. Az eszköz több mint kétezer hálózati protokollt támogat, és minden főbb platformon működik. A Wireshark User Guide (2026) szerint az eszköz hálózati diagnosztikára, API-debugolásra és biztonsági elemzésre használatos a mobil- és webfejlesztésben.
Lényeg
Wireshark — nyílt forráskódú program (GPLv2), amely elfogja a számítógép hálózati interfészén áthaladó adatcsomagokat. Az OSI-modell adatkapcsolati rétegében történő rögzítéshez a libpcap (Unix) vagy Npcap (Windows) könyvtárra épül.
A hálózati kártya normál módban csak a saját MAC-címére címzett kereteket fogadja. A Wireshark promiscuous módba kapcsolja az interfészt, amelyben a rendszer minden áthaladó keretet feldolgoz, függetlenül a címzettől. Az elfogott adatok raw socketen keresztül jutnak a kernelbe, majd a libpcap könyvtár a felhasználói térbe másolja őket elemzés céljából.
A Wireshark moduláris architektúrát használ: minden protokoll külön disszekciós modulként — a bináris adatokat feldolgozó és strukturált formában megjelenítő bővítményként van megvalósítva. 2026-ra a programban 2 874 protokollhoz készültek disszekciós modulok, többek között HTTP/2, QUIC, gRPC és MQTT. A disszekció a protokollfa-rendszeren keresztül működik — minden csomag rétegről rétegre kerül elemzésre: az Ethernet-kerettől az alkalmazási rétegig.
// Példa egy egyszerű disszekcióra egyedi protokollhoz
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;
} Grafikus felület a Wireshark három panelre oszlik: csomaglista (packet list), protokoll-részletek (packet details) és hexdump (packet bytes). Minden panel valós időben frissül, és támogatja az interaktív navigációt — egy csomagsorra kattintva megnyílik annak teljes szerkezete.
Az eszköz pcap, pcapng, snoop és NetMon formátumú rögzítőfájlokat olvas. Az export JSON, XML, CSV és plain text formátumban lehetséges. A fő alkalmazási rétegbeli protokollok közé tartozik: HTTP/HTTPS, DNS, DHCP, TCP, UDP, TLS, QUIC, WebSocket, MQTT, AMQP és Protobuf. A mobilfejlesztésben különösen fontos a gRPC és a HTTP/2 támogatása a folyamok multiplexelésével.
A beépített segédprogramok közé tartozik a Follow Stream (teljes TCP/UDP/TLS párbeszéd helyreállítása), az IO Graph (sávszélesség-grafikon), a beszélgetés-statisztika (Conversations) és a protokoll-hierarchia (Protocol Hierarchy). A Flow Graph funkció vizualizálja a csomagok sorrendjét a csomópontok között, ami megkönnyíti a késleltetések okainak keresését a kliens-szerver interakció debugolásakor.
Az elfogás elindítása a hálózati interfész kiválasztásával kezdődik — Ethernet, Wi-Fi, Bluetooth PAN vagy Loopback. Windows alatt szükség lehet az Npcap telepítésére WinPcap API Compatible Mode módban. A mobil eszközökön történő rögzítéshez a Remote Packet Capture használatos SSH-alagúton keresztül.
Android-eszközön a forgalmat a tcpdump vagy a PCAPdroid fogja el, majd a fájlt áttöltik a munkaállomásra. A távoli rögzítés parancsa ADB-n keresztül:
# Forgalomrögzítés Androidon ADB shell-en keresztül
adb shell tcpdump -i wlan0 -s 0 -w /sdcard/capture.pcap
# Másolás a számítógépre
adb pull /sdcard/capture.pcap . Windows alatt a localhost (127.0.0.1) forgalom nem halad át a fizikai interfészen, ezért a Wireshark nem látja közvetlenül. Megoldás — a Npcap telepítése Loopback Support opcióval, vagy a forgalom átirányítása RawCap-on keresztül. Linux és macOS alatt a loopback interfész (lo) további beállítások nélkül rögzíthető.
Wireshark kétféle szűrőt kínál: capture filtereket (az elfogás előtt, libpcap-szinten alkalmazzák) és display filtereket (a már elfogott adatokra). A capture filterek a BPF (Berkeley Packet Filter) szintaxist használják, a display filterek pedig a Wireshark saját nyelvét automatikus kiegészítéssel.
A BPF-szűrőket tcpdump formátumban írják, és a kernelben hajtják végre, ami nagy terhelés mellett minimálisra csökkenti a csomagvesztést. Példák szűrőkre:
| Szűrő | Rendeltetés |
|---|---|
| tcp port 80 | Csak HTTP-forgalom a szabványos porton |
| host 192.168.1.1 | Csomagok egy adott gazdagéptől |
| not arp | Minden csomag az ARP-kérések kivételével |
A display filtereket utólag alkalmazzák, és and, or, not logikai operátorokkal összetett feltételeket támogatnak. Példa: http.request.method == "POST" and ip.src == 192.168.0.100 csak az adott IP-ről érkező POST-kéréseket szűri ki. A szűrők kedvencként menthetők az újrafelhasználáshoz.
HTTP-forgalom a Wiresharkban olvasható formában jelenik meg: kérésmódszer, URI, fejlécek és a válasz törzse. A Follow TCP Stream funkció egyetlen ablakban gyűjti össze a kliens és a szerver teljes párbeszédét. A HTTPS-hez a TLS-munkamenetek visszafejtése szükséges, mivel a tartalom titkosított.
A Chrome és a Firefox böngésző támogatja a SSLKEYLOGFILE környezeti változót, amely a TLS-munkamenetkulcsokat szöveges fájlba írja. A Wireshark ezt a fájlt használja a rekordok visszafejtésére. A beállítás a Preferences → Protocols → TLS → (Pre)-Master-Secret log filename menüpontban történik.
# A Chrome indítása TLS-kulcsok naplózásával
export SSLKEYLOGFILE=/tmp/sslkeys.log
google-chrome .
# Rögzítés után adja meg az elérési utat a Wiresharkban
# Edit → Preferences → Protocols → TLS → Log Filename gRPC a HTTP/2-t használja szállítóként, a Protobufot pedig az adatszerializáláshoz. A Wireshark visszafejti a gRPC-üzeneteket, ha megadnak egy .proto fájlt a struktúrák definíciójával. A Protobuf-disszekció a bináris mezőket a proto-fájl neveivel párosítja, ami kritikus fontosságú a mikroszolgáltatás-architektúra debugolásakor.
Mobil debugolás a Wiresharkon keresztül megköveteli az eszköz forgalmának proxyzását a számítógépre. A legmegbízhatóbb módszer — Wi-Fi hozzáférési pont létrehozása a laptopon és a forgalom NAT-on keresztüli átirányítása. Android alatt a PCAPdroid alkalmazással a VPN-módszer is elérhető root jogosultságok nélkül.
PCAPdroid helyi VPN-szolgáltatást hoz létre, amely az alkalmazások forgalmát UDP-folyamon keresztül a Wiresharkra irányítja. Az alkalmazás nem igényel root hozzáférést, és az egyes folyamatok szerinti szűrést támogatja. A kapott pcap fájlok a Wiresharkban nyílnak meg teljes elemzéshez.
# Forgalom fogadása a PCAPdroiddól a számítógépen
# PCAPdroid → Settings → PCAP dumper → UDP Exporter
nc -l -u 192.168.0.10 12345 > capture.pcap Wireshark — univerzális eszköz, de konkrét feladatokhoz léteznek specializáltabb megoldások. A tcpdump hatékonyabb a grafikus felület nélküli szerverrögzítéshez, a Charles Proxy kényelmesebb a HTTPS-forgalom elemzéséhez, a Fiddler pedig a webbforgalom ellenőrzéséhez, a kérések menet közbeni módosításának lehetőségével.
Charles Proxy köztes proxyszerverként működik, saját SSL-tanúsítvánnyal történő HTTPS-elfogási lehetőséggel. A Wiresharkkal ellentétben a Charles nem igényel SSLKEYLOGFILE beállítást, és a forgalmat nemcsak megtekinteni, hanem módosítani is tudja — válaszokat cserélni, késleltetéseket szimulálni és kéréseket megismételni.
Fiddler — egy másik proxyeszköz, amely a .NET ökoszisztémában népszerű. Beépített kérésszerkesztőt, AutoResponder támogatást a mockokhoz, valamint kompozert biztosít egyedi kérések létrehozásához. A Fiddler inkább a böngésző webbforgalmának elemzésére, a Wireshark pedig az alacsony szintű hálózatelemzésre alkalmas.
| Eszköz | Típus | HTTPS kulcs nélkül | Forgalom módosítása |
|---|---|---|---|
| Wireshark | Sniffer | Nem (SSLKEYLOGFILE szükséges) | Csak megtekintés |
| Charles | Proxy | Igen (egyedi tanúsítvány) | Igen |
| Fiddler | Proxy | Igen (egyedi tanúsítvány) | Igen |
| tcpdump | Sniffer | Nem | Csak megtekintés |
Wireshark megköveteli a forgalomrögzítés alapelveinek megértését. Az egyik gyakori forgatókönyv — a késleltetések forrásának keresése egy mobilalkalmazásban a tcp.analysis.ack_rtt szűrő segítségével. A lassú HTTP-kérések kereséséhez használja a http.time nagyobb mint 1 feltételt.
A lassú HTTP-kérések kereséséhez szűrjön a http.time nagyobb mint 1 feltételre — a Wireshark az 1 másodpercnél hosszabb válaszidejű kéréseket mutatja. Egy adott szerver elemzéséhez kombinálja az ip.addr kifejezéssel. Az 1 másodperces intervallumú IO Graph egyértelműen mutatja a terhelési csúcsokat.
A Wireshark támogatja a CSV, JSON és XML exportot a File menüben. Automatikus elemzéshez használja a tshark-ot — a konzolos változatot, amely CI/CD pipeline-okban működik. A Tshark ugyanazokat a szűrőket és kimeneti formátumokat támogatja, mint a grafikus változat.
Wireshark megköveteli a forgalomrögzítés alapelveinek megértését. Az egyik gyakori forgatókönyv — a késleltetések forrásának keresése egy mobilalkalmazásban a tcp.analysis.ack_rtt szűrő segítségével. A lassú HTTP-kérések kereséséhez használja a http.time nagyobb mint 1 feltételt.
A lassú HTTP-kérések kereséséhez szűrjön a http.time nagyobb mint 1 feltételre — a Wireshark az 1 másodpercnél hosszabb válaszidejű kéréseket mutatja. Egy adott szerver elemzéséhez kombinálja az ip.addr kifejezéssel. Az 1 másodperces intervallumú IO Graph egyértelműen mutatja a terhelési csúcsokat.
A Wireshark támogatja a CSV, JSON és XML exportot a File menüben. Automatikus elemzéshez használja a tshark-ot — a konzolos változatot, amely CI/CD pipeline-okban működik. A Tshark ugyanazokat a szűrőket és kimeneti formátumokat támogatja, mint a grafikus változat.
Gyakran ismételt kérdések
Wireshark grafikus felületet biztosít a csomagok vizualizálásával, beépített szűrőkkel és statisztikákkal. A tcpdump — GUI nélküli konzol segédprogram, amely SSH-n keresztüli szerverrögzítésre alkalmas. A Wireshark képes olvasni a tcpdump fájlokat és fordítva.
A visszafejtéshez a TLS-munkamenetkulcsok fájljára (SSLKEYLOGFILE) van szükség. A Chrome és a Firefox környezeti változóval történő indításkor exportálja a kulcsokat. A fájl elérési útját a Protocols → TLS beállításokban kell megadni a Wiresharkban.
A loopback forgalom Windows alatt alapértelmezés szerint nem halad át az Npcap illesztőprogramon. Megoldás — az Npcap telepítése a Loopback Support opció bekapcsolásával, vagy a RawCap segédprogram használata a helyi forgalom rögzítéséhez.
Igen, a forgalom számítógépre történő proxyzásával. Az Android támogatja a rögzítést a PCAPdroidon (root nélkül) vagy a tcpdumpon (root-tal) keresztül. Az iOS a rögzítéshez RVI-t (Remote Virtual Interface) igényel macOS-en keresztül vagy jailbreaket.
A frame contains display filter karakterláncot vagy hex-szekvenciát keres a teljes csomagban. Példa: frame contains "password" megtalálja a password részstringet tartalmazó csomagokat bármely mezőben. A mező szerinti pontos kereséshez használja a http.request.uri contains "api" kifejezést.
Összegzés
Kulcsrakész mobilalkalmazást fejlesztünk
Az IT Sectr 2017 óta készít iOS és Android alkalmazásokat induló vállalkozásoknak és vállalkozásoknak. Tanácsot adunk, és a legjobb megoldást javasoljuk.
Olvassa el is