Ngrep — утилита для мониторинга и анализа трафика на сервере. С её помощью, мы можем grep’ать нужную нам информацию в режиме реального времени.
Пакет с ngrep есть в репозиториях всех популярных операционных систем, так что установить его можно с помощью привычного нам пакетного менеджера. Кроме того, установку можно выполнить с помощью brew. Я для работы использую CentOS, так что и ставить программу буду yum’ом:
# yum install epel-release # yum install ngrep
Использование Ngrep.
Логика работы здесь аналогична другим, похожим на grep утилитам — передаём команде параметры, по которым хотим проанализировать трафик, и на выходе получаем информацию только по нужным нам пакетам. Плюс к этому, мы будем работать с уже знакомым нам синтаксисом запросов других сетевых анализаторов. Объединив эти две возможности, на выходе мы получаем удобный инструмент, который умеет многое…
Например, показать только icmp трафик:
# ngrep -q '.' 'icmp'
Выводить информацию только о трафике для хоста sysadmin.pm:
# ngrep -q '.' 'host sysadmin.pm'
То же самое, но только для порта 443 и при адресе источнике из подсети 46.160.230.*:
# ngrep -q '.' 'host sysadmin.pm and port 443 and src 46.160.230'
Построчно выводим информацию о запросах, содержащих вхождение «nginx» при обращении к хосту 95.216.147.242 и порту 80:
# ngrep -W byline -q 'nginx' 'host 95.216.147.242 and port 80'
Смотрим почтовую активность на сервере (вместо eth0 может быть другой, нужный вам интерфейс):
# ngrep -d eth0 port 25
Разумеется, с помощью ngrep мы можем анализировать и pcap файлы. Для создания дампа используем ключ -O (ключ -T в данном случае добавляет таймштамп):
# ngrep -O ./sysadmin.pm.dump -d eth0 -T
Теперь, мы без проблем можем работать с созданным дампом точно так же, как и с трафиком в реальном времени. Указать, что информацию нужно брать из дампа можно с помощью ключа -I:
# ngrep -I ./sysadmin.pm.dump -q '.' 'host sysadmin.pm and port 443'
Если ранее ещё не использовали ngrep в работе, обязательно возьмите его на заметку. Порой, утилита серьёзно выручает в решении будничных задач на сервере.
Вопрос, малость не в тему, но ысе же, если хост, как релей, то как сохранять видеопотоки, которые идут через него, всякие ютубы, сайты, стримы?