Как мне узнать, какие внешние IP-адреса используют большую часть пропускной способности моего сервера?

Вопрос или проблема

Мой внутренний сервис недавно обрушился из-за неизвестного трафика из нашей локальной сети.

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

Итак, мой вопрос:

  • есть ли команда для указания самых активных внешних IP-адресов, которые используют наибольшую пропускную способность на сервере
  • чтобы я мог запустить цикл, выполняя ее каждые 10-15 секунд

Я работаю на Ubuntu 18.

Заранее спасибо.

Пожалуйста, попробуйте использовать iptraf-ng “Мониторинг IP-сети следующего поколения с интерактивным цветным интерфейсом”. Он отображает счетчик пакетов и счетчик байтов!

Ответ или решение

Дорогой пользователь,

Проблема, с которой вы столкнулись, требует внимательного подхода и использования соответствующих инструментов для мониторинга сетевого трафика. В данном ответе я предложу несколько решений для определения внешних IP-адресов, которые потребляют значительную часть пропускной способности вашего сервера на базе Ubuntu 18.

Определение источников трафика

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

  1. Установка iftop:

    sudo apt update
    sudo apt install iftop
  2. Запуск iftop:

    sudo iftop -i [имя_интерфейса]

    Замените [имя_интерфейса] на интерфейс, который вы хотите мониторить, например eth0 или ens33.

Автоматизация процесса

Для того чтобы осуществлять мониторинг каждые 10-15 секунд и собирать данные о наиболее активных внешних IP, можно использовать комбинацию iftop, awk и grep. Однако, поскольку iftop отображает данные в интерактивном режиме, для автоматизации лучше использовать другие утилиты, такие как vnstat или nload.

Использование vnstat

  1. Установите нужный пакет:

    sudo apt install vnstat
  2. Настройте vnstat для записи трафика:

    sudo vnstat -u -i [имя_интерфейса]
  3. Запустите vnstat с автоматическим обновлением:

    watch -n 15 vnstat -i [имя_интерфейса]

Это позволит вам режиме реального времени видеть информацию о трафике.

Использование tcpdump для детального анализа

Если вам необходимо более детальное отслеживание, вы можете использовать tcpdump:

sudo tcpdump -i [имя_интерфейса] -c 100 -nn | awk '{print $3}' | cut -d '.' -f 1-4 | sort | uniq -c | sort -nr | head -n 10

Эта команда соберет 100 пакетов и покажет 10 самых активных IP-адресов, которые потребляют вашу пропускную способность.

Рекомендации по дальнейшим действиям

  1. Если вы обнаружите подозрительные IP-адреса, настройте ваш брандмауэр (например, ufw), чтобы временно заблокировать их:

    sudo ufw deny from [подозрительный_IP]
  2. Рассмотрите возможность использования более продвинутых систем мониторинга, таких как Grafana и Prometheus, которые позволяют настраивать графики и оповещения.

Подведение итогов

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

Надеюсь, эта информация поможет вам в решении вашей проблемы. Если у вас останутся вопросы, не стесняйтесь обращаться за помощью!

С уважением,
[Ваше имя]
IT-эксперт

Оцените материал
Добавить комментарий

Капча загружается...