Wireshark распаковывает UDP-пакеты - PullRequest
0 голосов
/ 09 марта 2020

У меня следующая ситуация. Устройство отслеживания пакетов (которое захватывает беспроводной трафик c) отправляет захваченные пакеты по UDP на компьютер. На этом компьютере мы запускаем Wireshark с пользовательским диссектором, записанным в Lua.

Один пакет UDP содержит несколько перехваченных пакетов (для экономии на служебных данных и увеличения скорости передачи):
Пакет UDP: [перехваченный пакет 1 ] [сниффированный пакет 2] [сниффированный пакет 3] ... [сниффированный пакет n]

Теперь у нас проблема в том, что я вижу строку в Wireshark для каждого UDP-пакета. Но в этом пакете есть несколько пакетов анализатора. Нам нужно иметь в сети каждый перехваченный пакет.

Теперь я знаю, что не существует простого способа добиться этого, потому что я провел обширное исследование inte rnet. И на самом деле мы уже нашли решение для этого, используя вторую программу / скрипт за пределами Wireshark. Там мы разделили UDP-пакеты на отдельные пакеты сниффера, а затем отправили их в Wireshark (используя каналы). Оттуда Lua диссектор делает все остальное.

НО: у этого есть недостаток (помимо того, что он довольно не элегантный), что я должен запустить вторую программу перед запуском Wireshark. Это всего лишь одна сложность для пользователей, которых мы хотели бы избежать. Я подумал, что, возможно, есть способ манипулировать данными pcap, прежде чем они попадут в Wireshark. Я нашел кое-что, но только для захвата файлов. И нам это нужно в «реальном времени».

Кто-нибудь знает, как я могу добиться этого с помощью одного плагина? Lua было бы очень хорошо, но также может быть в C / C ++.

Заранее спасибо

...