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 в фоне?


Ответы (0 шт):