25 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Программа для мониторинга использования сети. Мониторинг сети с использование утилиты TCPView и netstat. Внедрение системы мониторинга сети ZABBIX включает

Мониторинг сети с использование утилиты tcpview и netstat

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

Допустим у вас есть точка доступа, к которой подключены только вы, но вы замечаете, что скорость соединения какая-то низкая, звоните провайдеру, они отмечают, что все нормально или что-то подобное. А вдруг к вашей сети кто-то подключен?

Можно попробовать с помощью методов из этой статьи узнать, какие программы, которые требуют Интернет-соединения он использует. А вообще, вы можете использовать эти методы, как душе угодно.

Ну что, давайте анализировать?

Команда netstat для анализа сетевой активности

Этот способ без использования всяких программ, нам лишь понадобится командная строка. В Windows есть специальная утилита netstat, которая занимается анализом сетей, давайте использовать ее. Желательно, чтобы командная строка была запущена от имени администратора.

В Windows 10 можно нажать на меню Пуск правой кнопкой мыши и выбрать соответствующий пункт.

Видео: Как узнать какая программа использует какой TCP/UDP порт ПК

В командной строке вводим команду netstat и видим много интересной информации:

Мы видим соединения, в том числе, их порты, адреса, соединения активные и ожидающиеся. Это конечно круто, но нам этого мало. Нам бы узнать, какая программа использует сеть, для этого вместе с командной netstat можно использовать параметр –b, тогда команда будет выглядеть так:

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

Это не единственный параметр в этой команде, для отображения полного списка введите команду netstat –h.

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

В качестве альтернативы мы будем использовать стороннее программное обеспечение – TCPView.

Мониторинг сетевой активности с помощью TCPView

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

Видео: How to Use NETSTAT & FPORT Command to detect spyware, malware & trojans by Britec

Итак, утилита TCPView занимается мониторингом сетей и показывает в виде списка все подключенные к сети программы, порты, адреса и соединения.

В принципе тут все предельно ясно, но некоторые пункты программы я поясню:

  • Столбец Process, ясное дело, показывает название программы или процесса.

Видео: zabbix проверка порта tcp

  • Столбец PID указывает на идентификатор подключенного к сети процесса.
  • Столбец Protocol указывает на протокол процесса.
  • Столбец Local adress – локальный адрес процесса данного компьютера.
  • Столбец Local port – локальный порт.
  • Столбец Remote adress указывает на адрес, к которому подключена программа.
  • Столбец State – указывает на состояние соединения.
  • Там, где указано Sent Packets и Rcvd Packets указывает на отправленное и полученное количество пакетов, тоже самое и со столбцами Bytes.

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

Названия адреса, как показано на изображении ниже можно преобразовать в локальный адрес, для этого нужно нажать горячие клавиши Ctrl+R.

(Пока оценок нет)

Мониторинг сети с использование утилиты TCPView и netstat

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

Допустим у вас есть точка доступа, к которой подключены только вы, но вы замечаете, что скорость соединения какая-то низкая, звоните провайдеру, они отмечают, что все нормально или что-то подобное. А вдруг к вашей сети кто-то подключен? Можно попробовать с помощью методов из этой статьи узнать, какие программы, которые требуют Интернет-соединения он использует. А вообще, вы можете использовать эти методы, как душе угодно.

Ну что, давайте анализировать?

Команда netstat для анализа сетевой активности

Этот способ без использования всяких программ, нам лишь понадобится командная строка. В Windows есть специальная утилита netstat, которая занимается анализом сетей, давайте использовать ее.

Желательно, чтобы командная строка была запущена от имени администратора. В Windows 10 можно нажать на меню Пуск правой кнопкой мыши и выбрать соответствующий пункт.

В командной строке вводим команду netstat и видим много интересной информации:

Мы видим соединения, в том числе, их порты, адреса, соединения активные и ожидающиеся. Это конечно круто, но нам этого мало. Нам бы узнать, какая программа использует сеть, для этого вместе с командной netstat можно использовать параметр –b, тогда команда будет выглядеть так:

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

