Что вам нужно сделать, это подключить компьютер к сети между этими компьютерами и подключением к Интернету, например:
PC1 ----\
PC2 ----+---- monitor ---- router/modem/other ---- hinterwebs
PC3 ----/
Вам понадобятся две сетевые карты в блоке монитора, одна для коммутатора локальной сети, к которой подключены другие машины, и одна для маршрутизатора. В этом случае блок монитора будет либо настроен для работы в качестве прозрачного моста, либо (проще) будет выполнять NAT (например, для локальной сети). Затем вы можете использовать дополнительные правила iptables с комментариями, чтобы пометить их, чтобы вы могли использовать что-то вроде модуля iptables collectd (см. Здесь) для записи количества пакетов и байтов. Вы также можете использовать такие инструменты, как bandwidthd, хотя я сам этим не пользовался. Если вы хотите проверить текущий трафик, а не регистрировать его для последующего анализа, вы можете просто использовать iftop
(см. Здесь, и он должен быть доступен во всех дистрибутивах Linux), чтобы увидеть, что происходит сейчас.
Наблюдение за трафиком для всех машин, которые вы описываете, без сидения машины мониторинга между машинами, которые вы хотите отслеживать, на самом деле не является коммутируемой сетью, которой являются все современные сети. При использовании концентратора все, что вам нужно было сделать, это перевести сетевую карту в беспорядочный режим, и она проверила бы весь трафик на линии, но с коммутируемой сетью коммутатор удостоверяется, что каждая линия только получает пакеты, это требует не всего.