Sniff UDP пакети на локальному порту


13

Мені хотілося б знати, який вміст пакету одна програма "APM Planner" надсилає іншій "MAVProxy". Я знаю, що вони спілкуються через порт UDP 14550. Я спробував використовувати tcpdump, виконавши наступні команди

tcpdump -u port 14550

і

tcpdump udp

і

netstat -uanpc | grep 14550

але жодне з них не показало мені, чим ці дві програми насправді обмінюються. Мені потрібно щось на кшталт cutecom для моніторингу з'єднання UDP. Чи є щось подібне? Коли я запускаю команду

netstat -lnpuc

, вона показує наступне серед її результатів

udp 5376 0 0.0.0.0:14550 0.0.0.0:* 23598/apmplanner2 

Ви розглядали назву програми GUI wireshark? Він розчленує пакети і покаже інформацію, яку надсилає кожен, а потім ви можете використовувати udp.port == 14550або подібну як команду фільтрування, щоб показати лише той трафік. Проблема полягає в тому, що вам доведеться скласти разом те, що відбувається вперед і назад, виходячи з вмісту пакету. Але це здається, що це в кінцевому підсумку те, що ви хочете зробити самі ... (Просто обнюхайте loінтерфейс, якщо ви це зробите - це "локальний" 127. *. *. * Діапазон і локальний IPv6 внутрішньо у вашій системі)
Томас Уорд

Дякуємо за ваш коментар Я встановив Wireshark і надрукував udp.port == 14550в Apply a display filterподачі , але нічого не з'явилося. Я також спробував udp port 14550у Enter a capture filterполі. Крім того, коли я запускаю команду netstat -lnpuc, вона показує таке серед своїх результатівudp 5376 0 0.0.0.0:14550 0.0.0.0:* 23598/apmplanner2
Салахуддін Ахмед

Мені здається, що це не обов’язково слухати локально. Ви спробували відстежувати інші інтерфейси, щоб побачити, чи передається він вихідним?
Томас Уорд

1
Зараз це працює. Я повинен був бігти wiresharkз sudo. Велике спасибі
Салахуддін Ахмед

Відповіді:


18

tcpdump підтримує захоплення UDP . Приклад використання:

tcpdump -n udp port 14550

Редагувати

Оскільки ваші програми спілкуються з інтерфейсом lo, ви повинні вказати такий інтерфейс:

tcpdump -i lo -n udp port 14550

ця команда друкує лише заголовки. якщо ви хочете надрукувати частину даних пакету в шістнадцятковій та ASCII, використовуйте це:

tcpdump -i lo -n udp port 14550 -X

або якщо ви хочете зберегти пакети у файлі і побачити його вміст у Wireshark, використовуйте це:

tcpdump -i lo -n udp port 14550 -w packets.pcap

Я спробував цю команду, але вона не захоплює пакети. Він виводить наступне listening on wlo1, link-type EN10MB (Ethernet), capture size 262144 bytesі більше нічого!
Салахуддін Ахмед

@SalahuddinAshraf Я виправив це :)
Ghasem Pahlavan

дякую, зараз це працює. Він відображає джерело, призначення та довжину переданих даних. Чи можна змусити його відображати самі передані дані?
Салахуддін Ахмед

@SalahuddinAshraf так. ви повинні додати опцію -A tcpdump, щоб побачити дані. також ви можете надіслати пакет у файл і побачити пакети в Wireshark від-w packets.pcap
Ghasem Pahlavan

Пальван, Великий. Тепер я бачу дані. Чи можливо зробити дані відображеними у шістнадцятковій формі? Велике спасибі
Салахуддін Ахмед

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.