Вот как я это вижу.
Копия сетевой активности записывается в буфер, и snoop
читает из буфера. Пока snoop может получать данные достаточно быстро (запись непосредственно в файл выполняется быстрее, чем запись в терминал или bzip
эр), то буфер никогда не заполнится.
Но если есть большой объем сетевой активности, и snoop
не может записать его быстро по мере поступления (по какой-либо причине), тогда snoop
должен ждать, поэтому исходный буфер заполняется.
Что произойдет, если буфер станет большим?
:-/
:-o
B-)
Меня особенно интересует Solaris, но информация о других системах UNIX была бы интересна.
Я думаю, что пакеты отбрасываются отслеживанием, чтобы не задерживать их во время высокой активности.
Snoop предоставляет переключатель -D для отображения количества пакетов, отброшенных во время захвата.
В -s snaplen
переключатель может использоваться для усечения захвата пакетов после snaplen
байтов и означает меньшую вероятность переполнения буфера в периоды высокого трафика.
В разделе предупреждений на странице руководства также говорится об этом.
Накладные расходы на обработку намного выше для интерпретации пакетов в реальном времени. Следовательно, количество отброшенных пакетов может быть больше. Для более надежного захвата выведите необработанные пакеты в файл с помощью параметра -o и проанализируйте пакеты в автономном режиме.