tcpdump в фоне не собирает трафик
Необходимо запускать tcpdump в качестве периодической задачи через cron. Пробовал несколько разных вариантов, но всегда создается пустой pcap файл, хотя в соседнем терминале наблюдаю как приходят пакеты, подпадающие под фильтр. Собственно, команда выглядит так:
# /usr/sbin/tcpdump -i eth1 -w /tmp/dump.pcap udp and dst port 53
При запуске из командной строки в обычном режиме все работает замечательно, трафик собирается и пишется в файл. Пытаюсь перевести в фон
# /usr/sbin/tcpdump -i eth1 -w /tmp/dump.pcap udp and dst port 53 &
И трафик перестает собираться.
Аналогично и в cron - по указанному пути создается пустой pcap-файл и не наполняется, хотя трафик точно есть. Пробовал выводить в файл сообщения от tcpdump в надежде обнаружить там какие-либо ошибки, но кроме сообщений о старте прослушивания заданного интерфейса, никаких больше записей не обнаружил.
Также пробовал nohup и до кучи setsid и disown - ни в одном из режимов не происходит наполнение pcap файла.
Запуск процесса происходит с правами root - как из командной строки, так и посредством cron.
Запускаю в фоне для того, чтобы можно было через необходимый промежуток времени погасить фоновую задачу, используя переменную $! - других способов выбора временного промежутка, в течение которого необходимо собирать трафик, я увы не нашел. С одинаковым результатом были совершены попытки на следующих конфигурациях:
tcpdump version 4.1-PRE-CVS_2012_03_26
libpcap version 1.4.0
# cat /etc/centos-release
CentOS release 6.6 (Final)
# uname -r
2.6.32-504.8.1.el6.x86_64
tcpdump version 4.9.2
libpcap version 1.8.1
# lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description: Debian GNU/Linux 9.7 (stretch)
Release: 9.7
Codename: stretch
# uname -r
4.9.0-8-amd64
Поделитесь, кто как запускает tcpdump в фоне?