Wireshark — açıq mənbə kodlu, real vaxtda paketlərin ələ keçirilməsi və yoxlanması üçün istifadə olunan aparıcı şəbəkə trafiki analizatorudur. Alət iki mindən çox şəbəkə protokolunu dəstəkləyir və bütün əsas platformalarda işləyir. Wireshark User Guide (2026) məlumatına görə, alət mobil və veb inkişafda şəbəkələrin diaqnostikası, API-nin sazlanması və təhlükəsizlik analizi üçün tətbiq edilir.
Əsas məqamlar
Wireshark — kompüterin şəbəkə interfeysindən keçən məlumat paketlərini ələ keçirən açıq mənbə kodlu proqramdır (GPLv2). OSI modelinin kanal səviyyəsində ələ keçirmə üçün libpcap (Unix) və ya Npcap (Windows) kitabxanasına əsaslanır.
Şəbəkə kartı normal rejimdə yalnız öz MAC ünvanına ünvanlanmış çərçivələri qəbul edir. Wireshark interfeysi promiscuous (qarışıq) rejimə keçirir, bu zaman sistem bütün keçən çərçivələri ünvanından asılı olmayaraq emal edir. Ələ keçirilmiş məlumatlar raw socket vasitəsilə nüvəyə ötürülür, bundan sonra libpcap kitabxanası onları analiz üçün istifadəçi məkanına kopyalayır.
Wireshark modul arxitekturasından istifadə edir: hər protokol ayrıca dissektor — ikili verilənləri parse edən və onları strukturlaşdırılmış formada göstərən plagin kimi həyata keçirilib. 2026-cı ilin vəziyyətinə görə proqramda 2 874 protokol üçün dissektorlar mövcuddur, o cümlədən HTTP/2, QUIC, gRPC və MQTT. Dissektorlar protokol ağacı sistemi ilə işləyir — hər paket təbəqələrə görə təhlil olunur: Ethernet çərçivəsindən tətbiq səviyyəsinə qədər.
// Xüsusi protokol üçün sadə dissektor nümunəsi
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;
} Qrafik interfeys Wireshark üç panelə bölünür: paket siyahısı (packet list), protokol detalları (packet details) və hex çıxarışı (packet bytes). Hər panel real vaxtda yenilənir və interaktiv naviqasiyanı dəstəkləyir — paket sətri üzərinə klik onun tam strukturunu açır.
Alət pcap, pcapng, snoop və NetMon formatlarında ələ keçirmə fayllarını oxuyur. İxrac JSON, XML, CSV və plain text formatlarında mümkündür. Əsas tətbiq səviyyəli protokollar arasında: HTTP/HTTPS, DNS, DHCP, TCP, UDP, TLS, QUIC, WebSocket, MQTT, AMQP və Protobuf. Mobil inkişaf üçün axınların multipleksləşdirilməsi ilə gRPC və HTTP/2 dəstəyi xüsusilə vacibdir.
Daxili alətlərə Follow Stream (tam TCP/UDP/TLS dialoqunun bərpası), IO Graph (ötürmə qabiliyyəti qrafiki), söhbətlər statistikası (Conversations) və protokol iyerarxiyası (Protocol Hierarchy) daxildir. Flow Graph funksiyası qovşaqlar arasında paket ardıcıllığını vizuallaşdırır ki, bu da müştəri-server qarşılıqlı əlaqəsinin sazlanmasında gecikmə səbəblərinin axtarışını asanlaşdırır.
Ələ keçirmənin başladılması şəbəkə interfeysinin seçilməsi ilə başlayır — Ethernet, Wi-Fi, Bluetooth PAN və ya Loopback. Windows-da WinPcap API Compatible Mode rejimində Npcap-in quraşdırılması tələb oluna bilər. Mobil cihazlarda ələ keçirmə üçün SSH tuneli vasitəsilə Remote Packet Capture istifadə olunur.
Android cihazında trafik tcpdump və ya PCAPdroid vasitəsilə ələ keçirilir və sonradan fayl iş kompüterinə ötürülür. ADB vasitəsilə uzaq ələ keçirmə üçün əmr:
# Android-də ADB shell vasitəsilə trafikin ələ keçirilməsi
adb shell tcpdump -i wlan0 -s 0 -w /sdcard/capture.pcap
# Kompüterə kopyalama
adb pull /sdcard/capture.pcap . Windows-da localhost (127.0.0.1) trafiki fiziki interfeysdən keçmir, buna görə Wireshark onu birbaşa görmür. Həlli — Loopback Support seçimi ilə Npcap-in quraşdırılması və ya trafiki RawCap vasitəsilə yönləndirmək. Linux və macOS-da loopback interfeysi (lo) əlavə quraşdırma olmadan ələ keçirilir.
Wireshark iki növ filtr təklif edir: capture filters (ələ keçirmədən əvvəl, libpcap səviyyəsində tətbiq edilir) və display filters (artıq ələ keçirilmiş verilənlərə tətbiq edilir). Capture filtrləri BPF (Berkeley Packet Filter) sintaksisindən istifadə edir, display filtrləri isə avtomatik tamamlama ilə Wireshark-ın öz dilindən.
BPF filtrləri tcpdump formatında yazılır və nüvədə yerinə yetirilir ki, bu da yüksək yük zamanı paket itkisini minimuma endirir. Filtr nümunələri:
| Filtr | Məqsəd |
|---|---|
| tcp port 80 | Yalnız standart portda HTTP trafiki |
| host 192.168.1.1 | Müəyyən hostdan gələn paketlər |
| not arp | ARP sorğularından başqa bütün paketlər |
Display filtrləri sonradan tətbiq edilir və and, or, not məntiqi operatorları ilə mürəkkəb şərtləri dəstəkləyir. Nümunə: http.request.method == "POST" and ip.src == 192.168.0.100 yalnız müəyyən IP-dən POST sorğularını filtrləyəcək. Filtrləri təkrar istifadə üçün sevimlilər kimi saxlamaq olar.
HTTP trafiki Wireshark-da oxunaqlı formada göstərilir: sorğu metodu, URI, başlıqlar və cavab gövdəsi. Follow TCP Stream funksiyası müştəri və serverin tam dialoqunu bir pəncərədə toplayır. HTTPS üçün TLS seanslarının şifrəsinin açılması tələb olunur, çünki məzmun şifrələnib.
Chrome və Firefox brauzerləri TLS seans açarlarını mətn faylına yazan SSLKEYLOGFILE mühit dəyişənini dəstəkləyir. Wireshark bu fayldan yazıların şifrəsini açmaq üçün istifadə edir. Quraşdırma Preferences → Protocols → TLS → (Pre)-Master-Secret log filename vasitəsilə həyata keçirilir.
# TLS açarlarının yazılması ilə Chrome-un işə salınması
export SSLKEYLOGFILE=/tmp/sslkeys.log
google-chrome .
# Ələ keçirmədən sonra Wireshark-da yolu göstərmək
# Edit → Preferences → Protocols → TLS → Log Filename gRPC transport kimi HTTP/2 və məlumatların serializasiyası üçün Protobuf istifadə edir. Wireshark, strukturların tərifi ilə .proto faylı təqdim edildiyi təqdirdə gRPC mesajlarının şifrəsini açır. Protobuf dissektoru ikili sahələri proto faylındakı adlarla uyğunlaşdırır ki, bu da mikroservis arxitekturasının sazlanmasında kritik əhəmiyyət daşıyır.
Mobil sazlama Wireshark vasitəsilə cihaz trafikinin kompüterə proksiləşdirilməsini tələb edir. Ən etibarlı üsul — noutbukda Wi-Fi giriş nöqtəsi yaratmaq və trafiki NAT vasitəsilə yönləndirmək. Android-də root hüquqları olmadan PCAPdroid tətbiqi ilə VPN üsulu da mövcuddur.
PCAPdroid tətbiqlərin trafikini UDP axını vasitəsilə Wireshark-a yönləndirən yerli VPN xidməti yaradır. Tətbiq root girişi tələb etmir və ayrıca proseslər üzrə filtrləməni dəstəkləyir. Alınan pcap faylları tam analiz üçün Wireshark-da açılır.
# PCAPdroid-dən trafiki kompüterdə qəbul etmək
# PCAPdroid → Settings → PCAP dumper → UDP Exporter
nc -l -u 192.168.0.10 12345 > capture.pcap Wireshark — universal alətdir, lakin konkret tapşırıqlar üçün daha ixtisaslaşmış həllər mövcuddur. tcpdump qrafiksiz server ələ keçirilməsi üçün daha səmərəlidir, Charles Proxy HTTPS trafikinin təhlili üçün daha rahatdır, Fiddler isə sorğuların yerindəcə modifikasiyası imkanı ilə veb trafikinin yoxlanması üçündür.
Charles Proxy öz SSL sertifikatı vasitəsilə HTTPS-in ələ keçirilməsi imkanı olan vasitəçi proksi-server rolunu oynayır. Wireshark-dan fərqli olaraq, Charles SSLKEYLOGFILE konfiqurasiyası tələb etmir və trafiki nəinki baxmaq, həm də dəyişmək — cavabları əvəz etmək, gecikmələri emulyasiya etmək və sorğuları təkrarlamaq bacarığına malikdir.
Fiddler — .NET ekosistemində məşhur olan daha bir proksi alətdir. O, daxili sorğu redaktoru, mocklar üçün AutoResponder dəstəyi və xüsusi sorğular yaratmaq üçün kompozitor təmin edir. Fiddler brauzer veb trafikinin təhlili üçün, Wireshark isə aşağı səviyyəli şəbəkə analizi üçün daha uyğundur.
| Alət | Növü | HTTPS açarsız | Trafikin dəyişdirilməsi |
|---|---|---|---|
| Wireshark | Sniffer | Xeyr (SSLKEYLOGFILE lazımdır) | Yalnız baxış |
| Charles | Proksi | Bəli (xüsusi sertifikat) | Bəli |
| Fiddler | Proksi | Bəli (xüsusi sertifikat) | Bəli |
| tcpdump | Sniffer | Xeyr | Yalnız baxış |
Wireshark trafikin ələ keçirilməsinin əsas prinsiplərinin başa düşülməsini tələb edir. Tez-tez rast gəlinən ssenarilərdən biri tcp.analysis.ack_rtt filtri vasitəsilə mobil tətbiqdə gecikmə mənbəyinin axtarışıdır. Yavaş HTTP sorğularını tapmaq üçün http.time-nın 1-dən böyük şərtindən istifadə edin.
Yavaş HTTP sorğularını tapmaq üçün http.time-nı 1-dən böyük olaraq filtrləyin — Wireshark cavab müddəti 1 saniyədən çox olan sorğuları göstərəcək. Konkret serveri təhlil etmək üçün ip.addr ilə birləşdirin. 1 saniyə intervallı IO Graph yük zirvələrini aydın göstərəcək.
Wireshark File menyusu vasitəsilə CSV, JSON və XML ixracını dəstəkləyir. Avtomatik analiz üçün CI/CD pipeline-larında işləyən konsol versiyası olan tshark istifadə edin. Tshark qrafik versiya ilə eyni filtrləri və çıxış formatlarını dəstəkləyir.
Wireshark trafikin ələ keçirilməsinin əsas prinsiplərinin başa düşülməsini tələb edir. Tez-tez rast gəlinən ssenarilərdən biri tcp.analysis.ack_rtt filtri vasitəsilə mobil tətbiqdə gecikmə mənbəyinin axtarışıdır. Yavaş HTTP sorğularını tapmaq üçün http.time-nın 1-dən böyük şərtindən istifadə edin.
Yavaş HTTP sorğularını tapmaq üçün http.time-nı 1-dən böyük olaraq filtrləyin — Wireshark cavab müddəti 1 saniyədən çox olan sorğuları göstərəcək. Konkret serveri təhlil etmək üçün ip.addr ilə birləşdirin. 1 saniyə intervallı IO Graph yük zirvələrini aydın göstərəcək.
Wireshark File menyusu vasitəsilə CSV, JSON və XML ixracını dəstəkləyir. Avtomatik analiz üçün CI/CD pipeline-larında işləyən konsol versiyası olan tshark istifadə edin. Tshark qrafik versiya ilə eyni filtrləri və çıxış formatlarını dəstəkləyir.
Tez-tez verilən suallar
Wireshark paketlərin vizuallaşdırılması, daxili filtrlər və statistika ilə qrafik interfeys təmin edir. tcpdump — GUI-siz konsol alətidir, SSH üzərindən server ələ keçirilməsi üçün rahatdır. Wireshark tcpdump fayllarını oxuya bilir və əksinə.
Şifrənin açılması üçün TLS seans açarları faylı (SSLKEYLOGFILE) tələb olunur. Chrome və Firefox mühit dəyişəni ilə işə salındıqda açarları ixrac edir. Faylın yolu Wireshark-da Protocols → TLS parametrlərində göstərilir.
Windows-da loopback trafiki Npcap sürücüsündən standart olaraq keçmir. Həlli — Loopback Support seçimi işə salınmış Npcap quraşdırmaq və ya yerli trafiki ələ keçirmək üçün RawCap alətindən istifadə etməkdir.
Bəli, trafiki kompüterə proksiləşdirməklə. Android PCAPdroid (root olmadan) və ya tcpdump (root ilə) vasitəsilə ələ keçirməni dəstəkləyir. iOS ələ keçirmə üçün macOS vasitəsilə RVI (Remote Virtual Interface) və ya jailbreak tələb edir.
Display filter frame contains bütün paketdə sətir və ya hex ardıcıllığını axtarır. Nümunə: frame contains "password" istənilən sahədə password alt sətri olan paketləri tapacaq. Sahə üzrə dəqiq axtarış üçün http.request.uri contains "api" istifadə edin.
Yekun
Açar təslim mobil tətbiq hazırlayacağıq
IT Sectr 2017-ci ildən startaplar və bizneslər üçün iOS və Android tətbiqləri yaradır. Sizə məsləhət verəcəyik və ən yaxşı həlli təklif edəcəyik.
Həm də oxuyun