Итак, в предыдущих статьях я рассказал о некоторых основных техниках для захвата данных с помощью сетевого монитора (Network Monitor). В этой статье я хочу продолжить обсуждение и показать вам, как анализировать данные, которые вы захватили.
Для облегчения нашей задачи, давайте выполним перехват пакета для простой команды ping. Для этого зайдите на сервер, на котором у вас будет запущен сетевой монитор (Network Monitor), и откройте командную строку (Command Prompt). После того, как командная строка появится перед вами, наберите команду PING, за которой через пробел будет следовать полное название в домене (qualified domain name) или IP адрес компьютера в вашей сети, но пока еще не нажимайте ввод (Enter). Теперь откройте сетевой монитор и выберите команду Start (начать) из меню Capture (захват). После этого сразу же переключитесь на окно с командной строкой (Command Prompt) и нажмите на ввод для выполнения команды PING. Команда должна вывести четыре результата, как показано на рисунке A. Как только команда завершить свою работу переключитесь обратно на окно сетевого монитора и выберите команду Stop (остановить) из меню Capture. После этого вы получите пакеты, которые будут связаны с командой PING, но также будет перехвачен некоторый побочный трафик.
Рисунок A: Команда PING должна вернуть четыре результата
После того, как вы завершите процесс захвата, нажмите на иконку Display Captured Data (Отобразить захваченные данные)( ) для просмотра данных, которые вы перехватили. Реальное количество данных, которые будут перехвачены, будет зависеть от того, насколько занята сеть, а также как долго выполнялась команда PING. В сетевой лаборатории вы можете перехватить лишь несколько дюжин фреймов, но я почти уверен, что их будет намного больше в промышленной сети. Например, когда я попытался выполнить эту команду во время написания этой статьи, то я захватил около шестиста фреймов примерно за пять секунд.
Причина этого заключается в том, что при работе сетевого монитора для устранения сетевых проблем в условиях реального мира захватываются некоторые побочные данные. Умение отличать эти побочные данные от тех данных, которые нам непосредственно интересны, является очень важным навыком, т.к. в противном случае обнаружение нужных данных может быть похожим на поиск иголки в стоге сена.
Если вы посмотрите на рисунок B, то вы заметите, что было перехвачено лишь несколько пакетов. Наша задача теперь отфильтровать те пакеты, которые не связаны с той активностью, результат которой мы пытались перехватить, чтобы впоследствии упростить анализ.
Рисунок B: Сетевой монитор часто перехватывает трафик, который никак не связан с активностью, которую мы хотим проанализировать
Для этого нажмите на иконку Filter (отфильтровать), которую можно найти на панели инструментов. После этого вы увидите диалоговое окно достаточно странного вида, которое изображено на рисунке C. Это окно сообщает вам, что прямо сейчас сетевой монитор показывает вам все перехваченные данные вне зависимости от протокола или IP адреса.
Рисунок C: Диалоговое окно Display Filter (показать фильтры) может показаться немного странным
Однако, мы выполнили команду PING от одной машины к другой, и мы знаем IP адрес, который мы использовали в команде PING. Поэтому мы можем задать фильтр по этому адресу. Для этого выберите строку ANY <-> ANY (от любого к любому) и нажмите на кнопку Edit Expression (редактировать выражение). Теперь вы увидите окно похожее на то, что изображено на рисунке D.
Рисунок D: Диалоговое окно Expression (выражения) позволяет вам выбрать адреса, вовлеченные во взаимодействие
Это окно позволяет вам выбрать адреса двух компьютеров, вовлеченных во взаимодействие. Обычно вы должны просто выбрать адрес источника и адрес приемника, убедиться, что в колонке направления (direction) стоит <-> и нажать на кнопку OK. Конкретно в нашем случае все немного сложнее.
Обратите внимание, что на рисунке несколько IP адресов связаны с компьютером под названием FUBAR. Это происходит потому, что этот компьютер является Веб сервером (Web server) и на нем располагается несколько сайтов, каждый со своим собственным адресом. В такой ситуации вы должны выбрать основной адрес компьютера (primary address), если у вас нет никаких других причин для выбора одного из других адресов.
Еще одна вещь, которая делает этот экран немного сложным, заключается в том, что адрес машины приемника не отображается. Вы можете изменить это, нажав на кнопку Edit Addresses (редактировать адреса). В результате этого отобразится список всех адресов из предыдущего списка. Нажмите на кнопку Add (добавить) и у вас появится возможность добавить адрес в список. Обратите внимание, что на рисунке E вы должны выбрать тип адреса (IP или MAC), который вы хотите добавить. Нажмите на кнопку OK, а затем на кнопку Close (закрыть), и адрес будет добавлен в фильтр адресов (address filter).
Рисунок E: Вы можете вручную добавлять адреса в список
Теперь выберите IP адреса, участвующие во взаимодействии, которые вас интересуют, и дважды нажмите на кнопку OK. Список захваченных фреймов теперь будет отфильтрован и вы сможете увидеть лишь трафик от выбранных машин, как показано на рисунке F.
Рисунок F: Мы отфильтровали список захваченных данных для отображения лишь интересующих нас данных
Т.к. наш захват включал в себя лишь результаты выполнения команды PING, то у вас не должно возникнуть проблем с нахождением интересующих вас данных. Однако в реальных условиях, есть вероятность того, что данные, которые вы пытаетесь перехватить, не попали в захват. Есть два основных условия, которые могут к этому привести.
Первая причина, по которой ваш захват может не содержать интересующих вас данных, заключается в том, что большинство компаний перешли от хабов (hub) к переключателям (switch). В сети, в которой используются хабы, каждый компьютер подключенный к хабу получает одинаковый трафик. Если компьютеру необходимо обратиться к другому компьютеру, то он посылает пакет по проводу, и этот пакет приходит к каждому компьютеру, подключенному к хабу. Каждый компьютер смотрит на адрес получателя в заголовке пакета, чтобы проверить его со своим адресом. Если адрес получателя совпадает с MAC адресом компьютера, то компьютер открывает пакет и обрабатывает его содержимое. В противном случае пакет игнорируется.
Если используются переключатели, то все работает совершенно иначе. Когда компьютер посылает пакет, переключатель (switch) смотрит на заголовок пакета, чтобы определить непосредственного получателя пакета. После этого переключатель (switch) передает пакет на тот порт, к которому подключен получатель пакета. Все остальные компьютеры, кроме отправителя и получателя ничего не знают об их взаимодействии.
Причина, по которой переключатели начали вытеснять хабы, заключается в том, что переключатели более эффективны (и более безопасны), чем хабы. Если используется хаб при попытке двух компьютеров одновременно передать данные, то возникает коллизия (collision) и уничтожаются оба пакета, участвующих в этом процессе. Оба компьютера ждут произвольное количество времени, а затем заново отсылают данные. Чем больше компьютеров подключено к сети, тем чаще возникают коллизии. Конечно, коллизии значительно снижают производительность сети. Поэтому снижение цен и необходимость повышения производительности сети заставило многие компании перейти от хабов к переключателям.
А переключатели более проблематичны, когда дело доходит до захвата данных с помощью сетевого монитора (Network Monitor). Благодаря принципу работы переключателя, вы сможете перехватить данные, которые были посланы от или к компьютеру, на котором запущен сетевой монитор.
Второе условие, которое может привести к тому, что необходимые пакеты не будут перехвачены, заключается в использовании виртуальных машин (virtual machine). Если на одном сервере размещается несколько виртуальных машин, то трафик протекающий между этими виртуальными машинами, скорее всего не будет перехвачен, т.к. этот трафик не проходит по проводам. Но существует возможность настроить виртуальные машины таким образом, чтобы трафик между ними попадал в сеть, но рассказ о том, как это сделать выходит за рамки этой статьи.
Заключение
В этой статье я рассказал о необходимости фильтрации захваченных данных, а также о том, почему могут быть захвачены не все данных, которые вы ожидали. В четвертой части, я продолжу свой рассказ, и покажу вам как анализировать отфильтрованные данные.
Автор: Брайн Позей (Brien Posey)
Источник: www.netdocs.ru