Wireshark — ang nangungunang analyzer ng network traffic na may open source na code, ginagamit para sa pagharang at pag-inspeksyon ng mga packet sa real time. Ang tool ay sumusuporta sa higit sa dalawang libong network protocols at gumagana sa lahat ng pangunahing platform. Ayon sa Wireshark User Guide (2026), ang utility ay ginagamit para sa diagnosis ng mga network, pag-debug ng API, at pagsusuri ng seguridad sa mobile at web development.
Mga pangunahing punto
Wireshark — isang program na may open source code (GPLv2) na humaharang ng mga data packet na dumadaan sa network interface ng computer. Batay ito sa libpcap (Unix) o Npcap (Windows) na library para sa pagkuha sa antas ng data-link layer ng OSI model.
Ang network card sa normal na mode ay tumatanggap lamang ng mga frame na naka-address sa MAC address nito. Inililipat ng Wireshark ang interface sa promiscuous mode, kung saan pinoproseso ng system ang lahat ng dumadaang frame anuman ang tatanggap. Ang mga naharang na data ay ipinapadala sa kernel sa pamamagitan ng raw socket, pagkatapos ay kinokopya ng libpcap library ang mga ito sa user space para sa pagsusuri.
Gumagamit ang Wireshark ng modular architecture: bawat protocol ay ipinatupad bilang isang hiwalay na dissector — isang plugin na nag-parse ng binary data at ipinapakita ang mga ito sa structured na anyo. Noong 2026, ang programa ay may mga dissector para sa 2 874 na protocol, kabilang ang HTTP/2, QUIC, gRPC, at MQTT. Gumagana ang mga dissector sa pamamagitan ng protocol tree system — bawat packet ay sinusuri nang layer-by-layer: mula sa Ethernet frame hanggang sa application layer.
// Halimbawa ng isang simpleng dissector para sa custom na protocol
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;
} Graphical interface ng Wireshark ay nahahati sa tatlong panel: ang listahan ng packet (packet list), mga detalye ng protocol (packet details), at ang hex dump (packet bytes). Ang bawat panel ay ina-update sa real time at sumusuporta sa interactive navigation — ang pag-click sa isang packet row ay nagbubukas ng kumpletong istraktura nito.
Binabasa ng tool ang mga capture file sa mga format na pcap, pcapng, snoop, at NetMon. Posible ang pag-export sa JSON, XML, CSV, at plain text. Kabilang sa mga pangunahing protocol ng application layer: HTTP/HTTPS, DNS, DHCP, TCP, UDP, TLS, QUIC, WebSocket, MQTT, AMQP, at Protobuf. Para sa mobile development, partikular na mahalaga ang suporta sa gRPC at HTTP/2 na may multiplexing ng mga stream.
Kasama sa mga built-in na utility ang Follow Stream (pagbawi ng kumpletong TCP/UDP/TLS na diyalogo), IO Graph (graph ng bandwidth), mga istatistika ng pag-uusap (Conversations), at ang hierarchy ng protocol (Protocol Hierarchy). Ang function na Flow Graph ay nagbibiswalisa ng pagkakasunod-sunod ng mga packet sa pagitan ng mga node, na nagpapadali sa paghahanap ng mga sanhi ng pagkaantala sa pag-debug ng client-server interaction.
Pagsisimula ng pagkuha ay nagsisimula sa pagpili ng network interface — Ethernet, Wi-Fi, Bluetooth PAN, o Loopback. Sa Windows, maaaring kailanganin ang pag-install ng Npcap sa WinPcap API Compatible Mode. Para sa pagkuha sa mga mobile device, ginagamit ang Remote Packet Capture sa pamamagitan ng SSH tunnel.
Sa isang Android device, ang trapiko ay hinaharang sa pamamagitan ng tcpdump o PCAPdroid, at pagkatapos ay inililipat ang file sa work computer. Ang command para sa remote capture sa pamamagitan ng ADB:
# Pagkuha ng trapiko sa Android sa pamamagitan ng ADB shell
adb shell tcpdump -i wlan0 -s 0 -w /sdcard/capture.pcap
# Pagkopya sa computer
adb pull /sdcard/capture.pcap . Sa Windows, ang localhost (127.0.0.1) na trapiko ay hindi dumadaan sa physical interface, kaya hindi ito direktang nakikita ng Wireshark. Ang solusyon — pag-install ng Npcap na may Loopback Support na opsyon o pag-redirect ng trapiko sa pamamagitan ng RawCap. Sa Linux at macOS, ang loopback interface (lo) ay nakukuha nang walang karagdagang setting.
Wireshark ay nag-aalok ng dalawang uri ng filter: capture filters (inilalapat bago ang pagkuha, sa antas ng libpcap) at display filters (inilalapat sa mga naharap na data). Gumagamit ang capture filters ng BPF syntax (Berkeley Packet Filter), habang ang display filters — ng sariling language ng Wireshark na may autocomplete.
Ang mga BPF filter ay isinusulat sa tcpdump na format at isinasagawa sa kernel, na nagpapaliit sa pagkawala ng packet sa mataas na karga. Mga halimbawa ng filter:
| Filter | Layunin |
|---|---|
| tcp port 80 | HTTP lamang na trapiko sa standard port |
| host 192.168.1.1 | Mga packet mula sa isang partikular na host |
| not arp | Lahat ng packet maliban sa mga ARP request |
Inilalapat ang display filters pagkatapos at sinusuportahan ang mga komplikadong kondisyon na may mga logical operator na and, or, not. Halimbawa: http.request.method == "POST" and ip.src == 192.168.0.100 ay magfi-filter lamang ng mga POST request mula sa isang partikular na IP. Maaaring i-save ang mga filter bilang paborito para sa muling paggamit.
HTTP na trapiko ay ipinapakita sa Wireshark sa nababasang anyo: paraan ng request, URI, mga header, at katawan ng tugon. Kinokolekta ng Follow TCP Stream function ang kumpletong diyalogo ng client at server sa isang window. Para sa HTTPS, kinakailangan ang pag-dekript ng TLS sessions, dahil naka-encrypt ang nilalaman.
Ang mga browser na Chrome at Firefox ay sumusuporta sa environment variable na SSLKEYLOGFILE, na nagsusulat ng mga TLS session key sa isang text file. Ginagamit ng Wireshark ang file na ito para i-dekript ang mga record. Ang configuration ay ginagawa sa pamamagitan ng Preferences → Protocols → TLS → (Pre)-Master-Secret log filename.
# Paglunsad ng Chrome na may pag-record ng mga TLS key
export SSLKEYLOGFILE=/tmp/sslkeys.log
google-chrome .
# Pagkatapos ng pagkuha, tukuyin ang path sa Wireshark
# Edit → Preferences → Protocols → TLS → Log Filename gRPC ay gumagamit ng HTTP/2 bilang transport at Protobuf para sa serialization ng data. Dine-dekript ng Wireshark ang mga gRPC message kung ibibigay ang .proto file na may kahulugan ng mga structure. Itinutugma ng Protobuf dissector ang mga binary field sa mga pangalan mula sa proto file, na kritikal sa pag-debug ng microservice architecture.
Mobile debugging sa pamamagitan ng Wireshark ay nangangailangan ng pag-proxy ng trapiko ng device papunta sa computer. Ang pinaka-maaasahang paraan — paggawa ng Wi-Fi access point sa laptop at pag-redirect ng trapiko sa pamamagitan ng NAT. Sa Android, available din ang VPN method gamit ang PCAPdroid app nang walang root rights.
PCAPdroid ay lumilikha ng lokal na VPN service na nagre-redirect ng trapiko ng mga app papunta sa Wireshark sa pamamagitan ng UDP stream. Hindi nangangailangan ng root access ang app at sumusuporta sa pag-filter ayon sa mga indibidwal na proseso. Ang mga nakuhang pcap file ay binubuksan sa Wireshark para sa kumpletong pagsusuri.
# Pagtanggap ng trapiko mula sa PCAPdroid sa computer
# PCAPdroid → Settings → PCAP dumper → UDP Exporter
nc -l -u 192.168.0.10 12345 > capture.pcap Wireshark — isang unibersal na tool, ngunit para sa mga partikular na gawain ay may mas espesyalisadong solusyon. Mas epektibo ang tcpdump para sa server capture nang walang graphics, mas maginhawa ang Charles Proxy para sa pagsusuri ng HTTPS na trapiko, at ang Fiddler — para sa inspeksyon ng web traffic na may kakayahang baguhin ang mga request nang real-time.
Charles Proxy ay gumaganap bilang isang intermediate proxy server na may kakayahang harangin ang HTTPS sa pamamagitan ng sariling SSL certification. Hindi tulad ng Wireshark, hindi nangangailangan ang Charles ng configuration ng SSLKEYLOGFILE at maaari nitong hindi lamang tingnan kundi baguhin ang trapiko — palitan ang mga tugon, i-emulate ang mga pagkaantala, at ulitin ang mga request.
Fiddler — isa pang proxy tool na sikat sa .NET ecosystem. Nagbibigay ito ng built-in na request editor, suporta sa AutoResponder para sa mga mock, at composer para sa paggawa ng mga custom na request. Mas angkop ang Fiddler para sa pagsusuri ng web traffic ng browser, habang ang Wireshark — para sa low-level na network analysis.
| Tool | Uri | HTTPS nang walang key | Pagbabago ng trapiko |
|---|---|---|---|
| Wireshark | Sniffer | Hindi (kailangan ang SSLKEYLOGFILE) | Tanging tingnan |
| Charles | Proxy | Oo (custom na certificate) | Oo |
| Fiddler | Proxy | Oo (custom na certificate) | Oo |
| tcpdump | Sniffer | Hindi | Tanging tingnan |
Wireshark ay nangangailangan ng pag-unawa sa mga pangunahing prinsipyo ng pagkuha ng trapiko. Isa sa mga karaniwang scenario — paghahanap ng pinagmulan ng mga pagkaantala sa isang mobile app sa pamamagitan ng tcp.analysis.ack_rtt filter. Para sa paghahanap ng mabagal na HTTP request, gamitin ang kundisyong http.time mas malaki kaysa 1.
Para sa paghahanap ng mabagal na HTTP request, i-filter ang http.time mas malaki kaysa 1 — ipapakita ng Wireshark ang mga request na may oras ng tugon na higit sa 1 segundo. Pagsamahin sa ip.addr para sa pagsusuri ng isang partikular na server. Ang IO Graph na may 1 segundo na interval ay malinaw na magpapakita ng mga peak ng karga.
Sinusuportahan ng Wireshark ang pag-export sa CSV, JSON, at XML sa pamamagitan ng File menu. Para sa awtomatikong pagsusuri, gamitin ang tshark — ang console version na gumagana sa mga CI/CD pipeline. Sinusuportahan ng Tshark ang parehong mga filter at output format gaya ng graphical na bersyon.
Wireshark ay nangangailangan ng pag-unawa sa mga pangunahing prinsipyo ng pagkuha ng trapiko. Isa sa mga karaniwang scenario — paghahanap ng pinagmulan ng mga pagkaantala sa isang mobile app sa pamamagitan ng tcp.analysis.ack_rtt filter. Para sa paghahanap ng mabagal na HTTP request, gamitin ang kundisyong http.time mas malaki kaysa 1.
Para sa paghahanap ng mabagal na HTTP request, i-filter ang http.time mas malaki kaysa 1 — ipapakita ng Wireshark ang mga request na may oras ng tugon na higit sa 1 segundo. Pagsamahin sa ip.addr para sa pagsusuri ng isang partikular na server. Ang IO Graph na may 1 segundo na interval ay malinaw na magpapakita ng mga peak ng karga.
Sinusuportahan ng Wireshark ang pag-export sa CSV, JSON, at XML sa pamamagitan ng File menu. Para sa awtomatikong pagsusuri, gamitin ang tshark — ang console version na gumagana sa mga CI/CD pipeline. Sinusuportahan ng Tshark ang parehong mga filter at output format gaya ng graphical na bersyon.
Mga madalas itanong
Wireshark ay nagbibigay ng graphical interface na may visualization ng packet, built-in na filter, at istatistika. Ang tcpdump — console utility na walang GUI, maginhawa para sa server capture sa pamamagitan ng SSH. Marunong magbasa ng tcpdump files ang Wireshark at vice versa.
Para sa pag-dekript, kinakailangan ang file ng mga TLS session key (SSLKEYLOGFILE). Ang Chrome at Firefox ay nag-e-export ng mga key kapag inilunsad na may environment variable. Ang path sa file ay tinutukoy sa mga setting na Protocols → TLS sa Wireshark.
Ang loopback na trapiko sa Windows ay hindi dumadaan sa Npcap driver bilang default. Ang solusyon — pag-install ng Npcap na may naka-enable na Loopback Support na opsyon o paggamit ng RawCap utility para sa pagkuha ng lokal na trapiko.
Oo, sa pamamagitan ng pag-proxy ng trapiko papunta sa computer. Sinusuportahan ng Android ang pagkuha sa pamamagitan ng PCAPdroid (walang root) o tcpdump (may root). Ang iOS ay nangangailangan ng RVI (Remote Virtual Interface) sa pamamagitan ng macOS o jailbreak para sa pagkuha.
Ang display filter na frame contains ay naghahanap ng string o hex sequence sa buong packet. Halimbawa: frame contains "password" ay makakahanap ng mga packet na may substring na password sa anumang field. Para sa eksaktong paghahanap ayon sa field, gamitin ang http.request.uri contains "api" .
Buod
Gagawa kami ng mobile application na turnkey
Gumagawa ang IT Sectr ng mga iOS at Android application para sa mga startup at negosyo mula noong 2017. Magpapayo kami sa iyo at magmumungkahi ng pinakamahusay na solusyon.
Basahin din