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, так как он сделает многое для вас в веб-интерфейсе, но я не могу точно вспомнить, сколько деталей вы можете из него получить.