похоже, я нашел причину. В любом случае, спасибо тем, кто предложил решения.
Я не упомянул, что мой Ubuntu работает на виртуальной машине (что, в принципе, не является проблемой, поскольку Wireshark получил сообщения)
Интерфейсы:
eth2 - это интерфейс, о котором я говорил выше (таким образом, который осуществляет внешнюю связь через трансляции). Это " соединенный " один.
Кроме того, я реализовал внутренний сетевой интерфейс " только для хоста " eth4 для связи с другими виртуальными машинами.
Я также добавил маршрут " default " для eth2, иначе широковещательная связь не работала бы вообще.
Однако я не заметил автоматически вставленный маршрут link-local , который указывал на eth4 . Поэтому я пришел к выводу, что система использует это для обработки всех сообщений 169.254.x.x, и мое приложение больше их не получает.
Два способа решили мою проблему:
Вот таблица маршрутизации перед удалением маршрута:
Ziel Router Genmask Flags Metric Ref Use Iface
192.168.230.0 * 255.255.255.0 U 1 0 0 eth4
192.168.1.0 * 255.255.255.0 U 1 0 0 eth2
link-local * 255.255.0.0 U 1000 0 0 eth4
default * 0.0.0.0 U 10 0 0 eth2
Теперь я могу с радостью получать все пакеты с устройств, которые мне нужны.