Я реально не очікував, що стільки людей захочуть поглибитися в тему трафіку - мені стільки писали в лс, що я не встигав відповідати, Це дуже радує 💛
То давайте продовжимо? Я ж вам обіцяв міні-шпаргалку з RTP-полями.
І так RTP шпаргалка для для вас)
- Seq (Sequence Number) → показує номер пакета. Якщо є дірки → значить втрати.
- Timestamp → час, коли був відправлений аудіо/відео пакет. Використовується для відновлення порядку.
- SSRC (Synchronization Source ID) → унікальний ідентифікатор стріму. Допомагає відрізнити кілька одночасних джерел.
- Jitter → варіація затримок між пакетами. Якщо воно росте → користувач чує “робота-трансформера”.
- Packet Loss → реальний відсоток загублених пакетів. Якщо більше 1–2% - звук починає сипатися.
І самі фільтри в Wireshark
Аудіо по RTP:
rtp && (udp.port==5004 || udp.port==5005)
Втрати пакетів:
rtp && (rtp.seq != previous_rtp.seq+1)
Аналіз джиттера/втрат:
Telephony → RTP → Stream Analysis
Потім вже по сильніше
Аудіо (SIP/RTP):
sip || rtp
Сигналізація + сам аудіопотік.
Відео (WebRTC/RTSP):
rtsp stun turn || webrtc
Показує дірки у потоках.
DNS-запити:
dns
Тут можно швидко побачити, куди ходить клієнт.
HTTP-коди помилок:
http.response.code >= 400
Знаходимо 4xx/5xx.
TLS-handshake:
ssl.handshake || tls.handshake
Для дебагу HTTPS-з’єднань.
REST API (типовий бекенд):
http || tcp.port==443
Перевіряємо, чи взагалі йдуть запити.
CSTA (телеком API):
tcp.port == 7000
Або свій порт, якщо кастомний.
Авторизація (логіни):
http.request.uri contains "login" || http.request.uri contains "auth"
Зручно ловити момент логіну.
Конкретний хост:
ip.addr == 111.111.0.10
- ну тут вже свій підтавляєте)
Трафік тільки від одного юзера.
Конкретний порт:
tcp.port == 8080
Наприклад, бекенд dev-середовища.
Шукати рядок у тілі:
frame contains "error"
Прямо ловимо текст помилки.
Шо я маю вам сказать)
Збережіть собі ці фільтри у Display Filter Bookmarks в Wireshark. Тоді все під рукою і не треба згадувати синтаксис кожного разу.
Всім гарного дня,
Всіх обняв 🤗🤗🤗