Это не единственный параметр в этой команде, для отображения полного списка введите команду netstat –h .

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

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

Мониторинг сетевой активности с помощью TCPView

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

Итак, утилита TCPView занимается мониторингом сетей и показывает в виде списка все подключенные к сети программы, порты, адреса и соединения.

В принципе тут все предельно ясно, но некоторые пункты программы я поясню:

  • Столбец Process, ясное дело, показывает название программы или процесса.
  • Столбец PID указывает на идентификатор подключенного к сети процесса.
  • Столбец Protocol указывает на протокол процесса.
  • Столбец Local adress – локальный адрес процесса данного компьютера.
  • Столбец Local port – локальный порт.
  • Столбец Remote adress указывает на адрес, к которому подключена программа.
  • Столбец State – указывает на состояние соединения.
  • Там, где указано Sent Packets и Rcvd Packets указывает на отправленное и полученное количество пакетов, тоже самое и со столбцами Bytes.
Читать еще:  Grand Theft Auto 5 на PS4 будет "весить" 50ГБ

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

Названия адреса, как показано на изображении ниже можно преобразовать в локальный адрес, для этого нужно нажать горячие клавиши Ctrl+R.

Если вы увидите строки разного цвета, например, зеленого, то это означает запуск нового соединения, если покажется красный цвет, то соединение завершено.

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

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

Мониторинг соединений. Утилита TCPView

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

Если хотите убедиться в этом сами, воспользуйтесь специальной утилитой TCPView предназначенной для отслеживания всех существующих в системе соединений(мониторинг соединений) использующих протоколы TCP и UDP.

Утилита TCPView принадлежит авторству известного специалиста по безопасности Windows Марка Руссиновича и входит в состав пакета Sysinternals Suite. Она бесплатна, несмотря на англоязычный интерфейс очень проста в использовании и не требует инсталляции.

При запуске TCPView производит мониторинг подключений и выводит список всех процессов использующих TCP и UDP соединения.

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

Протоколы TCP и UDP – это правила, по которых происходит обмен данными внутри сети. К примеру, протокол TCP очень напоминает работу обыкновенной почты.

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

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

Многие программы имеют стандартные номера, например приложения для передачи данных по ftp имеют номер 21, кому приходилось работать с FileZilla Client сразу поймет, о чем идет речь.

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

Так вот, благодаря утилите TCPView вы в любую минуту можете узнать, какое приложение использует интернет-соединение, кто к вам подключен и какие порты прослушиваются.

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

Обнаружив подозрительное соединение можно закрыть его или полностью завершить процесс

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

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

Вся информация обновляется ежесекундно, что является, по мнению разработчика наиболее оптимальным для наблюдения за соединениями, но вы можете изменить скорость обновления или даже отключить его, выбрав в меню View пункт Update Speed.

По умолчанию данные по IP адресу и номеру порта отображаются буквенными символами.

Если это вам покажется неудобным, нажмите Ctrl+R и утилита тут же переключится в цифровой режим отображения. Для просмотра полного пути к файлу процесса необходимо дважды щелкнуть по выбранной строке.

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

Эту операцию, копирование данных (Copy), а также завершение соединения без удаления процесса (Close Connection) можно выполнить из контекстного меню TCPView вызываемого как обычно правой клавишей мыши. Скачивайте программу с официального сайта

Система мониторинга серверов Zabbix.

Когда у вас появляется много серверов ,то вам уже не так удобно следить за ними. Встает вопрос о их мониторинге, оповещение о проблемах на сервере. Отказ каких то сервисов, оперативное управление. Zabbix отличное решение этих вопросов.

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

  • Simple checks — может проверять доступность и реакцию стандартных сервисов, таких как SMTP или HTTP, без установки какого-либо программного обеспечения на наблюдаемом хосте.
  • Zabbix agent — может быть установлен на UNIX-подобных или Windows-хостах для получения данных о нагрузке процессора, использования сети, дисковом пространстве и так далее.
  • External check — выполнение внешних программ, также поддерживается мониторинг через SNMP.

