Wireshark: шта је то, анализа саобраћаја и пресретање пакета

Аутор: IT Sectr Објављено: 2026-05-08 Време читања: 9 мин

Wireshark — водећи анализатор мрежног саобраћаја са отвореним кодом, који се користи за пресретање и инспекцију пакета у реалном времену. Алат подржава више од две хиљаде мрежних протокола и ради на свим главним платформама. Према Wireshark User Guide (2026), алат се примењује за дијагностику мрежа, отклањање грешака у API-ју и анализу безбедности у мобилном и веб развоју.

Главно

  • Wireshark — бесплатан снифер пакета са графичким интерфејсом за анализу мрежног саобраћаја.
  • Хватање саобраћаја се обавља преко мрежног интерфејса у promiscuous режиму на нивоу каналног слоја.
  • Филтрирање пакета по IP, порту, протоколу и садржају реализовано је кроз BPF језик и display филтере.
  • Анализа HTTPS захтева подешавање SSLKEYLOGFILE или посредничког проксија за дешифровање сесија.
  • Мобилно отклањање грешака могуће је кроз комбинацију са tcpdump на уређају и Remote Packet Capture.

Шта је Wireshark и како ради

Wireshark — програм са отвореним кодом (GPLv2) који пресреће пакете података који пролазе кроз мрежни интерфејс рачунара. Заснован је на библиотеци libpcap (Unix) или Npcap (Windows) за хватање на нивоу каналног слоја OSI модела.

Принцип хватања пакета

Мрежна картица у нормалном режиму прима само оквире упућене њеној MAC адреси. Wireshark пребацује интерфејс у promiscuous режим, у којем систем обрађује све пролазне оквире без обзира на примаоца. Пресретнути подаци преносе се у језгро преко сировог сокета raw socket, након чега библиотека libpcap копира их у кориснички простор ради анализе.

Архитектура обраде

Wireshark користи модуларну архитектуру: сваки протокол је реализован као засебан дисектор — додатак који парсира бинарне податке и приказује их у структурисаном облику. На стање 2026. године у програму су реализовани дисектори за 2 874 протокола, укључујући HTTP/2, QUIC, gRPC и MQTT. Дисектори раде кроз систем стабла протокола — сваки пакет се разлаже слој по слој: од Ethernet оквира до апликативног слоја.

c
// Пример једноставног дисектора за прилагођени протокол
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;
}

Основне могућности Wireshark-а

Графички интерфејс Wireshark-а подељен је на три панела: листу пакета (packet list), детаље протокола (packet details) и hex дамп (packet bytes). Сваки панел се ажурира у реалном времену и подржава интерактивну навигацију — клик на ред пакета отвара његову комплетну структуру.

Подржани формати и протоколи

Алат чита датотеке хватања у форматима pcap, pcapng, snoop и NetMon. Извоз је могућ у JSON, XML, CSV и plain text. Међу кључним протоколима апликативног слоја су: HTTP/HTTPS, DNS, DHCP, TCP, UDP, TLS, QUIC, WebSocket, MQTT, AMQP и Protobuf. За мобилни развој посебно је важна подршка за gRPC и HTTP/2 са мултиплексирањем токова.

Алати за анализу

Уграђени алати укључују Follow Stream (обнављање комплетног TCP/UDP/TLS дијалога), IO Graph (график пропусности), статистику разговора (Conversations) и хијерархију протокола (Protocol Hierarchy). Функција Flow Graph визуализује редослед пакета између чворова, што олакшава проналажење узрока кашњења при отклањању грешака у интеракцији клијент-сервер.

Како пресретати саобраћај преко Wireshark-а

Покретање хватања почиње избором мрежног интерфејса — Ethernet, Wi-Fi, Bluetooth PAN или Loopback. На Windows-у може бити потребна инсталација Npcap-а у WinPcap API Compatible Mode режиму. За хватање на мобилним уређајима користи се Remote Packet Capture преко SSH тунела.

Хватање на удаљеном уређају

На Android уређају саобраћај се пресреће кроз tcpdump или PCAPdroid, уз накнадни пренос датотеке на радни рачунар. Команда за удаљено хватање преко ADB-а:

bash
# Хватање саобраћаја на Android-у преко ADB shell-а
adb shell tcpdump -i wlan0 -s 0 -w /sdcard/capture.pcap
# Копирање на рачунар
adb pull /sdcard/capture.pcap .

Хватање Loopback саобраћаја

На Windows-у localhost (127.0.0.1) саобраћај не пролази кроз физички интерфејс, па га Wireshark не види директно. Решење — инсталација Npcap-а са опцијом Loopback Support или преусмеравање саобраћаја кроз RawCap. На Linux-у и macOS-у loopback интерфејс (lo) се хвата без додатних подешавања.

