Назад | Перейти на главную страницу

как использовать tcpdump для регистрации только определенных данных в реальном времени

Я хотел бы отслеживать сетевые интерфейсы, но регистрировать только такие вещи, как ошибки, коллизии и потерянные пакеты. Отправьте это на стандартный вывод. - Можно ли настроить tcpdump для этого?

Нет.

У вас есть много возможностей фильтрации в tcpdump, но то, что вы просите, может быть отфильтровано только тогда, когда у вас будет больше данных. Как я могу узнать, является ли пакет повторной передачей, если я не зарегистрировал исходный? Вся логика, применяемая к захвату PCAP, выполняется, например, Wireshark после этого и с учетом всего захвата.

Возможно, вам будет лучше записывать трафик в связанные файлы, скажем размером 1 ГБ, и запускать какой-нибудь инструмент анализа, например tshark, из командной строки в отдельном процессе, который идет файл за файлом. Оттуда вы можете получить действительно хороший результат.

Например. показать повторно переданные пакеты, включая IP-адрес источника и назначения:

tshark -Y "tcp.analysis.retransmission" -Tfields -e ip.src -e ip.dst

Вы можете использовать netstat в сочетании с командой watch linux / unix, чтобы заранее увидеть ошибки в реальном времени.

например

watch -n 2 netstat -in

И если вы хотите регистрировать ошибки интерфейса, лучше получить информацию из proc.

например используя eth1

  1. cat /proc/net/dev | grep eth1 >> interface_errors_eth1
  2. Затем поместите это как задание cron
netstat -ni

ваш лучший друг для ошибок Tx / Rx (например, отброшенных пакетов на уровне сетевой карты / драйвера / ОС). Как они уже сказали, столкновения происходят на более низком уровне, и я думаю, их следует отслеживать на переключателе.