Мы постараемся подробно рассказать как установить и настроить это чудо. Познакомимся с основными настройками и возможностями Zabbix.

Первый этап подготовки будет установка LAMP на сервер. Если вы не знаете что это и как это делается, вам сюда )

Теперь установим сервер Zabbix. У меня проблем с установкой из коробки не было:

Если у вас все таки возникли какие то проблемы, вы можете взять пакет deb из официального репозитория https://repo.zabbix.com/zabbix/4.0/debian/

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

Следующий пример создает базу данных «zabbixdb»:

или CHARACTER SET, COLLATE которые используется для задания стандартной кодировки таблицы и порядка сортировки.

Для нормальной работы Zabbix нужна кодировка базы данных UTF-8.

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

Теперь зададим привилегии для пользователя zabbix, что бы он мог работать с базой данных:

То есть пользователь zabbix подключенный локально
@localhost с паролем 12345 получает все привилегии над всей базой данных(включай таблицы и т.д.) zabbixdb — zabbixdb.*

Теперь мы загрузи все таблицы в нашу базу. Они находятся в папке
/usr/share/zabbix-server-mysql/

Теперь настроим нашу базу в конфигурационном файле
/etc/zabbix/zabbix_server.conf и укажем там данные аутентификации:

Читать еще:  Темный режим в iPhone

Далее, включаем конфигурационный файл zabbix для apache2:

Теперь нужно перезапустить Zabbix и Apache, чтобы применить изменения:

Заходим в браузере http://ВашIP/zabbix

У меня не настроена timezona в php, сейчас мы это исправим в php.ini и перезапустим Apache.

Дальше укажите параметры доступа к базе данных, они будут использоваться для работы веб-интерфейса:

А дальше у нас опять проблемка, не удается создать файл конфигурации. Придется делать это вручную.

Файл нужно скачать и сохранить в /etc/zabbix/ вручную, владельца файла надо поменять на www-data

Введите имя пользователя Admin с паролем zabbix для входа под Супер-Администратором Zabbix. Вот мы и справились с самой простой частью, установкой и базовой настройкой сервера Zabbix. Продолжение следует.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Мониторинг доступности службы linux с помощью Zabbix

Zerox Обновлено: 28.09.2018 Linux, Zabbix 6 комментариев 35,701 Просмотры

Ранее я рассматривал различные конфигурации для мониторинга параметров и программ в windows и linux. Сейчас я хочу рассказать, как мониторить с помощью Zabbix произвольный сервис (службу), который работает либо локально на сервере, либо на внешнем tcp порту. Это может быть что угодно — ssh, ldap, smtp, ftp, http, pop, nntp, imap, tcp, https, telnet или любой другой сервис.

Введение

Если у вас еще нет своего сервера для мониторинга, то рекомендую материалы на эту тему. Для тех, кто предпочитает систему CentOS:

То же самое на Debian 10, если предпочитаете его:

В заббикс существуют различные способы получать данные для мониторинга. Наиболее распространенные источники информации:

  • Zabbix агент. Устанавливается на наблюдаемую машину и отправляет данные на сервер мониторинга.
  • SNMP агент. Чаще всего присутствует на устройстве, либо может быть установлен на сервер.
  • Простые проверки — simple check. Выполняются непосредственно на сервере zabbix с помощью встроенных инструментов, не требуют дополнительных действий со стороны хоста.
  • Внешние проверки — external checks. Как и простые проверки выполняются на сервере мониторинга, но не встроенными средствами, а внешними скриптами.

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

Тут можно пойти разными путями. Меня интересует мониторинг различных линукс служб, работающих как локально (samsdaemon, postgrey) в пределах конкретного сервера, так и для публичного доступа по сети, в частности squid, smtp, imap, http. Первое, что пришло в голову, это использовать итем с ключом service_state[]. Но как оказалось, этот тип данных снимает значения только с системных служб windows. Я не сразу это понял и некоторое время повозился в консоли, не понимая, почему при тестировании значения получаю сообщение, что данный item не поддерживается:

