Инструменты пользователя

Инструменты сайта


мониторинг_сети

Мониторинг сети

Метрики сетевой подсистемы

Смотрим вывод команды ifconfig (interface configuration)

ifconfig
ens160: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.99.14  netmask 255.255.255.0  broadcast 192.168.99.255
        inet6 fe80::20c:29ff:feba:dd34  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:ba:dd:34  txqueuelen 1000  (Ethernet)
        RX packets 32950989  bytes 2865004290 (2.8 GB)
        RX errors 0  dropped 1154821  overruns 0  frame 0
        TX packets 667514  bytes 116166056 (116.1 MB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 1665  bytes 175977 (175.9 KB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 1665  bytes 175977 (175.9 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

Разберем значение выводимых опций.

Опции Описание
interface Имя интерфейса. Обычно это имя драйвера, за которым идет номер устройства, например, ens160 для первого интерфейса Ethernet.
UP показывает, что модули ядра, необходимые для интерфейса, загружены.
RUNNING сообщает, что интерфейс готов принимать данные
BROADCAST сообщает, что интерфейс поддерживает широковещательную передачу. Обратите внимание, что это необходимо, если система собирается получить свой адрес с помощью DHCP, поскольку она должна транслировать свой запрос на IP-адрес
MULTICAST сообщает, что интерфейс поддерживает многоадресную рассылку - отправку пакетов выбранной группе систем
mtu Значение в байтах. Maximum transmission unit (MTU, англ. максимальная единица передачи). Устанавливает размер пакета, обычно 1500. Обратите внимание, что размер пакета для интерфейса обратной связи намного больше
txqueuelen Значение в пакетах. Устанавливает длину очереди передачи для устройства. Когда значение пакетов становится равным 1000, они отправляются по сети
RX/TX packets RX и TX - количество пакетов приема и передачи. Количество отображаемых пакетов зависит от времени работы системы и ее взаимодействия с другими хостами. Веб-серверы, скорее всегобудут иметь гораздо больше TX, чем количество RX. Счетчики RX и TX суммируются. Для проверки пропингуем систему с помощью команды ping localhost, оба числа увеличатся
RX/TX bytes показывают очень похожие данные, но в байтах, а не в пакетах, поэтому числа значительно больше
RX/TX errors Счетчики ошибок: отброшенные пакеты, переполнения – обычно равны нулю. Если значение больше 0 – искаженные кадры или ошибки CRC (циклическая проверка избыточности), то скорее всего, есть проблемы с интерфейсом или сетевым кабелем
collisions Коллизий должно быть 0 или иметь минимальное значение. Коллизии указывают на то, что в сети так много трафика, что пакеты мешают друг другу.
scopeid Длинное целое число, ограничивающее область действия адреса

Более подробная информация об ошибках:

  • frame – учитывает только выровненные кадры, это означает кадры с длиной, не делимой на 8. Из-за этой длины это недопустимый кадр, и он просто отбрасывается.
  • errors – подсчитывает ошибки CRC, слишком короткие кадры и слишком длинные кадры.
  • overruns – считает, что в случае переполнения FIFO, вызванного скоростью, с которой буфер заполняется, а ядро ​​не может его очистить.
  • dropped – подсчитывает такие вещи, как непреднамеренные теги VLAN или получение кадров IPv6, когда интерфейс не настроен для IPv6.
  • collisions – это количество передач, завершенных из-за CSMA/CD

Значение свойства scopeid:

  • site – Действителен для адресов IPv6
  • host – адрес валиден в пределах данного хоста
  • global – публичный ip который маршрутизируется в интернете
  • link – адрес действителен в пределах локальной сети

Инструменты для мониторинга сети

NetStat

Команда Netstat отображает различные сетевые данные, такие как сетевые подключения, таблица маршрутизации, статистики интерфейсов, маскированные соединения, многоадресное пространство и т.д.,

Опция Значение
-a Показывать состояние всех сокетов; обычно сокеты, используемые серверными процессами, не показываются.
-A Показывать адреса любых управляющих блоков протокола, связанных с сокетами; используется для отладки.
-b Отображение исполняемого файла, участвующего в создании каждого подключения, или ожидающего порта. Иногда известные исполняемые файлы содержат множественные независимые компоненты. Тогда отображается последовательность компонентов, участвующих в создании подключения, либо ожидающий порт. В этом случае имя исполняемого файла находится снизу в скобках [ ], сверху - компонент, который им вызывается, и так до тех пор, пока не достигается TCP/IP. Заметьте, что такой подход может занять много времени и требует достаточных разрешений.
-i Показывать состояние автоматически сконфигурированных (auto-configured) интерфейсов. Интерфейсы, статически сконфигурированные в системе, но не найденные во время загрузки, не показываются.
-n Показывать сетевые адреса как числа. netstat обычно показывает адреса как символы. Эту опцию можно использовать с любым форматом показа.
-r Показать таблицы маршрутизации. При использовании с опцией -s показывает статистику маршрутизации.
-s Показать статистическую информацию по протоколам. При использовании с опцией -r показывает статистику маршрутизации.
-I интерфейс Выделить информацию об указанном интерфейсе в отдельный столбец; по умолчанию (для третьей формы команды) используется интерфейс с наибольшим объёмом переданной информации с момента последней перезагрузки системы. В качестве интерфейса можно указывать любой из интерфейсов, перечисленных в файле конфигурации системы, например, emd1 или lo0.
-p Отобразить идентификатор/название процесса, создавшего сокет (-p, –programs display PID/Program name for sockets)

Примеры использования

Получение информации об интерфейсах, вывод такой же как и ifconfig

netstat -ie

Kernel Interface table
ens160: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.99.14  netmask 255.255.255.0  broadcast 192.168.99.255
        inet6 fe80::20c:29ff:feba:dd34  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:ba:dd:34  txqueuelen 1000  (Ethernet)
        RX packets 33145893  bytes 2880389860 (2.8 GB)
        RX errors 0  dropped 1160338  overruns 0  frame 0
        TX packets 669445  bytes 116362801 (116.3 MB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 1668  bytes 176196 (176.1 KB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 1668  bytes 176196 (176.1 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

Просмотр tcp и udp портов, числовые значения (а не dns имена), и все установленные соединения

netstat -tuna

Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State
tcp        0      0 127.0.0.1:3306          0.0.0.0:*               LISTEN
tcp        0      0 0.0.0.0:139             0.0.0.0:*               LISTEN
tcp        0      0 127.0.0.53:53           0.0.0.0:*               LISTEN
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN
tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN
tcp        0      0 0.0.0.0:445             0.0.0.0:*               LISTEN
tcp        0      0 192.168.99.14:22        192.168.98.245:40542    ESTABLISHED
tcp        0    192 192.168.99.14:22        192.168.98.245:44923    ESTABLISHED
tcp        0      0 192.168.99.14:35388     192.168.99.10:49152     ESTABLISHED
tcp        1      0 192.168.99.14:42810     192.168.99.10:445       CLOSE_WAIT
tcp        0      0 192.168.99.14:42276     192.168.99.10:49153     ESTABLISHED
...

Наиболее часто используемая команда, в отличие от предыдущей покажет, только прослушиваемые порты, а также pid демона слушающего порт

netstat -tulpn

Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 127.0.0.1:3306          0.0.0.0:*               LISTEN      1091/mariadbd
tcp        0      0 0.0.0.0:139             0.0.0.0:*               LISTEN      1948380/smbd
tcp        0      0 127.0.0.53:53           0.0.0.0:*               LISTEN      893/systemd-resolve
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1128/sshd: /usr/sbi
tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN      3772093/cupsd
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      2314/master
tcp        0      0 0.0.0.0:445             0.0.0.0:*               LISTEN      1948380/smbd
tcp6       0      0 :::139                  :::*                    LISTEN      1948380/smbd
tcp6       0      0 :::80                   :::*                    LISTEN      1158/apache2
tcp6       0      0 :::22                   :::*                    LISTEN      1128/sshd: /usr/sbi
tcp6       0      0 ::1:631                 :::*                    LISTEN      3772093/cupsd
tcp6       0      0 ::1:25                  :::*                    LISTEN      2314/master
tcp6       0      0 :::445                  :::*                    LISTEN      1948380/smbd

IFTOP

iftop (Interface TOP) – это инструмент мониторинга пропускной способности сети в режиме реального времени. Скорее всего придется установить:

apt install iftop
                            12,5Kb                      25,0Kb                       37,5Kb                      50,0Kb                 62,5Kb
mqqqqqqqqqqqqqqqqqqqqqqqqqqqvqqqqqqqqqqqqqqqqqqqqqqqqqqqvqqqqqqqqqqqqqqqqqqqqqqqqqqqqvqqqqqqqqqqqqqqqqqqqqqqqqqqqvqqqqqqqqqqqqqqqqqqqqqqqqqqqq
a-host2.domain.com                                     => 192.168.98.245                                            11,7Kb  11,7Kb  11,7Kb
                                                          <=                                                           2,23Kb  2,23Kb  2,23Kb
192.168.98.255                                            => 192.168.98.11                                                0b      0b      0b
                                                          <=                                                            936b    936b    936b
192.168.98.255                                            => 192.168.98.132                                               0b      0b      0b
                                                          <=                                                            916b    916b    916b
224.0.0.251                                               => 192.168.98.116                                               0b      0b      0b
                                                          <=                                                            904b    904b    904b


qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
TX:             cum:   7,29KB   peak:   11,7Kb                                                                rates:   11,7Kb  11,7Kb  11,7Kb
RX:                    2,75KB           4,92Kb                                                                         4,93Kb  4,93Kb  4,93Kb
TOTAL:                 10,0KB           16,7Kb                                                                         16,7Kb  16,7Kb  16,7Kb

Где значения:

  • RX/TX – принято/отправлено
  • TOTAL – всего
  • cum – показывает сколько всего было получено/отправлено с момента запуска программы
  • peak – данные за последние 40 секунд
  • rates – средняя скорость за последние 2, 10 и 40 секунд

Примеры использования
Просмотр статистики по конкретному интерфейсу

iftop -i ens160

Утилита iftop поддерживает, так называемый, pcap-filter синтаксис, используемый в пакетном фильтре и с помощью флага -f.

Посмотрим на трафик между локальным интерфейсом и хостом 8.8.8.8

iftop -i ens160 -f 'dst 8.8.8.8'

Трафик идущий по ssh (можно использовать номер порта или же название протокола)

iftop -i ens160  -f 'dst port 22'

Трафик по http

iftop -i ens160 -f 'dst port http'

Трафик DNS

iftop -i ens160 -f 'dst port domain'

Отображать трафик по ssh с хоста ХХХХХХХ:

iftop -i ens160 -f 'port ssh and host ХХХХХХХ'

Отображать весь трафик, кроме широковещательных запросов:

iftop -i ens160 -f 'not ether host ff:ff:ff:ff:ff:ff'

С синтаксисом pcap-filter можно ознакомиться командой

man pcap-filter
Опция Значение
-n не производить определение разрешение адресов в DNS-имена
-N не конвертировать номера портов в названия служб(из /etc/services)
-p запускать в неразборчивом режиме(показывать трафик между другими узлами в этом же сегменте). Надо понимать, что трафик будет показываться, если он попадёт на сетевой интерфейс, к примеру, в результате включения на коммутаторе функции зеркалирования портов
-b не показывать полоску-график траффика
-B показывать ширину канала в байтах
-i interface список именованных интерфейсов для работы
-F net/mask показывать траффик для сети IPv4
-G net6/mask6 показывать траффик для сети IPv6
-l показывать и считать трафик через обратную петлю IPv6(по-умолчанию отключено
-P показывать порты соединений
-m limit задать потолок шкалы ширины канала
-c config file указывает специальный конфиг

Nload

nload – это инструмент командной строки, который отслеживает сетевой трафик и использование полосы пропускания в режиме реального времени.

nload при запуске визуализирует входящий и исходящий трафик с использованием двух графиков, предоставляет дополнительную информацию, такую как общая сумма переданных данных и использование сети min/max

Устанавливаем

apt install nload

После установки программы nload, используем следующие синтаксисы для отображения текущего использования сети

nload
nload device
nload options device 1 device2

Можно установить интервал обновления, используя параметр -t, за которым следует значение в миллисекундах, по умолчанию оно равно 500.

nload -t 500

Можно отобразить несколько устройств, используя следующую команду

nload -m

Device ens160 [10.10.10.14] (1/2):
==================================================================================================
Incoming:                                        Outgoing:
Curr: 24.50 kBit/s                               Curr: 50.30 kBit/s
Avg: 19.81 kBit/s                                Avg: 45.48 kBit/s
Min: 15.11 kBit/s                                Min: 6.57 kBit/s
Max: 24.50 kBit/s                                Max: 50.30 kBit/s
Ttl: 2.69 GByte                                  Ttl: 113.07 MByte

Device lo [127.0.0.1] (2/2):
==================================================================================================
Incoming:                                        Outgoing:
Curr: 0.00 Bit/s                                 Curr: 0.00 Bit/s
Avg: 0.00 Bit/s                                  Avg: 0.00 Bit/s
Min: 0.00 Bit/s                                  Min: 0.00 Bit/s
Max: 0.00 Bit/s                                  Max: 0.00 Bit/s
Ttl: 172.21 kByte                                Ttl: 172.21 kByte

vnstat

vnstat — очень простой способ считать трафик на сервере. Утилиту удобно использовать в случаях, когда провайдер, по каким-то причинам, статистику по трафику не предоставляет, а лимиты при этом, устанавливает.

Устанавливаем

apt install vnstat

При необходимости, редактируем конфигурационный файл /etc/vnstat.conf:

  • SaveInterval – задаёт интервал, с которым данные будут записываться в базу, по умолчанию там установлено значение 5 минут
  • MonthRotate – указываем день в месяце, когда статистика будет обнуляться
  • UnitMode – задаём единицы измерения трафика (0 — KiB/MiB/GiB/TiB, 1 — KB/MB/GB/TB)
vnstat

Database updated: 2020-11-17 10:55:00

   ens160 since 2020-11-17

          rx:  1,16 MiB      tx:  1,17 MiB      total:  2,34 MiB

   monthly
                     rx      |     tx      |    total    |   avg. rate
     ------------------------+-------------+-------------+---------------
       2020-11      1,16 MiB |    1,17 MiB |    2,34 MiB |       13 bit/s
     ------------------------+-------------+-------------+---------------
     estimated       --      |     --      |     --      |

   daily
                     rx      |     tx      |    total    |   avg. rate
     ------------------------+-------------+-------------+---------------
         today      1,16 MiB |    1,17 MiB |    2,34 MiB |      499 bit/s
     ------------------------+-------------+-------------+---------------
     estimated      2,56 MiB |    2,58 MiB |    5,14 MiB |

Так же, есть возможность вывести статистику по трафику в виде изображения, делается это с помощью vnstati

vnstati -vs -o ~/vnstat01.png

Вывод информации о трафике:

  • vnstat -h – часам
  • vnstat -d – дням
  • vnstat -m – месяцам
  • vnstat -t – Топ 10 дней
мониторинг_сети.txt · Последнее изменение: 2020/11/17 14:05 — admin