Филтрирање пакета у Wireshark-у

Wireshark нуди две врсте филтера: capture filters (примењују се пре хватања, на нивоу libpcap-а) и display filters (примењују се на већ пресретнуте податке). Capture филтери користе синтаксу BPF (Berkeley Packet Filter), а display филтери — сопствени језик Wireshark-а са аутоматским довршавањем.

Capture Filters (BPF)

BPF филтери записују се у tcpdump формату и извршавају се у језгру, што минимизује губитак пакета при високом оптерећењу. Примери филтера:

Филтер Намена
tcp port 80 Само HTTP саобраћај на стандардном порту
host 192.168.1.1 Пакети од одређеног хоста
not arp Сви пакети осим ARP захтева

Display Filters

Display филтери примењују се накнадно и подржавају сложене услове са логичким операторима and, or, not. Пример: http.request.method == "POST" and ip.src == 192.168.0.100 филтрираће само POST захтеве са одређеног IP-а. Филтери се могу чувати као омиљени ради поновне употребе.

Анализа HTTP и HTTPS саобраћаја

HTTP саобраћај приказује се у Wireshark-у у читљивом облику: метода захтева, URI, заглавља и тело одговора. Функција Follow TCP Stream сакупља комплетан дијалог клијента и сервера у једном прозору. За HTTPS потребно је дешифровање TLS сесија, јер је садржај шифрован.

Дешифровање HTTPS преко SSLKEYLOGFILE

Прегледачи Chrome и Firefox подржавају променљиву окружења SSLKEYLOGFILE, која записује сесијске кључеве TLS у текстуалну датотеку. Wireshark користи ову датотеку за дешифровање записа. Подешавање се врши преко Preferences → Protocols → TLS → (Pre)-Master-Secret log filename.

bash
# Покретање Chrome-а са записом TLS кључева
export SSLKEYLOGFILE=/tmp/sslkeys.log
google-chrome .

# Након хватања навести путању у Wireshark-у
# Edit → Preferences → Protocols → TLS → Log Filename

Анализа gRPC и Protobuf

gRPC користи HTTP/2 као транспорт и Protobuf за серијализацију података. Wireshark дешифрује gRPC поруке ако се обезбеди .proto датотека са дефиницијом структура. Protobuf дисектор повезује бинарна поља са именима из proto датотеке, што је кључно при отклањању грешака у микросервисној архитектури.

Отклањање грешака у мобилним апликацијама уз Wireshark

Мобилно отклањање грешака преко Wireshark-а захтева проксирање саобраћаја уређаја на рачунар. Најпоузданија метода — креирање Wi-Fi приступне тачке на лаптопу и преусмеравање саобраћаја кроз NAT. На Android-у је такође доступна VPN метода са апликацијом PCAPdroid без root права.

Подешавање на Android-у без root-а

PCAPdroid креира локалну VPN услугу која преусмерава саобраћај апликација на Wireshark преко UDP тока. Апликација не захтева root приступ и подржава филтрирање по појединачним процесима. Добијене pcap датотеке отварају се у Wireshark-у ради комплетне анализе.

bash
# Пријем саобраћаја од PCAPdroid-а на рачунару
# PCAPdroid → Settings → PCAP dumper → UDP Exporter
nc -l -u 192.168.0.10 12345 > capture.pcap

Поређење Wireshark-а са алтернативама

Wireshark — универзалан алат, али за одређене задатке постоје специјализованија решења. tcpdump је ефикаснији за серверско хватање без графике, Charles Proxy је практичнији за анализу HTTPS саобраћаја, а Fiddler — за инспекцију веб саобраћаја са могућношћу модификације захтева у лету.

Charles Proxy vs Wireshark

Charles Proxy наступа као посреднички прокси сервер са могућношћу пресретања HTTPS преко сопствене SSL сертификације. За разлику од Wireshark-а, Charles не захтева подешавање SSLKEYLOGFILE и може не само да прегледа, већ и да мења саобраћај — замењује одговоре, емулира кашњења и понавља захтеве.

Fiddler Everywhere

Fiddler — још један прокси алат, популаран у .NET екосистему. Пружа уграђени едитор захтева, подршку за AutoResponder ради мокова и композер за креирање прилагођених захтева. Fiddler је погоднији за анализу веб саобраћаја прегледача, а Wireshark — за нискобуџетну мрежну анализу.

Алат Тип HTTPS без кључева Измена саобраћаја
Wireshark Снифер Не (потребан SSLKEYLOGFILE) Само преглед
Charles Прокси Да (прилагођени сертификат) Да
Fiddler Прокси Да (прилагођени сертификат) Да
tcpdump Снифер Не Само преглед