Дальше придумал через UserParameter запускать какой-нибудь скрипт, который будет проверять запущен ли сервис в системе или нет. Например с помощью ps ax | grep squid. В принципе, рабочий вариант, но мне казалось, что такую простую задачу можно решить проще и быстрее, без создания на каждом хосте скрипта и изменения файла конфигурации. И я не ошибся. Есть 2 различных способа мониторинга служб (сервисов) в linux с помощью zabbix. Рассмотрим первый из них.

Описание работы простых проверок (simple check)

Стал искать материал на эту тему и прочитал про simple check (простые проверки) в zabbix. Оказалось, это то, что нужно. Их можно использовать для безагентских проверок удаленных сервисов. При этом требуется минимум настроек и только на сервере. Можно создать шаблон и распространить на любое количество хостов.

Принцип работы простых проверок следующий. Вы создаете item, в нем указываете тип simple check, в качестве ключа выбираете net.tcp.service[сервис, , ], указываете соответствующие параметры в скобках и все. Сервер сам начинает опрашивать указанный сервис и возвращать в зависимости от его доступности или 1. Устанавливать агент на хост не нужно. Мониторить можно любую сетевую службу, к которой есть доступ по tcp.

Всего в простых проверках доступны 5 ключей. Подробнее о них читайте в документации. В данном случае меня будет интересовать только ключ net.tcp.service. В нем предопределены алгоритмы проверок следующих служб: ssh, ntp, ldap, smtp, ftp, http, pop, nntp, imap, https, telnet. Детали реализации проверки каждой службы описаны тут. Если вы мониторите службу, которая не входит в указанный выше список, то происходит просто проверка возможности подключения, без отправки и получения каких-то данных.

Мониторинг доступности сервиса по сети

В качестве примера настроим мониторинг доступности прокси сервера squid. Он запущен на linux сервере и этот хост уже добавлен на сервер мониторинга. Данные поступают с помощью агента, но мы не будет его использовать. Просто создадим одиночный item для проверки доступности squid и trigger для отправки уведомления, если сервис не работает. В данном примере я рассмотрю настройку на примере конкретного хоста. Если у вас несколько серверов с squid, которые вы хотите мониторить, то все элементы лучше создать не отдельно на каждом хосте, а сразу сделать template и назначить его нужным хостам.

Итак, идем в Configuration -> Hosts и выбираем там хост, на котором установлен squid. Переходим в раздел Items и нажимаем Create item.

Заполняем необходимые параметры элемента.

Обязательно заполнить первые 3, остальные на ваше усмотрение. Я считаю, что проверять каждые 30 секунд и хранить 90 дней информацию излишне, поэтому изменяю эти параметры в сторону увеличения.

Сразу создадим триггер, который в случае возврата в последних двух проверках значения итемом 0, будет отправлять уведомление о том, что служба недоступна. Для этого идем в раздел triggers и жмем Create trigger. Заполняем параметры элемента.

Выражение =0 означает, что триггер срабатывает, если 2 последних значения были равны 0.

Ждем пару минут и идем в Latest data проверять поступаемые значения.

Чтобы проверить работу триггера, достаточно зайти на сервер и остановить squid. Если вы все сделали правильно, то после второй проверки, которая определит, что squid не отвечает по заданному адресу, вы получите уведомление на почту об этом. Если у вас не настроены или не работают уведомления на почту в zabbix, то читайте мою статью на эту тему.

Мониторинг локальной службы в linux

С мониторингом удаленного tcp сервиса разобрались, а что делать, если служба работает локально и к ней невозможно подключиться из вне. Тут уже не обойтись без установки zabbix агента. Если он установлен на хосте, то можно воспользоваться итемом с ключом proc.num. Этот ключ возвращает в качестве значения количество запущенных процессов. И если таких процессов больше одного, можно считать, что служба запущена.

