Есть ли способ контролировать передачу данных по портам в Ubuntu?

Есть ли способ контролировать передачу данных по портам в Ubuntu?

Мы запускаем серверный процесс, который имеет несколько активных портов. Я хотел бы знать, какая исходящая передача данных связана с каждым портом. Я хотел бы увидеть 24-часовой отчет, например:

  • порт 30000: 2.4G
  • порт 30001: 1.2G
  • порт 30002: 2.3G

Есть ли способ сделать это?

решение1

Вы можете использоватьiftopдля сбора данных сетевого трафика по каждому порту.

iftopимеет текстовый режим ( iftop -t), который может быть полезен - см.iftop - как сгенерировать текстовый файл с его выводом?

решение2

В принципе вам нужноПоток данных, передающихся по сетиустановка - серия зондов на хосте, которые будут собирать данные о проходящем трафике и затем передавать их на коллектор (который может находиться или не находиться на том же хосте), из которого вы можете строить свои статистические отчеты. На момент написания этой статьи наиболее современной и функциональной платформой netflow являетсяnfdump. Поскольку вы используете Linux, рекомендуемые зонды будут следующими:ipt-netflow.

Также стоит упомянуть ряд производных/альтернатив, например:sFlow, но наиболее простым подходом будет использование Netflow.

Связанный контент