Практични савети за рад са Wireshark-ом

Wireshark захтева разумевање основних принципа хватања саобраћаја. Један од честих сценарија — проналажење извора кашњења у мобилној апликацији преко филтера tcp.analysis.ack_rtt. За проналажење спорих HTTP захтева користите услов http.time веће од 1.

Проналажење спорих захтева

За проналажење спорих HTTP захтева филтрирајте http.time веће од 1 — Wireshark ће приказати захтеве са временом одговора већим од 1 секунде. Комбинујте са ip.addr ради анализе одређеног сервера. IO Graph са интервалом од 1 секунде јасно ће приказати врхове оптерећења.

Извоз и извештавање

Wireshark подржава извоз у CSV, JSON и XML преко менија File. За аутоматску анализу користите tshark — конзолну верзију која ради у CI/CD pipeline-овима. Tshark подржава исте филтере и формате излаза као графичка верзија.

Практични савети за рад са Wireshark-ом

Wireshark захтева разумевање основних принципа хватања саобраћаја. Један од честих сценарија — проналажење извора кашњења у мобилној апликацији преко филтера tcp.analysis.ack_rtt. За проналажење спорих HTTP захтева користите услов http.time веће од 1.

Проналажење спорих захтева

За проналажење спорих HTTP захтева филтрирајте http.time веће од 1 — Wireshark ће приказати захтеве са временом одговора већим од 1 секунде. Комбинујте са ip.addr ради анализе одређеног сервера. IO Graph са интервалом од 1 секунде јасно ће приказати врхове оптерећења.

Извоз и извештавање

Wireshark подржава извоз у CSV, JSON и XML преко менија File. За аутоматску анализу користите tshark — конзолну верзију која ради у CI/CD pipeline-овима. Tshark подржава исте филтере и формате излаза као графичка верзија.

Често постављана питања

По чему се Wireshark разликује од tcpdump-а?

Wireshark пружа графички интерфејс са визуализацијом пакета, уграђеним филтерима и статистиком. tcpdump — конзолни алат без GUI-ја, погодан за серверско хватање преко SSH-а. Wireshark уме да чита tcpdump датотеке и обрнуто.

Како пресрести HTTPS саобраћај у Wireshark-у?

За дешифровање потребна је датотека сесијских кључева TLS (SSLKEYLOGFILE). Chrome и Firefox извозе кључеве при покретању са променљивом окружења. Путања до датотеке наводи се у подешавањима Protocols → TLS у Wireshark-у.

Зашто Wireshark не види localhost саобраћај на Windows-у?

Loopback саобраћај на Windows-у не пролази подразумевано кроз Npcap драјвер. Решење — инсталација Npcap-а са укљученом опцијом Loopback Support или коришћење алата RawCap за хватање локалног саобраћаја.

Може ли се Wireshark користити за мобилне апликације?

Да, преко проксирања саобраћаја на рачунар. Android подржава хватање преко PCAPdroid-а (без root-а) или tcpdump-а (са root-ом). iOS захтева RVI (Remote Virtual Interface) преко macOS-а или jailbreak ради хватања.

Како филтрирати пакете по садржају у Wireshark-у?

Display филтер frame contains тражи низ знакова или hex секвенцу у целом пакету. Пример: frame contains "password" пронаћи ће пакете са поднизом password у било ком пољу. За прецизну претрагу по пољу користите http.request.uri contains "api" .

Резиме

  • Wireshark — основни алат за анализу мрежног саобраћаја у развоју, са подршком за више од 2800 протокола.
  • Хватање пакета се обавља у promiscuous режиму преко библиотеке libpcap или Npcap на нивоу каналног приступа.
  • Филтрирање се дели на capture филтере (BPF, на нивоу језгра) и display филтере (Wireshark језик, са аутоматским довршавањем).
  • HTTPS дешифровање доступно је преко SSLKEYLOGFILE за прегледаче Chrome и Firefox.
  • Мобилно отклањање грешака реализује се преко PCAPdroid-а (Android) или Remote Virtual Interface-а (iOS) без потребе за root-ом.
  • gRPC и Protobuf подржани су кроз учитавање .proto датотека за десеријализацију бинарних података.
  • Flow Graph и IO Graph помажу у визуализацији кашњења и проналажењу уских грла у интеракцији клијент-сервер.

Развићемо мобилну апликацију под кључ

IT Sectr креира iOS и Android апликације за стартапе и предузећа од 2017. године. Саветоваћемо вас и предложити најбоље решење.

Разговарајте о пројекту

Прочитајте такође