Рассмотрим на примере мониторинга службы postgrey, реализующей greylist для борьбы со спамом. Она работает локально на почтовом сервере linux и является критическим сервисом, так как без него почтовый сервер postfix не будет принимать почту, выдавая временную ошибку почтовой системы. Проверим работу ключа proc.num:

Все в порядке, zabbix агент возвращает значение 1 при запущенном сервисе. Идем на сервер мониторинга, выбираем хост или шаблон и создаем новый item.

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

Создаем триггер с оповещением о недоступности сервиса. При последних двух значениях равных срабатываем.

Я настраиваю триггер в шаблоне, поэтому сразу для удобства в названии триггера указываю маску для имени, чтобы было понятно в оповещении, на каком хосте сработал триггер. Как обычно, проверить поступаемые значения можно в Latest data.

Вот и все. Мы настроили мониторинг локальных служб linux в заббиксе.

Заключение

В своем материале я рассмотрел два различных способа, с помощью которых можно мониторить любой удаленный сервис по протоколу tcp, либо локальную службу на сервере linux. Конкретно в моих примерах можно было воспользоваться вторым способом в обоих случаях. Я этого не сделал, потому что первым способом я не просто проверяю, что служба запущена, я еще и обращаюсь к ней по сети и проверяю ее корректную работу для удаленного пользователя.

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

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

VOIP-LAB

Devops Engineer Laboratory – техническая информация. Быстрые решения. Отличные статьи для технаря.

Zabbix — мониторинг загрузки сети и Интернет-канала

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

В Инете сейчас кучи статей о том как подключить сервер к системе мониторинга Zabbix. В своем примере я подключу сервер на основе CentOS 5.3, который смотрит мордой вперед и который сам по себе достаточно мощный, но узким местом которого является Интернет-канал.

Подключение сервера

Конфигурирование начнем с создания новой группы серверов. Идем в Configurations→Host groups и нажимаем на кнопку вверху справа Create host group. Я назову группу DemoServers.

После создания группы,- необходимо создать сам хост. Переходим в раздел Configurations → Hosts. Жмем кнопку Create host. В поле IP address или DNS определите внешний IP или DNS-имя по которому Zabbix Server подключится к хосту для получения данных.

В этом же окне откройте вкладку Templates, чтобы подключить к хосту шаблон, по которому для него автоматически создадутся приложения, триггеры, графики и пр. В моем случае, поскольку на хосте стоит ОС Linux, я выберу шаблон Template OS Linux.

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

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

Но нас ведь не просто графики интересуют, а оповещение в случае загрузки канала. Для начала определимся с тем, что именно будем мониторить. Поскольку, хост отдает контент — критичным для нас будет отдача трафика на интерфейсе. Если же вы мониторите офисный шлюз, то критичным будет исходящий трафик на интерфейсе(для шлюза он будет входящим), который смотрит в локальную сеть. Для того, чтобы научить наш Zabbix слать оповещения в случае «проседания канала», нам необходимо создать триггер. Открываем раздел Configuration→Hosts и напротив нашего SuperServer выбираем Triggers. В открывшемся окне жмем Create trigger и заполняем

Name: Inet Channel Overload Out eth0
Expression: >9437184
Severity: Disaster

Число 9437184 это 9 Мбит/c. (9437184 = 1024*1024*9)

Вот и все, что требовалось сделать. Теперь если загрузка исходящего трафика на интерфейсе eth0 будет больше 9 Мбит/с — нам придет оповещение. А прочитать, как подключить СМС-оповещение к Zabbix можно тут.

Ни для кого не секрет , что со временем база данных zabbix увеличивается. Поэтому покажу вам как ее почистить в Читать дальше.

Я уже написал пару статей о Zabbix. В частности, как настроить мониторинг сети с помощью Zabbix, а также как настроить Читать дальше.

This topic has been discussed on the Net before. But I’d like to show my method. There are two ways Читать дальше.

Сегодня я начинаю разработку очередного модуля для NEOPbx / Elastix систем, основной задачей которого будет на наш центральный сервер присылать Читать дальше.

голоса
Рейтинг статьи
Ссылка на основную публикацию
Статьи c упоминанием слов: