Назад | Перейти на главную страницу

Как определить, какой процесс / действие / программное обеспечение / протокол замедляет работу локальной сети на одном компьютере

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

Когда компьютер включен и подключен к сети, примерно 5% всех взаимодействий с сайтом (то есть переходы по ссылкам на веб-сайте) в значительной степени замедляются, иногда через 40 секунд отображается страница вместо обычной. или две секунды.

Когда мы отключаем компьютер, загрузка сети идет плавно.

У нас есть управляемый коммутатор-катализатор Cisco, межсетевой экран Cisco ASA-5505, а также некоторые инструменты мониторинга (wirehark и nmap).

Компьютер служит фото-сервером (с использованием iPhoto) и передает некоторую информацию между компьютерами нашей сети.

Как я могу отследить и / или контролировать свою сетевую или компьютерную активность таким образом, чтобы я мог узнать на одном определенном компьютере, подключенном к сети, какой процесс / протокол / активность замедляет работу сети?

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

  • Нарушение протокола
  • Пакетов в секунду
  • Основные отправители-получатели и т. Д.

Я рекомендую использовать WireShark или, может быть Монитор сети Microsoft. С помощью Network Monitor вы получите подробную информацию о процессе захвата, которая может быть полезна (если вы работаете в Windows):

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

Также возможно, что сетевая карта неисправна. Поэтому проверьте скорость передачи пакетов и различные счетчики ошибок на стороне коммутатора для этого интерфейса. Вы также можете контролировать порт коммутатора, используя функцию «монитора порта» вашего коммутатора. Если что-то подобное происходит, я бы ожидал, что локальная сеть станет медленной (то есть компьютер на компьютер), а не только Интернет.

Вы не упоминаете ОС проблемной машины? Поэтому я отвечу с точки зрения дистрибутива GNU / Linux (например, Debian), хотя часть ответа является мультиплатформенной.

Как уже упоминалось, iptraf (8) или Wireshark сообщит вам, какие IP-адреса / порты являются проблемными, но не сообщит, какое приложение их сгенерировало. Вы можете проверить это с помощью netstat (8):

netstat -tupn

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

Однако я бы рекомендовал такие инструменты, как ntop чтобы облегчить обзор.

Кроме того, ifconfig (8) сообщит вам, есть ли какие-либо ошибки, проблемы с носителем, переполнением и т.д. Если есть, попробуйте заменить кабель, порт на коммутаторе или (в конце) сетевую карту (или ее драйверы) на проблемной машине.

Вы говорите о том, что компьютер является сервером iPhoto, я подозреваю, что у вас включен iCloud или другая аналогичная облачная резервная копия в этой системе, которая загружает всю вашу библиотеку фотографий. И, насыщая загрузку, он останавливает некоторые загрузки, потому что некоторые пакеты tcp ack теряются. Это объяснило бы ваши 800 ГБ.

Я бы получил захват пакетов с помощью wirehark, чтобы узнать, куда идут данные, а затем поискал бы виновника.

Я использую маршрутизатор / прошивку Mikrotik, а крышка экрана ниже - от инструмента Torch на моем маршрутизаторе Mikrotik. Я не уверен, как это можно сделать в Cisco, но я должен верить, что есть аналог.

Как показано на изображении, я фильтрую трафик на своем интерфейсе LAN (ether-2), источником которого является 192.x.x.7. В этом случае я сохраняю соединения в течение 30 секунд после их закрытия (значение времени ожидания входа), но в таком случае, как ваш, можно установить это значение на пару часов. Самая интересная информация - это IP-адрес и порт dst.

Используя подобный инструмент прямо на маршрутизаторе, я могу точно увидеть, сколько трафика отправляется / принимается на каждый хост: порт и протокол. Поскольку вы уже определили проблемную машину, я бы отфильтровал ее по IP-адресу (как на изображении). Затем, отсортировав по Rx Rate, вы увидите, что происходит самая большая загрузка и какой порт они оба исходят и на которые отправляются. Используя хорошо известные порты, я могу сузить круг вопросов до того, какое приложение вызывает это. Если вы не знаете порт или по какой-либо другой причине, вы можете запустить netstat на машине, чтобы увидеть, какое приложение использует этот порт (разные ОС используют переключатели diff, поэтому просто найдите его или укажите свою ОС, и я постараюсь ответить. )

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

У меня недостаточно очков репутации, чтобы прикрепить изображение, поэтому вот ссылка, чтобы получить его с моего сервера: https://gofile.me/2dNUM/226jmtoI

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