У меня есть хосты rhel4 и rhel6.
Я могу использовать netstat -s, чтобы увидеть информацию о количестве отправленных / полученных сегментов. Я могу использовать ifconfig, чтобы увидеть количество байтов, отправленных / полученных на данном интерфейсе (для моих целей важен только один, остальные имеют общую передачу на 3 порядка меньше).
Как узнать общее количество байтов, переданных по TCP?
Редактировать: У меня нет root-доступа на рассматриваемых хостах.
Определите правило фильтрации пакетов с помощью iptables для подсчета всех пакетов TCP.
Подсчитайте все входящие пакеты с протоколом tcp:
# iptables -I INPUT -p tcp
Подсчитать все исходящие пакеты с протоколом tcp:
# iptables -I OUTPUT -p tcp
Показать правила iptables, включая количество пакетов для входящих пакетов:
# iptables -nvL INPUT
Показать правила iptables, включая количество пакетов для исходящих пакетов:
# iptables -nvL OUTPUT
iptables -nvL
показывает количество пакетов и байтов в первых двух столбцах. Два определенных правила будут первыми в списке. Если у вас много правил iptables, может пригодиться дополнительная цепочка:
# iptables -N count_in # create custom chain named 'count_in'
# iptables -A count_in -j RETURN # append RETURN action to chain 'count_in'
# iptables -I INPUT -j count_in # insert chain at the top of chain INPUT
# iptables -I count_in 1 -p tcp # insert rule that matches all tcp packets
# and has no action (does nothing)
# iptables -nvL count_in # list chain 'count_in' rules
Сделайте то же самое для исходящих пакетов с настраиваемой цепочкой count_out
.