Зарегистрируйте Вывод tcpdump

В конечном счете я узнал твердый способ, которым необходимо присоединить правильный вид последовательного кабеля. Я думаю, что последовательный кабель USB не поддерживается в Windows. Присоединение стандартного последовательного кабеля выключило UPS (ай). Это не работало бы с последовательным кабелем для немого UPS. В конце мне был нужен 940-0024D. Соответствующая часть моего apcupsd.conf похожа на это:

UPSCABLE умный UPSTYPE smartups COM1 LOCKFILE УСТРОЙСТВА/var/lock UPSCLASS автономный UPSMODE отключают

Очень похожий на образец.

5
задан 11 May 2012 в 09:25
6 ответов

Вместо того, чтобы регистрировать весь трафик, я бы предложил следующее: Отслеживайте количество пакетов, отправленных на ваш сервер. Если он превышает определенный порог, зарегистрируйте пару 1000 пакетов, а затем подождите более длительное время.

Эта трассировка пакета должна содержать много информации, которую можно использовать для анализа. Кроме того, это не приведет к чрезмерной дополнительной нагрузке на ваш сервер, пока все в порядке. Вы можете использовать следующий взломанный код bash в качестве отправной точки (например, его можно запустить на экране ):

interface=eth0
dumpdir=/tmp/

while /bin/true; do
  pkt_old=`grep $interface: /proc/net/dev | cut -d :  -f2 | awk '{ print $2 }'`
  sleep 1
  pkt_new=`grep $interface: /proc/net/dev | cut -d :  -f2 | awk '{ print $2 }'`

  pkt=$(( $pkt_new - $pkt_old ))
  echo -ne "\r$pkt packets/s\033[0K"

  if [ $pkt -gt 5000 ]; then
    echo -e "\n`date` Under attack, dumping packets."
    tcpdump -n -s0 -c 2000 -w $dumpdir/dump.`date +"%Y%m%d-%H%M%S"`.cap
    echo "`date` Packets dumped, sleeping now."
    sleep 300
  fi
done

Не стесняйтесь адаптировать его к своим потребностям.

7
ответ дан 3 December 2019 в 00:50

Это прямо на страницах руководства, tcpdump имеет -G,

If specified, rotates the dump file specified with the -w option every
rotate_seconds seconds. Savefiles will have the name specified by -w
which should include a time format as defined by strftime(3). If no
time format is specified, each new file will overwrite the previous.

Итак, tcpdump -i eth0 -s 65535 -G 86400 -w / var / log / caps /% F.pcap будет записывать в /var/log/caps/%F.pcap (где% F будет 2012-05-10, 2012-05-11, 2012-05-12 , так далее). Имейте в виду, что с момента запуска ограничения он будет меняться 24 часа, так что технически это не каждый день, если вы не запустите его в полночь.

Я не говорю, что то, что вы планируете делать, - хорошая идея, просто что это именно то решение, о котором вы просите.

14
ответ дан 3 December 2019 в 00:50

Вы, конечно, можете получить эти данные из tcpdump, но это не совсем просто.

Во-первых, tcpdump записывает в специальный формат файла, который не является файлом журнала, поэтому вам понадобится либо еще один экземпляр tcpdump или Wireshark для анализа файлов журнала. Но вот основное предложение:

  • напишите сценарий, который убивает любой запущенный tcpdump и запускает новый, который записывает в файл журнала с датой дня в его имени
  • запускать этот сценарий из cron каждую полночь
  • иметь Запись cron, которая очищает файлы старше 3 дней в каталоге, в котором вы храните файлы журнала

Имейте в виду, что tcpdump дает много вывода, поэтому вам понадобится изрядное количество свободного места на диске!

4
ответ дан 3 December 2019 в 00:50

Если вы работаете в Linux, вы можете использовать logrotate.

Что-то вроде

   /var/log/dump.pcap {
       rotate 3
       daily
       postrotate
           /usr/bin/killall tcpdump
           /usr/sbin/tcpdump options -w /var/log/dump.pcap
       endscript
   }

Эта конфигурация logrotate войдет, например, в /etc/logrotate.d/tcpdump .

У вас, вероятно, есть строка в / etc / crontab или, как и у меня, сценарий /etc/cron.daily/logrotate , который вызывает logrotate.

Logrotate будет, когда он обрабатывает этот файл, переименовывая /var/log/dump.pcap.1 в /var/log/dump.pcap.2 и /var/log/dump.pcap - /var/log/dump.pcap.1 и так далее. Затем, когда все эти файлы будут переименованы и самые старые удалены (в этом примере /var/log/dump.pcap.2 будет удален перед переименованием .1 в .2), он выполнит команды в постротат . К сожалению, tcpdump не отслеживает kill -HUP, который используется на других демонах, таких как httpd, поэтому этот рецепт убивает его, а затем запускает новый захват.

Обратите внимание, что в первый день вы можете захотеть запустить tcpdump вручную.

Это не проверено, но должно помочь.

3
ответ дан 3 December 2019 в 00:50

Что-то вроде darkstat может быть более полезным для определения хостов с высоким трафиком, хотя оно не будет хранить фактический трафик (хотя записывает номера портов).

1
ответ дан 3 December 2019 в 00:50

Я использовал tshark для этого, но вам нужно быть осторожным.

tshark -i eth0 -a duraition:86400 -b -w x.pcap

Или вы можете установить параметры сложного формата вывода и перенаправить stdout. Проблема в том, что tshark никогда не отбрасывает полученные пакеты, поэтому в конечном итоге у него заканчивается память. чем короче, тем лучше.

Еще один прием, который мне нравится, - это использование iptables и ULOG. Есть несколько демонов ulog, которые могут отправлять сообщения в обычные файлы журналов. Я также использовал Spectre для преобразования отчетов ulog в сообщения.

0
ответ дан 3 December 2019 в 00:50

Теги

Похожие вопросы