🖧 Как отслеживать сетевую активность в системе Linux
Есть множество причин, по которым вы можете захотеть помониторить сетевую активность в вашей системе Linux.
Вы можете устранять неполадки в сети, вы можете проверить, нет ли вредоносных приложений, создающих подозрительную сетевую активность и т.д.
Какой бы ни была причина, далее мы рассмотрим несколько способов узнать, какие процессы в вашей системе задействованы в сетевой активности и с кем общаются.
Netstat
Netstat – это мощная утилита, которая может выводить сетевые соединения, таблицы маршрутизации, статистику интерфейсов, маскарадить соединения и т.д.
Мы будем использовать его для достижения целей этого руководства.
В системах на основе Debian и Debian, таких как Ubuntu, используйте apt.
В системах на базе Red Hat Enterprise Linux и Red Hat используйте yum,
В системах на основе Arch используйте pacman.
Просмотр сетевых процессов
Во-первых, давайте рассмотрим процессы.
Для этого введите следующую команду:
Как просмотреть все сетевые подключения
Теперь давайте посмотрим на все текущие сетевые подключения.
Просмотр установленных подключений
Вы можете оказаться в ситуации, когда хотите просмотреть только соединения с типом ESTABLISHED.
Просмотр процессов
Для просмотра всех процессов введите следующее:
Просмотреть все сетевые подключения
Чтобы просмотреть все сетевые соединения, введите следующее, где a заменяет l и показывает все сетевые сокеты, а не только слушающие.
Просмотр установленных подключений
Для просмотра только установленных соединений введите следующее.
Как просмотреть все сетевые подключения
Для просмотра всех сетевых подключений введите следующее.
Просмотр установленных подключений
Чтобы просмотреть только установленные соединения, введите следующую команду, где дополнительные переключатели перечисляют все установленные TCP-соединения.
Просмотр процессов
Чтобы просмотреть слушающие процессы с помощью lsof, введите следующее.
При этом будут пропущены все процессы, которые прослушивают UDP, поэтому может быть желательно вместо этого ввести следующее, чтобы включить их.
Мониторинг сети Linux
Во многих случаях может понадобиться отследить нагрузку на сеть, посмотреть сколько данных передается и какие пользователи, программы или компьютеры занимают канал. Особенно часто такие задачи возникают перед системными администраторами, перед которыми стоит задача отслеживать работу сети целой компании. Но также это может быть полезно и обычным пользователям.
В этой статье мы рассмотрим как выполняется мониторинг сети Linux. Для этого можно использовать различные утилиты. Начиная от сетевых анализаторов, таких как Wireshark и tcpdump до более простых инструментов, таких как iptraf.
Как работает мониторинг сети?
Все данные, которые распространяются через интернет передаются в виде пакетов определенного размера. Данные разделяются на части определенного размера и из них составляются пакеты, которые будут отправлены в ядро системы а затем в сеть, где пройдут путь из многих компьютеров и маршрутизаторов пока достигнут цели. С помощью специального программного обеспечения мы можем отслеживать сколько пакетов и какого размера проходит через наш компьютер и неважно, были они созданы локальной программой или получены из сети.
Таким образом, очень просто можно узнать какая сейчас нагрузка на сеть, какие программы или сервисы создали пакеты, и даже что содержится в этих пакетах и что делает пользователь.
Мониторинг сети с помощью iptraf
sudo apt install iptraf
А в CentOS / Red Hat выполните:
sudo yum install iptraf
После установки утилиты для ее запуска просто наберите в терминале iptraf-ng:
Перед вами откроется интерактивный интерфейс на основе Ncurses, в котором необходимо выбрать нужное действие. Здесь доступны монитор пропускной способности сети, статистика по интерфейсу, статистика по сбоям и монитор локальной сети.
Обратите внимание на нижнюю часть окна, там отображается описание выбранного действия, а также находятся подсказки по горячим клавишам.Например, для просмотра сетевых соединений и статистики трафика для каждого из них выберите IP traffic moitor. Затем вам будет необходимо выбрать сетевой интерфейс, например, enp2s0:
Дальше вы увидите все IP адреса, с которыми сейчас выполняется взаимодействие. Здесь можно увидеть направление отправки пакетов, количество пакетов и общий объем переданных или полученных данных в байтах.
С помощью других пунктов меню можно посмотреть статистику по интерфейсу или статистику по работе локальной сети. Утилита даже может работать в неразборчивом режиме, чтобы собирать максимум данных про локальную сеть.


Затем нужно указать имя фильтра:
На следующем этапе вы можете расписать нужные параметры фильтрации:
Чтобы применить фильтр нужно выбрать Apply filter и выбрать имя фильтра из списка:
Теперь в любом пункте статистики будет отображаться только та информация, которая подходит под созданный фильтр.
Мониторинг трафика Linux чаще всего выполняется администраторами именно с помощью этой утилиты. Видео про использование утилиты:
Мониторинг сети с помощью других утилит
1. iftop
Утилита имеет более простой интерфейс и отображает намного меньше информации. Она выводит ip адреса отправителя и получателя, а также количество переданных или полученных данных за несколько последних секунд:
Установить программу в Ubuntu можно командной:
sudo apt install iftop
Хотя здесь отображается информация по каждому соединению, программа не может идентифицировать программу, которая создает пакеты.
2. nload
Для установки программы в Ubuntu используйте команду:
sudo apt install nload
3. nethogs
Программа, как и другие доступна из официальных репозиториев, поэтому у вас не возникнет проблем с установкой:
sudo yum install nethogs
4. bmon
Утилита bmon позволяет отображать достаточно подробно статистику по каждому сетевому интерфейсу. Она работает похоже на nload и выводит график кроме текстовой информации:
Для установки программы выполните:
sudo apt install bmon
5. Vnstat
Vnstat отличается от всех инструментов, рассмотренных выше. Программа работает постоянно в фоновом режиме и собирает информацию об использовании сети в лог файл. Далее можно посмотреть какой была нагрузка за определенный период. Для установки утилиты выполните:
sudo apt install vnstat
Далее необходимо запустить сервис, для этого выполните такую команду:
sudo systemctl start vnstat
Далее необходимо немного подождать, пока утилита соберет данные и можно просматривать статистику:
Видео про использование и настройку vnstat:
6. bwm-ng
Это еще одна утилита, очень простая в использовании, которая позволяет следить за сетевой нагрузкой в режиме реального времени. Отображаются все доступные сетевые интерфейсы в системе:
Для установки утилиты выполните такую команду:
sudo apt install bwm-ng
7. speedometer
Это еще один простой инструмент, который позволяет выполнить мониторинг сети и выводит данные в виде красивых графиков. Для установки программы выполните:
sudo pip install speedometer
Как видите, она есть в официальных репозиториев не всех дистрибутивов, зато вы можете установить программу из репозитория python.
8. netwatch
sudo apt install netdiag
9. ifstat
Утилита ifstat показывает пропускную способность сети, измеряя количество переданных и принятых пакетов. Вывод утилиты можно использовать и анализировать в других программах. Утилита не выводит информацию об ip адресах или других параметрах, а только скорость. Для установки используйте:
sudo apt install ifstat
10. trafshow
Это утилита, очень похожа на iftop, которая отображает не только скорость передачи, но и сами соединения. Здесь выводится информация по соединениях, размеры пакетов и протокол. Для установки программы наберите:
sudo apt install trafshow
Осталось запустить программу:
Выводы
В этой статье мы рассмотрели команду Iptraf, а также еще несколько полезных утилит, с помощью которых можно выполнять мониторинг сети linux на сервере или домашнем компьютере. Некоторые из этих инструментов можно использовать даже в корпоративной среде. В качестве альтернативы вы можете использовать инструменты с веб-интерфейсом. Некоторые из них перечислены в статье системы мониторинга Linux. А какие инструменты мониторинга используете вы? Напишите в комментариях!
Сетевые мониторы для мониторинга серверов Linux с помощью консоли и графика
Инструменты мониторинга консоли
Следующие инструменты, которые мы собираемся показать вам, находятся в репозиториях основных дистрибутивов Linux, мы использовали Debian, и мы использовали официальные репозитории. Обычно все эти инструменты, которые мы собираемся показать вам, не установлены, поэтому мы укажем, как мы должны установить каждый из них.
Iftop
Чтобы установить этот инструмент, мы должны выполнить следующую команду в терминале:
sudo apt install iftop
После установки мы можем выполнить его, просто поместив «sudo iftop» в терминал, для его выполнения требуются права суперпользователя, иначе он сообщит нам, что не может найти команду.
При закрытии программы мы сможем увидеть интерфейс, который она отслеживает, IP-адрес и MAC-адрес:
$ sudo iftop
interface: ens33
IP address is: 192.168.231.130
MAC address is: 00:0c:29:12:1e:8d
Некоторые из параметров, которые у нас есть при выполнении этой программы, заключаются в том, что мы не можем разрешать IP-адреса, не преобразовывать номера портов в службы и многие другие доступные параметры, такие как прослушивание определенного интерфейса, вместо этого показывающая полосу пропускания в байтах бит, показывать только входящий и исходящий трафик IPv4 или IPv6 и т. д.
Как вы видели, этот инструмент действительно полезен и позволит нам быстро и легко узнать все, что происходит в локальной сети нашего сервера.
Внстат
Чтобы установить этот инструмент, мы должны выполнить следующую команду в терминале:
sudo apt install vnstat
Если мы установим этот инструмент и сразу запустим его, это будет означать, что собранной информации еще недостаточно, поэтому нам придется подождать, пока она станет доступной. Что касается параметров конфигурации этой программы, у нас будет возможность проконсультироваться с базой данных, показать часы, дни, месяцы, недели, максимум за последние 10 дней, обновить базу данных, рассчитать трафик и многие другие доступные параметры.
Если мы выполним «man vnstat», мы сможем увидеть остальные параметры конфигурации, которые у нас есть в этой очень полной программе, имея возможность экспортировать всю информацию в формате XML и даже JSON, кроме того, у нас будет возможность отображения статистики интерфейса или нескольких одновременно.
Иптраф
Это приложение предоставит нам большой объем информации на сетевом уровне, оно позволит нам видеть ту же информацию из двух предыдущих инструментов и даже больше, iptraf не установлен по умолчанию в операционных системах Linux, поэтому мы должны установить это через официальные репозитории. Чтобы установить этот инструмент, мы должны выполнить следующую команду в терминале:
sudo apt install iptraf
Если мы выберем первый вариант с помощью клавиатуры, он сообщит нам, хотим ли мы выбрать все интерфейсы или только некоторые из них, таким образом, мы можем фильтровать IP-трафик по физическому интерфейсу.
Затем мы получим систему мониторинга всех сетевых подключений, которые мы в настоящее время делаем, мы можем видеть тип пакета, IP-адрес источника и назначения, а также физический интерфейс.
Мы также сможем видеть статистику всех сетевых интерфейсов нашего сервера, полученных и отправленных пакетов, а также активность в режиме реального времени.
Если мы хотим увидеть более подробную статистику одного или нескольких интерфейсов, мы также можем увидеть ее в соответствующем разделе. Здесь мы можем видеть входящие и исходящие пакеты различных типов трафика (TCP, UDP, ICMP и т. Д.) И многое другое.
Мы также можем настроить фильтры, как по размеру пакета, так и по порту TCP или UDP.
Наконец, в разделе «Настроить» у нас будет возможность настроить большое количество дополнительных параметров.
Как вы видели, этот инструмент является одним из наиболее полных из существующих в настоящее время для мониторинга сети нашего сервера с операционной системой Linux.
Nload
Этот инструмент способен рисовать в режиме ASCII график с накопленным потреблением сети, мы также можем видеть текущую входящую и исходящую скорость, среднюю, минимальную, максимальную и TTL. Это очень простой, но весьма полезный инструмент, который предоставит нам информацию о текущей пропускной способности сети.
Чтобы установить этот инструмент, мы должны выполнить следующую команду в терминале:
sudo apt install iptraf
Чтобы запустить этот инструмент, нам нужно будет запустить команду «nload» с правами суперпользователя.
Что касается доступных параметров конфигурации, мы сможем определить временной интервал, выбрать тип измерения (бит / с, МБ / с и т. Д.) И другие базовые конфигурации в отношении графики ASCII.
Как вы видели, хотя это очень простой инструмент, мы уверены, что он будет очень полезным.
Dstat
Несколько менее известный монитор, чем предыдущие, но тоже очень полезный. Этот инструмент используется для генерации статистики использования операционной системы как на уровне ЦП, диска, ОЗУ, так и в локальной сети. Фактически, мы можем включать или отключать статус сети и даже выбирать интерфейсы. Чтобы установить этот инструмент, мы должны выполнить следующую команду в терминале:
sudo apt install dstat
Чтобы запустить этот инструмент, нам нужно будет запустить команду «dstat» с правами суперпользователя.
Как вы видели, мы можем легко и быстро увидеть состояние различных частей нашей операционной системы, а не только сети.
Bwm-ng
Этот инструмент очень прост, мы можем получать информацию со всех сетевых интерфейсов в интерактивном режиме, и мы даже можем экспортировать ее в определенный формат, чтобы впоследствии было легче обращаться к ней на другом устройстве. Чтобы установить этот инструмент, мы должны выполнить следующую команду в терминале:
sudo apt install bwm-ng
Чтобы запустить этот инструмент, нам нужно будет запустить команду «bwm-ng» с правами суперпользователя.
Если мы нажмем кнопку «h», появится справка, и мы сможем легко и быстро настроить различные параметры.
Как вы видели, это гораздо более простой инструмент, чем iptraf, но он также весьма полезен.
TCPtrack
Хотя это довольно неизвестное приложение, оно показывает нам все данные о потреблении нашего соединения. Чтобы установить этот инструмент, мы должны выполнить следующую команду в терминале:
sudo apt install tcptrack
Чтобы запустить этот инструмент, нам нужно будет запустить команду «tcptrack» с правами суперпользователя.
Спидометр
Программа для мониторинга сети и пакетов, которые отправляются и принимаются, которая также позволяет проводить тесты скорости Интернета. Чтобы установить этот инструмент, мы должны выполнить следующую команду в терминале:
sudo apt install speedometer
Чтобы запустить этот инструмент, нам нужно будет запустить команду «спидометр» с правами суперпользователя.
Ipband
Монитор IP-трафика, предназначенный для получения всех данных о подключении. Чтобы установить этот инструмент, мы должны выполнить следующую команду в терминале:
sudo apt install ipband
Чтобы запустить этот инструмент, нам нужно будет выполнить команду «ipband» с правами суперпользователя, и он покажет нам справку и все, что мы можем сделать с помощью этой бесплатной программы.
Теперь мы собираемся увидеть все инструменты мониторинга сети с графическим пользовательским интерфейсом.
Инструменты мониторинга с графическим пользовательским интерфейсом
Большинство инструментов мониторинга серверов Linux с графическим пользовательским интерфейсом основаны на сборе информации по протоколу SNMP для последующего «рисования» графиков, которые очень легко интерпретировать. Поэтому мы собираемся найти большое количество инструментов, которые выполнят эту задачу.
Это приложение, хотя и устарело, продолжает собирать данные о соединениях по протоколу SNMP и рисует графики, которые очень легко интерпретировать. Чтобы установить этот инструмент, мы должны выполнить следующую команду в терминале:
sudo apt install mrtg
Чтобы запустить этот инструмент, нам нужно будет выполнить команду «ipband» с правами суперпользователя, и он покажет нам справку и все, что мы можем сделать с помощью этой бесплатной программы.
Собран
Один из самых полных инструментов для мониторинга сети из Linux. Он позволяет отслеживать многие аспекты сети, а также расширять ее функции с помощью плагинов. Он имеет функцию клиент / сервер, позволяющую отслеживать и анализировать одноранговые сети. Эта программа отвечает за периодический сбор показателей производительности системы и приложения, сохраняя всю информацию в файлах RRD для последующей интерпретации.
Collectd может собирать различные метрики из различных источников, таких как операционная система, приложения, файлы журналов, внешние устройства и т. Д., Чтобы впоследствии проанализировать их и даже спрогнозировать будущую нагрузку на операционную систему. Если вам нужна достаточно интуитивно понятная и хорошо сделанная графика, эта программа также подойдет вам.
Мы можем получить дополнительную информацию об этом приложении и скачать пакеты. по следующей ссылке.
Графит
Он позволяет рисовать любой тип трафика из любого аспекта системы. Необходимые данные будут переданы ему через скрипт с программой мониторинга, поскольку по умолчанию Graphite не контролирует сеть самостоятельно, то есть показывает только информацию, собранную другим программным обеспечением для мониторинга.
Кактусы
Munin
Графический пользовательский интерфейс Munin действительно чистый и интуитивно понятный, он идеально подходит для того, чтобы показывать нам только то, что нас интересует, и ничего больше, кроме того, мы можем фильтровать и сортировать информацию по часам, дням, неделям, месяцам и годам.
Мы можем получить дополнительную информацию об этом приложении и скачать пакеты. по следующей ссылке.
Пропускная способность
Мы можем получить дополнительную информацию об этом приложении и скачать пакеты. по следующей ссылке.
Как вы видели, у нас есть большое количество альтернатив для мониторинга сети в нашей операционной системе на базе Linux, как через консоль, так и через графический пользовательский интерфейс, где мы можем видеть действительно интуитивно понятные и хорошо продуманные графики.























































