Случайно обнаружил такое свойство tcpdump: если у вас есть бридж, в котором бегают пакеты не адресованные вам (грубо говоря на бридж зеркалируеться траффик адресованный не вам), то при попытке сделать
tcpdump -ne vlan 9
программа не видит пакетов.
Если же записать дамп в файл (без указания vlan), а потом просмотреть его
tcpdump -r dump.file vlan 9
то все работает, и исправно показывает.
Проверялось на Ubuntu 12.04.
Кстати еще убил немало времени разбираясь почему tcpdump не пишет дамп файлы в папку /opt (на самом деле в любую отличную от /home, /var и т.д.), оказалось, что для tcpdump по умолчанию включен apparmor в enforce.
А еще в Ubuntu 12.04 по умолчанию включен apparmor, и tcpdump не хочет писать файлы например в /opt.
Что бы снять ограничение нужно перевести профиль для tcpdump в режим complain, как это сделать я писал здесь: https://pustovoi.ru/2009/778