- узнать, какой процесс использует сеть
- Re: узнать, какой процесс использует сеть
- Re: узнать, какой процесс использует сеть
- Re: узнать, какой процесс использует сеть
- Re: узнать, какой процесс использует сеть
- Re: узнать, какой процесс использует сеть
- Команда nethogs в Linux
- Установка NetHogs
- Как пользоваться NetHogs
- 1. Просмотр информации
- 2. Обновление данных
- 3. Выбор сетевого интерфейса
- 4. Горячие клавиши
- Выводы
- найти кто грузит сеть
- iftop
- Узнаем кто использует сеть в Linux
- Установка NetHogs
- Кто же использует сеть
- Обновление данных
- Указываем сетевой интерфейс
- Горячие клавиши
- Выводы
- Мониторинг (измерение) потребляемого траффика в Linux
- Пошаговая инструкция
узнать, какой процесс использует сеть
В kinternet вижу, что каждую секунду исходящий траффик поднимается до 64.128 Б/с и сразу падает до нуля и так по кругу. Прибил kopete, ktorrent, проверил konqueror страницы нигде не грузит — все равно этот маленький траффик идет. Как определить, что это такое? — куда он отправляется и каким процессом? раньше помню такого не было — останавливал все соединения и kinternet успакавался
Re: узнать, какой процесс использует сеть
Открой для себя команду netstat
Re: узнать, какой процесс использует сеть
>все равно этот маленький траффик идет. Как определить, что это такое? — куда он отправляется и каким процессом?
Сначала лучше посмотреть
остальные ключи по обстоятельствам — иначе без них может просто завалить выводом весь экран или лучше вообще перенаправить вывод в файл. Потом когда определишь с какого порта идет соединение или на какой порт приходит можно узнать что за процесс является его хозяином как уже писали выше
#netstat -A inet –program
но мне лично больше нравится lsof
Re: узнать, какой процесс использует сеть
sudo netstat -ap
Re: узнать, какой процесс использует сеть
Спасибо за информацию, lsof выглядит поприятнее, netstat похоже нужно еще помучать грепами и пайпами перед тем, как получить тоже самое.
Re: узнать, какой процесс использует сеть
> netstat похоже нужно еще помучать грепами и пайпами
Источник
Команда nethogs в Linux
В Linux существует множество инструментов для мониторинга сетевой активности. Но большинство из них позволяют контролировать только сетевой трафик от вашего компьютера или конкретного интерфейса. Бывают случаи когда нужно понять какая программа наиболее активно использует сетевое соединение.
Такое может понадобиться если у вас медленный интернет и вы хотите спокойно посмотреть любимые сайты, а тут какая-то программа начинает что-то качать при чем какая не понятно. Вот для таких случаев есть инструмент NetHogs. В этой статье мы обсудим установку, настройку и особенности работы с NetHogs.
Установка NetHogs
Как сказано на man странице утилиты, NetHogs — небольшой сетевой монитор. Программа группирует сетевую активность не по протоколу или сети, а по группам процессов.
Если вдруг что-то начинает активно использовать интернет соединение, можно просто запустить NetHogs и вы сразу увидите PID виновника. Так как работа утилиты основана на подсистеме /proc, на данный момент есть версия только для Linux.
Пользователи Debian подобных систем, в том числе и Ubuntu могут установить утилиту с помощью следующей команды:
sudo apt-get install nethogs
Если вы используете другой дистрибутив, посмотрите детали установки на официальном сайте NetHogs. Для работы утилиты необходимы библиотеки pcap и ncurses, убедитесь что пакеты libncurses5-dev и libpcap0.8-dev установлены.
Как пользоваться NetHogs
1. Просмотр информации
Утилиту NetHogs очень просто использовать. Просто выполните команду nethogs в терминале без каких либо параметров и утилита отобразит сетевую активность для каждого процесса.
Как вы видите программа показывает такие детали как PID, пользователя, сетевой интерфейс, количество данных и скорость передачи или приема.
2. Обновление данных
По умолчанию NetHogs обновляет информацию каждую секунду, но вы можете использовать опцию -d для указания интервала обновления. Например, для обновления каждые три секунды наберите:
sudo nethogs -d 3
3. Выбор сетевого интерфейса
Вы можете указать NetHogs с каким сетевым интерфейсом работать, просто набрав имя интерфейса в командной строке. Например для мониторинга трафика на устройстве tun0 используйте:
sudo nethogs tun0
Можно использовать опцию -p для перехвата трафика в неразборчивом режиме (так называемый monitor mode), но это не рекомендуется.
4. Горячие клавиши
В утилите предусмотрены горячие клавиши с помощью которых можно контролировать способ представления. Например нажмите M во время выполнения программы чтобы поменять формат представления приема или передачи данных. Возможны варианты в kb/s, kb, b mb. Например, отображение в мегабайтах, полученных или переданных:
Также вы можете нажать R или S для сортировки по количеству принятых или переданных данных. И как всегда Q для выхода из программы.
Выводы
NetHogs идеально подходит для случаев, когда вы хотите, поймать и уничтожить процесс, который съедает много интернет трафика. Плюс — это утилита с открытым исходным кодом, что означает что вы можете попытаться понять как она работает или даже переписать ее под себя. Вы использовали раньше NetHogs или другой подобный инструмент? Поделитесь своими мыслями в комментариях!
Источник
найти кто грузит сеть
есть веб сервер на центос7
nload на интерфейсе с ип сервера показывает стабильную большую входящую загрузку 25 мб\с
запускал nethogs, но он показывает другую общую скорость
плюс непонятные процессы такого формата
? root ип сервера:59212-104.25.27.103:80 0.280 15.793 KB/sec
перегружал сервер но сразу после ребута опять начинается скачивание
как найти виновника?
netstat -nlpa | grep 59212
не показывает имя процесса
выводит
tcp 0 0 мой ип:51930 67.219.147.82:80 TIME_WAIT —
Твой докер хакнули и теперь он качает биткойны
если хакнули то как увидеть какой процесс качает?
Ты не говоришь что у тебя там крутится, виртуалки, контейнеры или еще что.
крутятся сайты, без докеров
tcp 0 0 мой ип:51930 67.219.147.82:80 TIME_WAIT —
А много подобного нетстат показывает? Конкретно в данном случае что-то на твоём сервере подключилось к порту 80 (HTTP) сервера с айпишником 67.219.147.82 (где-то в США).
Если твои сайты должны сами подключаться куда-то ещё, то возможно это нормально. Если нет, то возможно твой сервак реально взломали (скорее всего через дыру в сайтах) и посадили бота, который пытается ломать другие сайты, DDoSит или занимается каким-нибудь другим подобным непотребством.
nethogs показывает примерно 20-30 записей такого типа, но с разными удаленными ип
? root ип сервера:59212-104.25.27.103:80 0.280 15.793 KB/sec
причем большая часть не качает и у них 0 KB/sec
также сам кач идет не постоянный, то появляется то исчезают
при этом nload показывает стабильный входящий трафик 20 мб\с
что еще заметил- после ребута сервера nload сразу же показывает что идет скачивание
если я выключаю php-fpm или nginx то nethogs не показывает активую скачку, а nload показывает что скачивание не изменилось
iftop
iftop показывает список ип
мне надо найти кто именно создает нагрузку на сеть
пытался использовать tcpdump, iftop,iptraf-ng но никто не показывает имена процессов
ничего не выводит
ss -lntp выводит список сервисов, которые запущены и слушают порты
в моем случае неизвестное приложение открывает порт 59212 и соединяется или пытается соединиться с 104.25.27.103 на порт 80
по крайней мере ss -lntp не показывает порты больше чем 11211
От рута надо запускать, на всякий случай. Ну и понятно с актуальным значением порта.
конечно я запускал под рутом ss -lntp|grep 58658 но ничего не показало
Я имел в виду `lsof`. Например у меня под рутом она показывает все процессы кто сидит на заданном порту:
]# lsof -i tcp:35014
[root@localhost
Хмм, а статус соединений `TIME_WAIT` у всех? Это уже практически завершенные соединения, которые отвалятся по таймауту
почти у всех кому делаю греп по портам из nethogs показывает TIME_WAIT
почти у всех кому делаю греп по портам из nethogs показывает TIME_WAIT
Я не авторитет в этих делах, но по этим соединениям трафика быть не должно, так как это завершенные соединения и просто не факт что еще живой тот процесс что породил их, поэтому lsof и не показывает ничего. Просто (как я понимаю) tcp стек ядра держит эти локальные порты занятыми чтобы новый процесс не получил данные, предназначенные для старого процесса. Я бы в качестве подозрительных процессов поискал все-таки активные соединения.
как искать?
все что есть запускал, ничего не помогает
nload на внешний ип постоянно показывает большой входящий траф
Источник
Узнаем кто использует сеть в Linux
В Linux существует множество инструментов для мониторинга сетевой активности. Но большинство из них позволяют контролировать только сетевой трафик от вашего компьютера или конкретного интерфейса. Бывают случаи когда нужно понять какая программа наиболее активно использует сетевое соединение, например если у вы со своим медленным интернетом хотите спокойно посмотреть любимые сайты, а тут какая-то программа начинает что-то качать при чем какая не понятно. Вот для таких случаев есть инструмент NetHogs.
В этой статье мы обсудим установку, настройку и особенности работы с NetHogs.
Как сказано на man странице утилиты, NetHogs — небольшой сетевой монитор. Программа группирует сетевую активность не по протоколу или сети, а по группам процессов.
Если вдруг что-то начинает активно использовать интернет соединение, можно просто запустить NetHogs и вы сразу увидите PID виновника. Так как работа утилиты основана на подсистеме proc, на данный момент есть версия только для Linux.
Установка NetHogs
Пользователи Debian подобных систем, в том числе и Ubuntu могут установить утилиту с помощью следующей команды:
Если вы используете другой дистрибутив, посмотрите детали установки на официальном сайте NetHogs. Для работы утилиты необходимы библиотеки pcap и ncurses, убедитесь что пакеты libncurses5-dev и libpcap0.8-dev установлены.
Кто же использует сеть
NetHogs очень просто использовать. Просто выполните команду nethogs в терминале без каких либо параметров и утилита отобразит сетевую активность для каждого процесса.
Как вы видите программа показывает такие детали как PID, пользователя, сетевой интерфейс, количество данных и скорость передачи или приема.
Обновление данных
По умолчанию NetHogs обновляет информацию каждую секунду, но вы можете использовать опцию -d для указания интервала обновления. Например для обновления каждые три секунды наберите:
Указываем сетевой интерфейс
Вы можете указать NetHogs с каким сетевым интерфейсом работать, просто набрав имя интерфейса в командной строке. Например для мониторинга трафика на eth1 используйте:
Можно использовать опцию -p для перехвата трафика в неразборчивом режиме (так называемый monitor mode), но это не рекомендуется.
Горячие клавиши
В утилите предусмотрены горячие клавиши с помощью которых можно контролировать способ представления. Например нажмите M во время выполнения программы чтобы поменять формат представления приема или передачи данных. Возможны варианты в kb/s, kb, b mb.
Например, отображение в мегабайтах:
Также вы можете нажать R или S для сортировки по количеству принятых или переданных данных. И как всегда Q для выхода из программы.
Выводы
NetHogs идеально подходит для случаев, когда вы хотите, поймать и уничтожить процесс, который съедает много интернет трафика. Плюс — это утилита с открытым исходным кодом, что означает что вы можете попытаться понять как она работает или даже переписать ее под себя.
Вы использовали раньше NetHogs или другой подобный инструмент? Поделитесь своими мыслями в комментариях.
Источник
Мониторинг (измерение) потребляемого траффика в Linux
Однажды мне потребовалось измерить количество трафика, которое «пожирает» некоторое приложение. Один из способов такого измерения — это установить прокси. Но что, если не хочется ставить прокси-сервер. Мне вот не хотелось. В поисках других способов я сначала перерыл Хабр, потом интернет. Так как я в своё время потратил на это много времени, то сейчас я создаю эту заметку, чтобы у других такой проблемы не возникло.
ВАЖНО:
Этот метод работает, если мы знаем по какому адресу (адресам) обращается наше приложение, или же с какого/каких портов.
Пошаговая инструкция
1. iptraf
iptraf — это небольшая программа, которая умеет мониторить всю сетевую активность компьютера.
Исходники и бинарники можно загрузить с сайта iptraf.
В случае Ubuntu установить iptraf можно выполнив команду:
sudo apt-get install iptraf
2. Запускаем!
В терминале пишем: iptraf
3. Настраиваем
Надо включить логирование (иначе программа ограничиться выводом на экран). Делается это, очевидно, в разделе «Configure».
4. Запуск мониторинга
Уходим из настроек, жмём «IP traffic monitor» и выбираем путь к файлу, куда будем логировать сетевую активность.
После этого мы должны увидеть такую картину:
Это всё, что нужно! Почти.
5. Анализ
Как я уже упоминал выше, нужно знать, по какому адресу/порту обращается наше приложение (трафик которого мы высчитываем).
Например, если мы хотим посчитать сколько трафика «стоит» час радио last.fm, мы должны определить следующее:
приложение last.fm обращается к адресам вроде таких:
195.24.* (last.fm не обращается к одному адресу, а обращается к диапазону адресов).
Чтобы вытащить из лога (который писался час) количество трафика, которое было съедено, я написал небольшую «программку» на java, которая этот трафик и считает:
Этот вариант хорошо работает, когда вы постоянно пишите логи, а потом уже надо «что-то там» измерить. Просто нужно написать/сконфигурировать парсер именно так, как необходимо в конкретной ситуации, и тогда можно получить все необходимые данные.
Источник