Wireshark: mi ez, forgalomelemzés és csomagok elfogása

Szerző: IT Sectr Megjelenés: 2026-05-08 Olvasási idő: 9 perc

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 — ingyenes csomagsniffer grafikus felülettel a hálózati forgalom elemzéséhez.
  • Forgalomelfogás a hálózati interfészen keresztül promiscuous módban, az adatkapcsolati réteg szintjén történik.
  • Szűrés a csomagok IP, port, protokoll és tartalom szerint a BPF-nyelven és display filterekkel valósul meg.
  • HTTPS-elemzés SSLKEYLOGFILE beállítását vagy köztes proxy-t igényel a munkamenetek visszafejtéséhez.
  • Mobil debugolás az eszközön futó tcpdump és a Remote Packet Capture kombinálásával lehetséges.

Mi az a Wireshark és hogyan működik

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 csomagelfogás elve

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.

Feldolgozási architektúra

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.

c
// 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;
}

A Wireshark fő képességei

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.

Támogatott formátumok és protokollok

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.

Elemző eszközök

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.

Hogyan fogjunk el forgalmat a Wiresharkkal

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.

Rögzítés távoli eszközön

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:

bash
# 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 .

Loopback forgalom rögzítése

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ő.

Csomagszűrés a Wiresharkban

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.

Capture Filters (BPF)

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

Display Filters

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 és HTTPS forgalom elemzése

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.

HTTPS visszafejtése SSLKEYLOGFILE-lal

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.

bash
# 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 és Protobuf elemzése

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.

Mobilalkalmazások debugolása a Wiresharkkal

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.

Beállítás Androidon root 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.

bash
# 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

A Wireshark összehasonlítása alternatívákkal

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 vs Wireshark

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 Everywhere

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

Gyakorlati tippek a Wireshark használatához

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.

Lassú kérések keresése

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.

Export és jelentéskészítés

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.

Gyakorlati tippek a Wireshark használatához

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.

Lassú kérések keresése

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.

Export és jelentéskészítés

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

Miben különbözik a Wireshark a tcpdump-tól?

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.

Hogyan fogjam el a HTTPS forgalmat a Wiresharkban?

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.

Miért nem látja a Wireshark a localhost forgalmat Windows alatt?

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.

Használható-e a Wireshark mobilalkalmazásokhoz?

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.

Hogyan szűrjem a csomagokat tartalom szerint a Wiresharkban?

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

  • Wireshark — a hálózati forgalom elemzésének fő eszköze a fejlesztésben, több mint 2800 protokoll támogatásával.
  • Csomagrögzítés promiscuous módban, a libpcap vagy Npcap könyvtáron keresztül, az adatkapcsolati hozzáférés szintjén történik.
  • Szűrés capture filterekre (BPF, kernel-szintű) és display filterekre (Wireshark-nyelv, automatikus kiegészítéssel) oszlik.
  • HTTPS-visszafejtés SSLKEYLOGFILE-on keresztül érhető el a Chrome és a Firefox böngészőkhöz.
  • Mobil debugolás a PCAPdroid (Android) vagy a Remote Virtual Interface (iOS) segítségével, root nélkül valósítható meg.
  • gRPC és Protobuf a .proto fájlok betöltésével támogatott a bináris adatok deszerializálásához.
  • Flow Graph és IO Graph segít a késleltetések vizualizálásában és a szűk keresztmetszetek megtalálásában a kliens-szerver interakcióban.

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.

Projekt megbeszélése

Olvassa el is