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

Найдите количество переданных байтов TCP

У меня есть хосты 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.