Утилита ss в Linux
Иногда бывает необходимо посмотреть какие сетевые подключения Linux открыты, какие IP адреса используются или какие порты прослушиваются. Раньше для таких целей использовалась утилита netstat. Её, без сомнения, знают все системные администраторы и специалисты по безопасности. Но она больше не поставляется по умолчанию в новых дистрибутивах. Вместо неё используется новая утилита под названием ss.
Netstat сканирует директорию /proc для получения необходимой информации, но в новых версиях ядра была реализована специальная подсистема для мониторинга сети в Linux. Её и использует ss, с помощью этой утилиты вы можете получить больше информации о сетевых подключениях и работает она гораздо быстрее.
Общая информация
$ ss опции [ фильтр_состояния] [фильтр_адреса]
Для удобства вывод команды ss можно фильтровать с помощью grep:
$ ss опции | grep шаблон
Опции указывает различные параметры отображения и фильтрации информации. Фильтры по состоянию и адресу очень интересная вещь, они позволяют выполнять мониторинг сетевых подключений в Linux, только тех что нужно. Например, только открытых, закрытых или находящихся на этапе подключения. Подробнее мы рассмотрим это в конце статьи.
Опции утилиты ss
Для сетевых подключений в Linux с помощью утилиты ss можно использовать такие опции:
Кроме того, можно вывести сокеты только нужного протокола:
Примеры использования
А теперь давайте рассмотрим примеры использования утилиты ss Linux. Возможно, из описания опций вы мало что поняли, но с примерами все встанет на свои места.
Мониторинг сетевых подключений
Сначала смотрим все сетевые подключения:
Посмотрим только TCP соединения:
Теперь только Unix:
По умолчанию утилита не пытается определять имена хостов через dns, но можно ее попросить делать это опцией -r:
Обратная опция -n, не будет выполняться не только dns резолвинг, но и определение протоколов портов, зато мониторинг сети в Linux работать будет быстрее:
Теперь просмотрим только прослушиваемые tcp сокеты.
Здесь мы видим только имена служб, это не всегда удобно, указав опцию n, мы получим номера портов. Так же само можно посмотреть прослушиваемые udp сокеты:
Также мы можем попытаться узнать название и PID процесса, использующего сокет:
Просмотр статистики статистики сетевых подключений
Для просмотра статистики по использованию сетевых подключений наберите:
Фильтрация по протоколу
Мы можем отображать только нужный нам протокол. Например только ipv4:
Так же само можно отобразить только соединения ipv6:
Фильтрация по состоянию соединения
В синтаксисе команды мы описали два дополнительных параметра. Фильтрация состояния и фильтрация по адресу. Рассмотрим теперь как ими пользоваться. Сокет TCP может находиться в одном из нескольких состояний. Например, так утилита ss linux выведет только подключенные сокеты.
Или сокеты в состоянии ожидания:
В параметр state можно передать одно из следующих значений:
Не все состояния подключений можно увидеть просто выполнив команду. Например, syn-sent и syn-recv вряд ли получиться словить, потому что соединения находятся в этом состоянии очень короткое время. Для их отображения удобно использовать команду watch:
После запуска команды откройте любой сайт в браузере. Вы увидите как появится одно или несколько соединений на несколько секунд.
Фильтрация по адресу и номеру порта
Кроме фильтрации по состоянию, tcp сокеты можно фильтровать по адресам или портам соединений.
Например, отберем все сетевые подключения linux с портом источником или приемником ssh, то есть все входящие и исходящие соединения ssh:
Или сокеты с портом назначения 80 или 443:
Такой синтаксис тоже будет работать:
Еще несколько примеров фильтрации:
Фильтрация по адресу:
Фильтрация по адресу и подсети:
И по адресу и порту:
Если вы хотите фильтровать сетевые соединения по порту, перед портом ставьте двоеточие:
Можно использовать такие операторы сравнения:
Выводы
Вот и всё. Основную информацию о том, как выполнять мониторинг сети в Linux с помощью утилиты ss рассмотрели. Если вам нужно больше информации и примеров смотрите документацию по утилитам набора iproute.
Мониторинг сетевого стека linux

С одной стороны большинство проблем с сетью возникают как раз на физическом и канальном уровнях, но с другой стороны приложения, работающие с сетью оперируют на уровне TCP сессий и не видят, что происходит на более низких уровнях.
Я расскажу, как достаточно простые метрики TCP/IP стека могут помочь разобраться с различными проблемами в распределенных системах.
Netlink
Почти все знают утилиту netstat в linux, она может показать все текущие TCP соединения и дополнительную информацию по ним. Но при большом количестве соединений netstat может работать достаточно долго и существенно нагрузить систему.
Есть более дешевый способ получить информацию о соединениях — утилита ss из проекта iproute2.
Ускорение достигается за счет использования протола netlink для запросов информации о соединениях у ядра. Наш агент использует netlink напрямую.
Считаем соединения
Disclaimer: для иллюстрации работы с метриками в разных срезах я буду показывать наш интерфейс (dsl) работы с метриками, но это можно сделать и на opensource хранилищах.
В первую очередь мы разделяем все соединения на входящие (inbound) и исходящие (outbound) по отношению к серверу.
Каждое TCP соединения в определенный момент времени находится в одном из состояний, разбивку по которым мы тоже сохраняем (это иногда может оказаться полезным):
По этому графику можно оценить общее количество входящих соединений, распределение соединений по состояниям.
Здесь так же видно резкое падение общего количества соединений незадолго до 11 Jun, попробуем посмотреть на соединения в разрезе listen портов:
На этом графике видно, что самое значительное падение было на порту 8014, посмотрим только 8014 (у нас в интерфейсе можно просто нажать на нужном элементе легенды):
Попробуем посмотреть, изменилось ли количество входящий соединений по всем серверам?
Выбираем серверы по маске “srv10*”:
Теперь мы видим, что количество соединений на порт 8014 не изменилось, попробуем найти на какой сервер они мигрировали:
Мы ограничили выборку только портом 8014 и сделали группировку не по порту, а по серверам.
Теперь понятно, что соединения с сервера srv101 перешли на srv102.
Разбивка по IP
Часто бывает необходимо посмотреть, сколько было соединений с различных IP адресов. Наш агент снимает количество TCP соединений не только с разбивкой по listen портам и состояниям, но и по удаленному IP, если данный IP находится в том же сегменте сети (для всех остальный адресов метрики суммируются и вместо IP мы показываем “
Рассмотрим тот же период времени, что и в предыдущих случаях:
Здесь видно, что соединений с 192.168.100.1 стало сильно меньше и в это же время появились соединения с 192.168.100.2.
Детализация рулит
На самом деле мы работали с одной метрикой, просто она была сильно детализирована, индентификатор каждого экземпляра выглядит примерно так:
Например, у одно из клиентов на нагруженном сервере-фронтенде снимается
700 экземпляров этой метрики
TCP backlog
По метрикам TCP соединений можно не только диагностировать работу сети, но и определять проблемы в работе сервисов.
Например, если какой-то сервис, обслуживающий клиентов по сети, не справляется с нагрузкой и перестает обрабатывать новые соединения, они ставятся в очередь (backlog).
На самом деле очереди две:
При достижении лимита accept queue ACK пакет удаленного хоста просто отбрасывается или отправляется RST (в зависимости от значения переменной sysctl net.ipv4.tcp_abort_on_overflow).
Наш агент снимает текущее и максимальное значение accept queue для всех listen сокетов на сервере.
Для этих метрик есть график и преднастроенный триггер, который уведомит, если backlog любого сервиса использован более чем на 90%:
Счетчики и ошибки протоколов
Однажды сайт одного из наших клиентов подвергся DDOS атаке, в мониторинге было видно только увеличение трафика на сетевом интерфейсе, но мы не показывали абсолютно никаких метрик по содержанию этого трафика.
В данный момент однозначного ответа на этот вопрос окметр дать по-прежнему не может, так как сниффинг мы только начали осваивать, но мы немного продвинулись в этом вопросе.
Попробуем что-то понять про эти выбросы входящего трафика:
Теперь мы видим, что это входящий UDP трафик, но здесь не видно первых из трех выбросов.
Дело в том, что счетчики пакетов по протоколам в linux увеличиваются только в случае успешной обработки пакета.
Попробуем посмотреть на ошибки:
А вот и наш первый пик — ошибки UDP:NoPorts (количество датаграмм, пришедших на UPD порты, которые никто не слушает)
Данный пример мы эмулировали с помощью iperf, и в первый заход не включили на сервер-приемщик пакетов на нужном порту.
TCP ретрансмиты
Отдельно мы показываем количество TCP ретрансмитов (повторных отправок TCP сегментов).
Само по себе наличие ретрансмитов не означает, что в вашей сети есть потери пакетов.
Повторная передача сегмента осуществляется, если передающий узел не получил от принимающего подтверждение (ACK) в течении определенного времени (RTO).
Данный таймаут расчитывается динамически на основе замеров времени передачи данных между конкретными хостами (RTT) для того, чтобы обеспечивать гарантированную передачу данных при сохранении минимальных задержек.
На практике количество ретрансмитов обычно коррелирует с нагрузкой на серверы и важно смотреть не на абсолютное значение, а на различные аномалии:
На данном графике мы видим 2 выброса ретрансмитов, в это же время процессы postgres утилизировали CPU данного сервера:
Cчетчики протоколов мы получаем из /proc/net/snmp.
Conntrack
Еще одна распространенная проблема — переполнение таблицы ip_conntrack в linux (используется iptables), в этом случае linux начинает просто отбрасывать пакеты.
Это видно по сообщению в dmesg:
Агент автоматически снимает текущий размер данной таблицы и лимит с серверов, использующих ip_conntrack.
В окметре так же есть автоматический триггер, который уведомит, если таблица ip_conntrack заполнена более чем на 90%:
На данном графике видно, что таблица переполнялась, лимит подняли и больше он не достигался.
Вместо заключения
Примеры наших стандартных графиков можно посмотреть в нашем демо-проекте.
Там же можно постмотреть графики Netstat.
[в закладки] Шпаргалка системного администратора по сетевым инструментам Linux
В повседневные задачи системных администраторов входит работа с сетями и с подключённым к ним оборудованием. Нередко роль рабочего места администратора играет компьютер, на котором установлен какой-нибудь дистрибутив Linux. Утилиты и команды Linux, о которых пойдёт речь в материале, перевод которого мы публикуем сегодня, включают в себя список инструментов различной сложности — от простых, до продвинутых, которые предназначены для решения широкого спектра задач по управлению сетями и по диагностике сетевых неполадок.
▍Примеры
Ping, кроме того, можно использовать для выяснения IP-адресов сайтов на основе их имён. Вот как это выглядит.
Использование ping для выяснения IP-адреса сайта по его имени
Traceroute
▍Пример
Telnet
Утилита telnet позволяет связаться с удалённым компьютером по протоколу Telnet и взаимодействовать с ним, используя соответствующие команды.
▍Пример
Для организации сеанса Telnet-связи с другим компьютером используется следующая команда:
Netstat
Эта команда позволяет собирать сведения о сети и используется в ходе поиска и исправления сетевых неполадок, применяется для проверки данных о работе интерфейсов и портов, для исследования таблиц маршрутизации, для изучения информации о работе протоколов. Эта команда непременно должна присутствовать в арсенале системного администратора.
▍Примеры
Для того чтобы получить список всех портов, находящихся в режиме прослушивания, воспользуйтесь такой командой:
Для просмотра таблиц маршрутизации воспользуйтесь такой командой:
Вот как выглядит результат выполнения этой команды.
Сведения о таблице маршрутизации
Вот вариант этой команды, выводящий статистику по протоколам:
Статистика по протоколам
Следующий вариант вызова netstat позволяет узнать сведения об отправленных и полученных пакетах (transmission/receive, TX/RX) по каждому интерфейсу:
Данные об отправленных и полученных пакетах
Nmcli
Утилита nmcli отлично подходит для управления сетевыми соединениями, для выполнения настроек и для решения других подобных задач. С её помощью можно управлять программой NetworkManager и модифицировать сетевые параметры различных устройств.
▍Примеры
Вот как с помощью nmcli вывести список сетевых интерфейсов:
Так можно вывести информацию по конкретному интерфейсу:
Следующий вариант вызова команды позволяет проверить подключение устройства к сети:
Примеры использования nmcli
Эта команда позволяет отключить заданный интерфейс:
А эта позволяет включить интерфейс:
Вот пример команды, которая добавляет VLAN-интерфейс с заданным VLAN-номером, IP-адресом и шлюзом к указанному интерфейсу:
Маршрутизация
Существует множество команд, которые можно использовать для проверки правил маршрутизации и их настройки. Рассмотрим самые полезные из них.
▍Примеры
Следующая команда показывает все текущие маршруты, настроенные для соответствующих интерфейсов:
Маршруты, настроенные для интерфейсов
Эта команда позволяет добавить в таблицу маршрутизации шлюз, используемый по умолчанию:
Следующая команда добавляет в таблицу маршрутизации новый сетевой маршрут. Существует и множество других её параметров, позволяющих выполнять такие операции, как добавление маршрута и шлюза, используемых по умолчанию, и так далее.
С помощью такой команды можно удалить запись о заданном маршруте из таблицы маршрутизации:
Использование команды route
Вот команда, которая применяется для вывода текущей таблицы соседей. Кроме того, её можно использовать для добавления, изменения или удаления сведений о соседях:
Взглянем на примеры её использования.
Данные, полученные с помощью команды ip neighbor
Вот сведения о команде ip neigh
Сведения о команде ip neigh
Вот пример её вызова.
Вызов команды arp
Tcpdump и Wireshark
▍Примеры
Такая команда показывает, в режиме реального времени, пакеты с заданного интерфейса:
Использование tcpdump
Следующий вариант команды используется для захвата пакетов, приходящих с заданного IP системы-источника:
Так можно захватить пакеты, идущие на заданный адрес системы-приёмника:
Вот пример использования tcpdump для захвата пакетов для заданного номера порта, например, это может быть порт 53, 80, 8080, и так далее:
Здесь показано, как с помощью tcpdump захватывать пакеты заданного протокола, вроде TCP, UDP или других:
Iptables
Утилита iptables похожа на файрвол, она поддерживает фильтрацию пакетов, что позволяет управлять трафиком, пропуская или блокируя его. Диапазон возможностей этой утилиты огромен. Рассмотрим несколько наиболее распространённых вариантов её использования.
▍Примеры
Следующая команда позволяет вывести все существующие правила iptables :
Эта команда удаляет все существующие правила:
Следующие команды разрешают прохождение трафика с заданного номера порта к заданному интерфейсу:
Следующие команды разрешают loopback-доступ к системе:
Nslookup
Инструмент nslookup используется для получения сведений о назначении IP-адресов сетевым ресурсам. Его можно использовать и для получения сведений с DNS-серверов, например таких, как все DNS-записи для некоего веб-сайта (ниже мы рассмотрим соответствующий пример). На nslookup похожа утилита dig (Domain Information Groper).
▍Примеры
Следующая команда выводит IP-адреса вашего DNS-сервера в поле Server, и, ниже, выдаёт IP-адрес искомого сайта:
Такая команда показывает все доступные записи для заданного веб-сайта или домена:
Поиск неполадок
Вот набор команд и список важных файлов, используемых для идентификации сетевых неполадок.
▍Примеры
Итоги
В этой небольшой шпаргалке мы рассказали о сетевых инструментах 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, как через консоль, так и через графический пользовательский интерфейс, где мы можем видеть действительно интуитивно понятные и хорошо продуманные графики.












































