Wireshark: ce este, analiza traficului și interceptarea pachetelor

Autor: IT Sectr Publicat: 2026-05-08 Timp de citire: 9 min

Wireshark — cel mai important analizator de trafic de rețea cu cod sursă deschis, folosit pentru interceptarea și inspecția pachetelor în timp real. Instrumentul suportă peste două mii de protocoale de rețea și funcționează pe toate platformele principale. Potrivit Wireshark User Guide (2026), utilitarul este utilizat pentru diagnosticarea rețelelor, depanarea API și analiza securității în dezvoltarea de aplicații mobile și web.

Idei principale

  • Wireshark — un sniffer gratuit de pachete cu interfață grafică pentru analiza traficului de rețea.
  • Capturarea traficului se realizează prin interfața de rețea în modul promiscuous la nivelul stratului de legătură de date.
  • Filtrarea pachetelor după IP, port, protocol și conținut este implementată prin limbajul BPF și display filters.
  • Analiza HTTPS necesită configurarea SSLKEYLOGFILE sau a unui proxy intermediar pentru decriptarea sesiunilor.
  • Depanarea mobilă este posibilă prin combinarea cu tcpdump pe dispozitiv și Remote Packet Capture.

Ce este Wireshark și cum funcționează

Wireshark — un program cu cod sursă deschis (GPLv2) care interceptează pachetele de date care trec prin interfața de rețea a computerului. Se bazează pe biblioteca libpcap (Unix) sau Npcap (Windows) pentru capturarea la nivelul stratului de legătură de date al modelului OSI.

Principiul capturării pachetelor

Placa de rețea în mod normal primește doar cadrele adresate adresei sale MAC. Wireshark comută interfața în modul promiscuous, în care sistemul procesează toate cadrele care trec, indiferent de destinatar. Datele capturate sunt transmise nucleului prin socket brut raw socket, după care biblioteca libpcap le copiază în spațiul utilizator pentru analiză.

Arhitectura de procesare

Wireshark folosește o arhitectură modulară: fiecare protocol este implementat ca un disector separat — un plugin care parsează datele binare și le afișează într-o formă structurată. La nivelul anului 2026, în program sunt implementați disectori pentru 2 874 de protocoale, inclusiv HTTP/2, QUIC, gRPC și MQTT. Disectorii funcționează prin sistemul arborelui de protocoale — fiecare pachet este analizat pe straturi: de la cadrul Ethernet până la stratul de aplicație.

c
// Exemplu de disector simplu pentru un protocol personalizat
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;
}

Principalele capacități ale Wireshark

Interfața grafică a Wireshark este împărțită în trei panouri: lista de pachete (packet list), detaliile protocoalelor (packet details) și dump-ul hex (packet bytes). Fiecare panou se actualizează în timp real și suportă navigarea interactivă — clicul pe rândul unui pachet deschide structura sa completă.

Formate și protocoale suportate

Instrumentul citește fișiere de captură în formatele pcap, pcapng, snoop și NetMon. Exportul este posibil în JSON, XML, CSV și plain text. Printre protocoalele cheie de la nivelul aplicației se numără: HTTP/HTTPS, DNS, DHCP, TCP, UDP, TLS, QUIC, WebSocket, MQTT, AMQP și Protobuf. Pentru dezvoltarea mobilă, suportul pentru gRPC și HTTP/2 cu multiplexarea fluxurilor este deosebit de important.

Instrumente de analiză

Utilitarele integrate includ Follow Stream (refacerea dialogului complet TCP/UDP/TLS), IO Graph (graficul lățimii de bandă), statisticile conversațiilor (Conversations) și ierarhia protocoalelor (Protocol Hierarchy). Funcția Flow Graph vizualizează secvența pachetelor între noduri, ceea ce simplifică găsirea cauzelor întârzierilor la depanarea interacțiunii client-server.

Cum să interceptați traficul prin Wireshark

Pornirea capturii începe cu alegerea interfeței de rețea — Ethernet, Wi-Fi, Bluetooth PAN sau Loopback. Pe Windows poate fi necesară instalarea Npcap în modul WinPcap API Compatible Mode. Pentru capturarea pe dispozitive mobile se folosește Remote Packet Capture prin tunel SSH.

Capturarea pe un dispozitiv la distanță

Pe un dispozitiv Android, traficul este interceptat prin tcpdump sau PCAPdroid, iar apoi fișierul este transferat pe computerul de lucru. Comanda pentru capturarea la distanță prin ADB:

bash
# Capturarea traficului pe Android prin ADB shell
adb shell tcpdump -i wlan0 -s 0 -w /sdcard/capture.pcap
# Copierea pe computer
adb pull /sdcard/capture.pcap .

Capturarea traficului Loopback

Pe Windows, traficul localhost (127.0.0.1) nu trece prin interfața fizică, deci Wireshark nu îl vede direct. Soluția — instalarea Npcap cu opțiunea Loopback Support sau redirecționarea traficului prin RawCap. Pe Linux și macOS, interfața loopback (lo) este capturată fără setări suplimentare.

Filtrarea pachetelor în Wireshark

Wireshark oferă două tipuri de filtre: capture filters (se aplică înainte de capturare, la nivelul libpcap) și display filters (se aplică datelor deja capturate). Capture filters folosesc sintaxa BPF (Berkeley Packet Filter), iar display filters — limbajul propriu al Wireshark cu autocompletare.

Capture Filters (BPF)

Filtrele BPF se scriu în formatul tcpdump și se execută în nucleu, ceea ce minimizează pierderea de pachete la sarcină mare. Exemple de filtre:

Filtru Scop
tcp port 80 Doar trafic HTTP pe portul standard
host 192.168.1.1 Pachetele de la un anumit host
not arp Toate pachetele cu excepția cererilor ARP

Display Filters

Display filters se aplică ulterior și suportă condiții complexe cu operatori logici and, or, not. Exemplu: http.request.method == "POST" and ip.src == 192.168.0.100 va filtra doar cererile POST de pe un anumit IP. Filtrele pot fi salvate ca favorite pentru reutilizare.

Analiza traficului HTTP și HTTPS

Traficul HTTP este afișat în Wireshark într-o formă lizibilă: metoda cererii, URI, antetele și corpul răspunsului. Funcția Follow TCP Stream colectează dialogul complet dintre client și server într-o singură fereastră. Pentru HTTPS este necesară decriptarea sesiunilor TLS, deoarece conținutul este criptat.

Decriptarea HTTPS prin SSLKEYLOGFILE

Browserele Chrome și Firefox suportă variabila de mediu SSLKEYLOGFILE, care înregistrează cheile de sesiune TLS într-un fișier text. Wireshark folosește acest fișier pentru a decripta înregistrările. Configurarea se face prin Preferences → Protocols → TLS → (Pre)-Master-Secret log filename.

bash
# Pornirea Chrome cu înregistrarea cheilor TLS
export SSLKEYLOGFILE=/tmp/sslkeys.log
google-chrome .

# După capturare, indicați calea în Wireshark
# Edit → Preferences → Protocols → TLS → Log Filename

Analiza gRPC și Protobuf

gRPC folosește HTTP/2 ca transport și Protobuf pentru serializarea datelor. Wireshark decriptează mesajele gRPC dacă este furnizat un fișier .proto cu definiția structurilor. Disectorul Protobuf potrivește câmpurile binare cu numele din fișierul proto, ceea ce este esențial la depanarea arhitecturii de microservicii.

Depanarea aplicațiilor mobile cu Wireshark

Depanarea mobilă prin Wireshark necesită proxarea traficului dispozitivului către computer. Cea mai sigură metodă — crearea unui punct de acces Wi-Fi pe laptop și redirecționarea traficului prin NAT. Pe Android este disponibilă și metoda VPN cu aplicația PCAPdroid fără drepturi de root.

Configurarea pe Android fără root

PCAPdroid creează un serviciu VPN local care redirecționează traficul aplicațiilor către Wireshark prin flux UDP. Aplicația nu necesită acces root și suportă filtrarea după procese individuale. Fișierele pcap obținute sunt deschise în Wireshark pentru o analiză completă.

bash
# Primirea traficului de la PCAPdroid pe computer
# PCAPdroid → Settings → PCAP dumper → UDP Exporter
nc -l -u 192.168.0.10 12345 > capture.pcap

Compararea Wireshark cu alternativele

Wireshark — un instrument universal, dar pentru sarcini specifice există soluții mai specializate. tcpdump este mai eficient pentru capturarea server fără grafică, Charles Proxy este mai comod pentru analiza traficului HTTPS, iar Fiddler — pentru inspecția traficului web cu posibilitatea de modificare a cererilor din mers.

Charles Proxy vs Wireshark

Charles Proxy acționează ca un server proxy intermediar cu posibilitatea de interceptare a HTTPS prin propria certificare SSL. Spre deosebire de Wireshark, Charles nu necesită configurarea SSLKEYLOGFILE și poate nu doar să vizualizeze, ci și să modifice traficul — să înlocuiască răspunsurile, să emuleze întârzieri și să repete cererile.

Fiddler Everywhere

Fiddler — un alt instrument proxy, popular în ecosistemul .NET. Acesta oferă un editor integrat de cereri, suport pentru AutoResponder pentru mock-uri și un compozitor pentru crearea de cereri personalizate. Fiddler este mai potrivit pentru analiza traficului web din browser, iar Wireshark — pentru analiza rețelei la nivel scăzut.

Instrument Tip HTTPS fără chei Modificarea traficului
Wireshark Sniffer Nu (necesită SSLKEYLOGFILE) Doar vizualizare
Charles Proxy Da (certificat personalizat) Da
Fiddler Proxy Da (certificat personalizat) Da
tcpdump Sniffer Nu Doar vizualizare

