lsof получает размер трафика с сервера

У меня есть сервер. Могу ли я использовать lsof для определения на конкретном порту количества трафика, передаваемого с серверов? Я использовал это до сих пор для сортировки по максимальному размеру, но какую информацию я действительно получу? как я могу узнать с помощью lsof (если возможно), сколько байтов было передано на другой сервер, например, за 1 час или 1 минуту?

Спасибо

лсоф | sed 's/0t//' | grep  | awk '{print $7,$9}' | сортировать -nr | голова -10

Я использовал это, чтобы получить топ 10 lsof с моим портом, размер столбца которого составляет $ 7, $ 9 дает мне имя и порт сервера другой стороны... (PS Я использую Solaris)

1 ответ

Решение

Если вы хотите определить свою пропускную способность с течением времени, я записываю заголовки ваших пакетов (не весь пакет, требует много места) в не смешанном режиме в файл. Это можно сделать с помощью tcpdump или tshark(часть wireshark). Затем вы можете загрузить свой захват с помощью wireshark, и с помощью фильтров вы сможете определить пропускную способность для службы / порта за определенный период времени. Я полагаю, что вы также можете выполнить анализ с помощью tshark в командной строке, что может помочь при написании сценариев.

Базовый захват по eth0:

tcpdump -p -i eth0 -w capture.pcap

Другой вариант - ntop, так как он сделает многое для вас в веб-интерфейсе, но я не могу точно вспомнить, сколько деталей вы можете из него получить.

Другие вопросы по тегам