Я без проблем использовал tcpdump до появления этой ошибки. Я использую следующие две команды с различными вариантами, как только мой сервер подвергается атаке, поэтому пакеты автоматически сбрасываются, если скорость передачи пакетов высока.
tcpdump -i eth0 -p -nn -s0 -c 2000 -w $dumpdir/dump.`date +"%Y%m%d-%H%M%S"`.cap
tcpdump -nn -s0 -c 2000 -w $dumpdir/dump.`date +"%Y%m%d-%H%M%S"`.cap
Как только меня атакуют, в консоли появляется следующая ошибка:
tcpdump: can't create rx ring on packet socket: Cannot allocate memory
Использование команды вручную работает, поэтому я предполагаю, что что-то перегружается в случае атаки. Вот мое использование ОЗУ:
root@x:~# free -m
total used free shared buffers cached
Mem: 2004 1255 749 0 1 29
-/+ buffers/cache: 1225 779
Swap: 2047 1095 952
И сейчас он намного ниже, чем был, когда команда работала.
Итак, у кого-нибудь есть ответ на этот вопрос?
Вероятно, это вызвано тем, что системе не хватает памяти. Я заметил, что это работает, когда присутствует большой объем оперативной памяти.