Sfaturi practice pentru lucrul cu Wireshark

Wireshark necesită înțelegerea principiilor de bază ale capturării traficului. Unul dintre scenariile frecvente — găsirea sursei întârzierilor într-o aplicație mobilă prin filtrul tcp.analysis.ack_rtt. Pentru a găsi cererile HTTP lente, folosiți condiția http.time mai mare decât 1.

Găsirea cererilor lente

Pentru a găsi cererile HTTP lente, filtrați http.time mai mare decât 1 — Wireshark va afișa cererile cu un timp de răspuns mai mare de 1 secundă. Combinați cu ip.addr pentru analiza unui anumit server. IO Graph cu interval de 1 secundă va evidenția clar vârfurile de sarcină.

Export și raportare

Wireshark suportă exportul în CSV, JSON și XML prin meniul File. Pentru analiza automată folosiți tshark — versiunea de consolă care funcționează în pipeline-urile CI/CD. Tshark suportă aceleași filtre și formate de ieșire ca versiunea grafică.

Sfaturi practice pentru lucrul cu Wireshark

Wireshark necesită înțelegerea principiilor de bază ale capturării traficului. Unul dintre scenariile frecvente — găsirea sursei întârzierilor într-o aplicație mobilă prin filtrul tcp.analysis.ack_rtt. Pentru a găsi cererile HTTP lente, folosiți condiția http.time mai mare decât 1.

Găsirea cererilor lente

Pentru a găsi cererile HTTP lente, filtrați http.time mai mare decât 1 — Wireshark va afișa cererile cu un timp de răspuns mai mare de 1 secundă. Combinați cu ip.addr pentru analiza unui anumit server. IO Graph cu interval de 1 secundă va evidenția clar vârfurile de sarcină.

Export și raportare

Wireshark suportă exportul în CSV, JSON și XML prin meniul File. Pentru analiza automată folosiți tshark — versiunea de consolă care funcționează în pipeline-urile CI/CD. Tshark suportă aceleași filtre și formate de ieșire ca versiunea grafică.

Întrebări frecvente

Cu ce diferă Wireshark de tcpdump?

Wireshark oferă o interfață grafică cu vizualizarea pachetelor, filtre integrate și statistici. tcpdump — un utilitar de consolă fără GUI, comod pentru capturarea server prin SSH. Wireshark poate citi fișierele tcpdump și invers.

Cum să interceptez traficul HTTPS în Wireshark?

Pentru decriptare este necesar fișierul cu cheile de sesiune TLS (SSLKEYLOGFILE). Chrome și Firefox exportă cheile la lansarea cu variabila de mediu. Calea către fișier se specifică în setările Protocols → TLS din Wireshark.

De ce Wireshark nu vede traficul localhost pe Windows?

Traficul loopback pe Windows nu trece implicit prin driverul Npcap. Soluția — instalarea Npcap cu opțiunea Loopback Support activată sau utilizarea utilitarului RawCap pentru capturarea traficului local.

Pot fi folosit Wireshark pentru aplicații mobile?

Da, prin proxarea traficului către computer. Android suportă capturarea prin PCAPdroid (fără root) sau tcpdump (cu root). iOS necesită RVI (Remote Virtual Interface) prin macOS sau jailbreak pentru capturare.

Cum să filtrez pachetele după conținut în Wireshark?

Display filter frame contains caută un șir de caractere sau o secvență hex în întregul pachet. Exemplu: frame contains "password" va găsi pachetele cu subșirul password în orice câmp. Pentru căutarea exactă după câmp, folosiți http.request.uri contains "api" .

Concluzii

  • Wireshark — instrumentul principal pentru analiza traficului de rețea în dezvoltare, suportând peste 2800 de protocoale.
  • Capturarea pachetelor se realizează în modul promiscuous prin biblioteca libpcap sau Npcap la nivelul accesului la legătura de date.
  • Filtrarea se împarte în capture filters (BPF, la nivelul nucleului) și display filters (limbajul Wireshark, cu autocompletare).
  • Decriptarea HTTPS este disponibilă prin SSLKEYLOGFILE pentru browserele Chrome și Firefox.
  • Depanarea mobilă se realizează prin PCAPdroid (Android) sau Remote Virtual Interface (iOS) fără a fi necesar root.
  • gRPC și Protobuf sunt suportate prin încărcarea fișierelor .proto pentru deserializarea datelor binare.
  • Flow Graph și IO Graph ajută la vizualizarea întârzierilor și la găsirea punctelor critice în interacțiunea client-server.

Vom dezvolta o aplicație mobilă la cheie

IT Sectr creează aplicații iOS și Android pentru startup-uri și afaceri din 2017. Vă vom consilia și vă vom propune cea mai bună soluție.

Discutați proiectul

Citiți și