1

Мне нужно обновить таблицу с обмененными байтами (Rx и / или Tx) для каждого УСТАНОВЛЕННОГО TCP-соединения на машине с Linux (ну, по крайней мере, список соединений (диапазоны портов), таким образом, на самом деле не все)

Моей мечтой было бы расширить 'netstat' и использовать эти счетчики в качестве дополнительных столбцов. Но где найти эту информацию? Может быть, это доступно в ядре? / Прок? * инструмент nix? Должен ли я придерживаться libpcap?

Подсказки: я не могу запустить tcpdump для каждого соединения. Чего я бы не хотел, так это запускать что-то от имени root (ну, sudo можно обсудить)

Спасибо за ваш вклад ...

2 ответа2

2

Я бы порекомендовал счетчик IPTABLES, вы можете показать счетчик пакетов для каждого правила в iptables, используя

iptables -nL -v

опция -v показывает количество пакетов и байтов.

Единственная проблема в том, что вам нужно иметь соответствующее правило (-j ACCEPT) для каждой записи соединения.

Например, приведенное ниже правило подсчитывает все TCP-пакеты, сгенерированные из моего linux-сервера

iptables -A OUTPUT -p tcp -j ACCEPT

Теперь мне нужно только бежать

iptables -nL -v

чтобы увидеть байты и количество использованных пакетов.

0

Если вы хотите что-то причудливое и графическое, вы можете взглянуть на ntop - это в большинстве дистрибутивов apt / yum / что угодно.

Он отслеживает сетевой трафик, создавая симпатичные графики и диаграммы для каждого соединения, протокола, хоста и т.д., И отображает все это через веб-браузер (имеет встроенный веб-сервер).

Это приятно, но довольно тяжеловесно.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .