Просмотр сетевых ресурсов linux

Как найти доступные сетевые интерфейсы в Linux

Одна из общих задач, которую мы выполняем после установки системы Linux, – настройка сети.

Конечно, вы можете настроить сетевые интерфейсы во время установки.

Но некоторые из вас могут предпочесть сделать это после установки или изменить существующие настройки.

Как вы уже знаете, вы должны сначала узнать, сколько интерфейсов доступно в системе, чтобы настроить параметры сети из командной строки.

В этом кратком руководстве рассматриваются все возможные способы поиска доступных сетевых интерфейсов в операционных системах Linux и Unix.

Найти доступные сетевые интерфейсы в Linux

Мы можем найти доступные сетевые карты несколькими способами.

Способ 1. Использование команды ifconfig:

Наиболее часто используемый метод поиска сведений о сетевом интерфейсе – это использование команды ifconfig.

Я полагаю, что некоторые пользователи Linux все еще могут использовать это.

Как вы видите в приведенном выше выводе, у меня есть два сетевых интерфейса, а именно enp5s0 (на плате проводного адаптера Ethernet) и wlp9s0 (адаптер беспроводной сети) на моем компьютере с Linux.

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

Он имеет IP-адрес 127.0.0.1.

Мы также можем использовать одну и ту же команду ifconfig во многих вариантах UNIX, например, FreeBSD, для просмотра списка доступных сетевых карт.

Способ 2. Использование команды «ip»:

Команда ifconfig устарела в последних версиях Linux.

Таким образом, вы можете использовать команду «ip» для отображения сетевых интерфейсов, как показано ниже.

Вы также можете использовать следующие команды.

Вы заметили, что эти команды также показывают состояние подключения сетевых интерфейсов?

Если вы внимательно посмотрите на вышеприведенный вывод, вы заметите, что моя карта Ethernet не подключена с помощью сетевого кабеля (см. Слово «DOWN» в вышеприведенном выводе).

И беспроводная сетевая карта подключена (см. Слово «UP»).

Для получения более подробной информации обратитесь к нашему предыдущему руководству, чтобы найти состояние подключения сетевых интерфейсов в Linux:

Этих двух команд (ifconfig и ip) достаточно, чтобы найти доступные сетевые карты в ваших системах Linux.

Тем не менее, есть немного других доступных методов для перечисления сетевых интерфейсов в Linux.

Способ 3:

Ядро Linux сохраняет данные о сетевом интерфейсе в каталоге /sys/class/net.

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

Способ 4:

В операционных системах Linux файл /proc/net/dev содержит статистику о сетевых интерфейсах.

Чтобы просмотреть доступные сетевые карты, просто просмотрите его содержимое с помощью команды:

Способ 5: использование команды «netstat»

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

Пожалуйста, помните, что netstat устарел.

Замена для «netstat -i» – «ip -s link».

Также обратите внимание, что этот метод будет перечислять только активные интерфейсы, а не все доступные интерфейсы.

Способ 6: использование команды «nmcli»

Nmcli – это nmcli – инструмент командной строки для управления NetworkManager и создания отчетов о состоянии сети.

Он используется для создания, отображения, редактирования, удаления, активации и деактивации сетевых подключений и отображения состояния сети.

Если у вас установлена система Linux с установленным Network Manager, вы можете получить список доступных сетевых интерфейсов с помощью инструмента nmcli, используя следующие команды:

Теперь вы знаете, как найти доступные сетевые интерфейсы в Linux.

Далее, проверьте следующие руководства, чтобы узнать, как настроить IP-адрес в Linux.

Источник

Утилита ss в Linux

Иногда бывает необходимо посмотреть какие сетевые подключения Linux открыты, какие IP адреса используются или какие порты прослушиваются. Раньше для таких целей использовалась утилита netstat. Её, без сомнения, знают все системные администраторы и специалисты по безопасности. Но она больше не поставляется по умолчанию в новых дистрибутивах. Вместо неё используется новая утилита под названием ss.

Netstat сканирует директорию /proc для получения необходимой информации, но в новых версиях ядра была реализована специальная подсистема для мониторинга сети в Linux. Её и использует ss, с помощью этой утилиты вы можете получить больше информации о сетевых подключениях и работает она гораздо быстрее.

Читайте также:  Установить тачпад asus windows

Как вы уже поняли в этой статье мы рассмотрим мониторинг сетевых подключений в Linux с помощью утилиты из пакета iproute — ss linux. Начнем, как обычно, с синтаксиса и основных опций.

Общая информация

Как уже было сказано работает утилита ss в Linux на основе подсистемы ядра. Синтаксис очень простой — сама команда и ее опции:

$ ss опции [ фильтр_состояния] [фильтр_адреса]

Для удобства вывод команды ss можно фильтровать с помощью grep:

$ ss опции | grep шаблон

Опции указывает различные параметры отображения и фильтрации информации. Фильтры по состоянию и адресу очень интересная вещь, они позволяют выполнять мониторинг сетевых подключений в Linux, только тех что нужно. Например, только открытых, закрытых или находящихся на этапе подключения. Подробнее мы рассмотрим это в конце статьи.

Опции утилиты ss

Для сетевых подключений в Linux с помощью утилиты ss можно использовать такие опции:

  • -V — Version показать версию утилиты.
  • -n — Numeric не определять имена служб.
  • -r — Resolve определять сетевые имена адресов с помощью DNS.
  • -a — All отобразить все сокеты (открытые соединения).
  • -l — Listening показать только прослушиваемые сокеты.
  • -o — Options показать информацию таймера.
  • -e — Extended выводить расширенную информацию о сокете.
  • -p — Processes, показать процессы, использующие сокет.
  • -i — Internal, посмотреть внутреннюю информацию TCP.
  • -s — Summary, статистика использования сокета.
  • -D — экспортировать текущее состояние TCP сокетов в файл.
  • -F — работать с информацией, взятой из файла.

Кроме того, можно вывести сокеты только нужного протокола:

  • -4, —ipv4 — только сокеты протокола IP версии 4.
  • -6 —ipv6 — только сокеты протокола IP версии 6.
  • -0, —packet — только PACKET сокеты.
  • -t, —tcp — TCP сокеты.
  • -u, —udp — UDP сокеты.
  • -d, —dhcp — DHCP сокеты.
  • -r, —raw — RAW сокеты.
  • -x, —unix — UNIX сокеты.

Для фильтрации протоколов можно использовать не только эти опции, но и универсальную опцию -f, передав ей в параметре название протокола. Здесь собраны самые основные опции, если вам нужно больше информации — смотрите справку команды.

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

А теперь давайте рассмотрим примеры использования утилиты ss Linux. Возможно, из описания опций вы мало что поняли, но с примерами все встанет на свои места.

Мониторинг сетевых подключений

Сначала смотрим все сетевые подключения:

Посмотрим только TCP соединения:

Теперь только Unix:

Для отображения UDP сокетов используйте опцию u. По умолчанию будут показаны только подключенные соединения. Если хотите получить все, нужно использовать опцию a. Поскольку UDP, это протокол без постоянного соединения, то без опции -a мы ничего не увидим:

По умолчанию утилита не пытается определять имена хостов через dns, но можно ее попросить делать это опцией -r:

Обратная опция -n, не будет выполняться не только dns резолвинг, но и определение протоколов портов, зато мониторинг сети в Linux работать будет быстрее:

Теперь просмотрим только прослушиваемые tcp сокеты.

Здесь мы видим только имена служб, это не всегда удобно, указав опцию n, мы получим номера портов. Так же само можно посмотреть прослушиваемые udp сокеты:

Также мы можем попытаться узнать название и PID процесса, использующего сокет:

Просмотр статистики статистики сетевых подключений

Для просмотра статистики по использованию сетевых подключений наберите:

С помощью опции -о можно посмотреть информацию о таймере и состоянии подключения.

Фильтрация по протоколу

Мы можем отображать только нужный нам протокол. Например только ipv4:

sudo ss -tl -f inet4

Так же само можно отобразить только соединения ipv6:

Фильтрация по состоянию соединения

В синтаксисе команды мы описали два дополнительных параметра. Фильтрация состояния и фильтрация по адресу. Рассмотрим теперь как ими пользоваться. Сокет TCP может находиться в одном из нескольких состояний. Например, так утилита ss linux выведет только подключенные сокеты.

ss -t4 state established

Или сокеты в состоянии ожидания:

sudo ss -t4 state time-wait

В параметр state можно передать одно из следующих значений:

  • established
  • syn-sent
  • syn-recv
  • fin-wait-1
  • fin-wait-2
  • time-wait
  • closed
  • close-wait
  • last-ack
  • closing
  • all — все состояния
  • connected — все кроме прослушиваемых и закрытых
  • synchronized — все кроме syn-sent
  • bucket — time-wait и syn-recv
  • big — все кроме bucket

Не все состояния подключений можно увидеть просто выполнив команду. Например, syn-sent и syn-recv вряд ли получиться словить, потому что соединения находятся в этом состоянии очень короткое время. Для их отображения удобно использовать команду watch:

Читайте также:  All file system in windows operating system

watch -n 1 «ss -t4 state syn-sent»

После запуска команды откройте любой сайт в браузере. Вы увидите как появится одно или несколько соединений на несколько секунд.

Фильтрация по адресу и номеру порта

Кроме фильтрации по состоянию, tcp сокеты можно фильтровать по адресам или портам соединений.

Например, отберем все сетевые подключения linux с портом источником или приемником ssh, то есть все входящие и исходящие соединения ssh:

ss -at ‘( dport = :ssh or sport = :ssh )’

Или сокеты с портом назначения 80 или 443:

ss -nt ‘( dst :443 or dst :80 )’

Такой синтаксис тоже будет работать:

ss -nt dst :443 or dst :80

Еще несколько примеров фильтрации:

Фильтрация по адресу:

ss -nt dst 74.125.236.178

Фильтрация по адресу и подсети:

ss -nt dst 74.125.236.178/16

И по адресу и порту:

ss -nt dst 74.125.236.178:80

Если вы хотите фильтровать сетевые соединения по порту, перед портом ставьте двоеточие:

ss -nt dport = :80

Можно использовать такие операторы сравнения:

  • = или ge — больше или ровно порту.
  • == или eq — точное соответствие.
  • != или ne — не равно.
  • или lt — больше.

Выводы

Вот и всё. Основную информацию о том, как выполнять мониторинг сети в Linux с помощью утилиты ss рассмотрели. Если вам нужно больше информации и примеров смотрите документацию по утилитам набора iproute.

Источник

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

Во многих случаях может понадобиться отследить нагрузку на сеть, посмотреть сколько данных передается и какие пользователи, программы или компьютеры занимают канал. Особенно часто такие задачи возникают перед системными администраторами, перед которыми стоит задача отслеживать работу сети целой компании. Но также это может быть полезно и обычным пользователям.

В этой статье мы рассмотрим как выполняется мониторинг сети Linux. Для этого можно использовать различные утилиты. Начиная от сетевых анализаторов, таких как Wireshark и tcpdump до более простых инструментов, таких как iptraf.

Как работает мониторинг сети?

Все данные, которые распространяются через интернет передаются в виде пакетов определенного размера. Данные разделяются на части определенного размера и из них составляются пакеты, которые будут отправлены в ядро системы а затем в сеть, где пройдут путь из многих компьютеров и маршрутизаторов пока достигнут цели. С помощью специального программного обеспечения мы можем отслеживать сколько пакетов и какого размера проходит через наш компьютер и неважно, были они созданы локальной программой или получены из сети.

Таким образом, очень просто можно узнать какая сейчас нагрузка на сеть, какие программы или сервисы создали пакеты, и даже что содержится в этих пакетах и что делает пользователь.

Мониторинг сети с помощью iptraf

iptraf — это одна из самых лучших программ для мониторинга сети в Linux. Она предоставляет очень удобный интерактивный интерфейс, с помощью которого можно наглядно увидеть всю необходимую информацию, причем достаточно подробно. Утилита не поставляется по умолчанию, но она достаточно популярна, поэтому вы можете установить ее из официальных репозиториев. Для этого в Ubuntu выполните команду:

sudo apt install iptraf

А в CentOS / Red Hat выполните:

sudo yum install iptraf

После установки утилиты для ее запуска просто наберите в терминале iptraf-ng:

Перед вами откроется интерактивный интерфейс на основе Ncurses, в котором необходимо выбрать нужное действие. Здесь доступны монитор пропускной способности сети, статистика по интерфейсу, статистика по сбоям и монитор локальной сети.

Обратите внимание на нижнюю часть окна, там отображается описание выбранного действия, а также находятся подсказки по горячим клавишам.Например, для просмотра сетевых соединений и статистики трафика для каждого из них выберите IP traffic moitor. Затем вам будет необходимо выбрать сетевой интерфейс, например, enp2s0:

Дальше вы увидите все IP адреса, с которыми сейчас выполняется взаимодействие. Здесь можно увидеть направление отправки пакетов, количество пакетов и общий объем переданных или полученных данных в байтах.

С помощью других пунктов меню можно посмотреть статистику по интерфейсу или статистику по работе локальной сети. Утилита даже может работать в неразборчивом режиме, чтобы собирать максимум данных про локальную сеть.

Также поддерживаются фильтры, которые позволяют отфильтровывать информацию только по определенному критерию. Например, чтобы создать фильтр откройте меню Filters, затем выберите IP. , а дальше Apply new filter:

Затем нужно указать имя фильтра:

На следующем этапе вы можете расписать нужные параметры фильтрации:

Чтобы применить фильтр нужно выбрать Apply filter и выбрать имя фильтра из списка:

Читайте также:  Браузер браво для линукса

Теперь в любом пункте статистики будет отображаться только та информация, которая подходит под созданный фильтр.

Мониторинг трафика Linux чаще всего выполняется администраторами именно с помощью этой утилиты. Видео про использование утилиты:

Мониторинг сети с помощью других утилит

Самая мощная программа для мониторинга сети — это iptraf. Она предоставляет всю необходимую для администраторов информацию. Но, кроме нее, существуют и другие продукты. Рассмотрим их более подробно.

1. iftop

Утилита имеет более простой интерфейс и отображает намного меньше информации. Она выводит ip адреса отправителя и получателя, а также количество переданных или полученных данных за несколько последних секунд:

Установить программу в Ubuntu можно командной:

sudo apt install iftop

Хотя здесь отображается информация по каждому соединению, программа не может идентифицировать программу, которая создает пакеты.

2. nload

nload — это очень простая утилита, которая отображает только скорость входящих и исходящих соединений. Это позволяет сделать примитивный анализ сети linux и определить нагрузку. Отображается текущая скорость, максимальная и минимальная скорость за период работы. Также данные о скорости выводятся в виде графика, поэтому вам будет достаточно беглого взгляда, чтобы понять что происходит.

Для установки программы в Ubuntu используйте команду:

sudo apt install nload

3. nethogs

Nethogs — это достаточно интересная утилита для мониторинга сетей, которая выделяется среди других. С помощью нее можно посмотреть какой процесс создает тот или иной трафик. Здесь отображаются PID процессов и имена пользователей, отсортированные по занимаемой пропускной способности сети:

Программа, как и другие доступна из официальных репозиториев, поэтому у вас не возникнет проблем с установкой:

sudo yum install nethogs

4. bmon

Утилита bmon позволяет отображать достаточно подробно статистику по каждому сетевому интерфейсу. Она работает похоже на nload и выводит график кроме текстовой информации:

Для установки программы выполните:

sudo apt install bmon

5. Vnstat

Vnstat отличается от всех инструментов, рассмотренных выше. Программа работает постоянно в фоновом режиме и собирает информацию об использовании сети в лог файл. Далее можно посмотреть какой была нагрузка за определенный период. Для установки утилиты выполните:

sudo apt install vnstat

Далее необходимо запустить сервис, для этого выполните такую команду:

sudo systemctl start vnstat

Далее необходимо немного подождать, пока утилита соберет данные и можно просматривать статистику:

Здесь будет отображаться информация о нагрузке на сеть с указанием дат и периодов. Также вы можете посмотреть доступную информацию в реальном времени. Для этого используйте опцию -l:

Видео про использование и настройку vnstat:

6. bwm-ng

Это еще одна утилита, очень простая в использовании, которая позволяет следить за сетевой нагрузкой в режиме реального времени. Отображаются все доступные сетевые интерфейсы в системе:

Для установки утилиты выполните такую команду:

sudo apt install bwm-ng

7. speedometer

Это еще один простой инструмент, который позволяет выполнить мониторинг сети и выводит данные в виде красивых графиков. Для установки программы выполните:

sudo pip install speedometer

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

speedometer -r enp2s0f0 -t enp2s0f0

Опция -r указывает интерфейс, с которого необходимо отображать количество полученных пакетов, а опция -t — отправленных.

8. netwatch

Netwatch — это небольшая утилита, которая входит в набор инструментов Netdiag и показывает сетевые соединения между локальной и удаленными системами, а также скорость, с которой будут передаваться данные. Для установки программы используйте:

sudo apt install netdiag

Затем для запуска:

9. ifstat

Утилита ifstat показывает пропускную способность сети, измеряя количество переданных и принятых пакетов. Вывод утилиты можно использовать и анализировать в других программах. Утилита не выводит информацию об ip адресах или других параметрах, а только скорость. Для установки используйте:

sudo apt install ifstat

10. trafshow

Это утилита, очень похожа на iftop, которая отображает не только скорость передачи, но и сами соединения. Здесь выводится информация по соединениях, размеры пакетов и протокол. Для установки программы наберите:

sudo apt install trafshow

Осталось запустить программу:

Выводы

В этой статье мы рассмотрели команду Iptraf, а также еще несколько полезных утилит, с помощью которых можно выполнять мониторинг сети linux на сервере или домашнем компьютере. Некоторые из этих инструментов можно использовать даже в корпоративной среде. В качестве альтернативы вы можете использовать инструменты с веб-интерфейсом. Некоторые из них перечислены в статье системы мониторинга Linux. А какие инструменты мониторинга используете вы? Напишите в комментариях!

Источник

Оцените статью