Держим свою сеть под контролем Спокойный тихий вечер. Вы за компьютером и пересматриваете свой любимый фильм. И вот ваше внимание привлекают маленькие мониторчики индикатора сетевой активности в уголке экрана: Странно... Браузер? Он закрыт. Любимый мессенджер? Выключен. Может обновление операционной системы? Да нет же — служба обновлений сообщает о своей работе значком в том же трее. Куда же так стремится наш собственный компьютер? Разгадать эту загадку нам поможет анализатор сетевых протоколов, программа Wireshark. Что же это такое и как этим пользоваться? Программа распространяется согласно лицензии GNU GPL, со всеми ее бесплатностями и открытостями. Скачать инсталляционный пакет можно из раздела download официального сайта — . Пользователи Linux могут легко найти эту программу в своем пакетном менеджере: Для пользователей операционной системы Windows будет интересна «портабельная» версия программы. Она не требует установки и может легко переноситься с помощью флешки на любой другой компьютер. Эту версию мы и рассмотрим. Самораспаковывающийся архив, который предлагают скачать с сайта занимает чуть больше 18 мегабайт. При запуске показывает окно приветствия: А затем спрашивает, куда распаковать программу: После такой "инсталляции" переходим в тот каталог, что мы указали и запускаем исполняемый файл "WiresharkPortable.exe". И тут нас ждет не слишком приятный сюрприз: Для того чтобы перехватывать и анализировать пакеты нам нужен WinPcap. Это специализированная библиотека, состоящая из драйвера сети и интерфейса к нему. Более подробную информацию об этой библиотеке можно получить на официальном сайте — . Что ж, устанавливаем и эту нужную утилиту. После чего, наконец-то, перед нами предстает окно Wireshark: Оставим на самостоятельное изучение раздел "Capture Help" и перейдем к захвату пакетов. Для этого сначала нужно выбрать сетевой интерфейс, который мы будем контролировать. Для разных систем список интерфейсов для захвата будет различным. На предыдущем скриншоте изображены интерфейсы моей виртуальной машины. Для нетбука, у которого есть еще и Wi-Fi этот список выглядит так: Выбираюсвой Fast Ethernet Controller ивижу: В столбцах, как не трудно догадаться, номер пакета, время в секундах от момента запуска перехвата, откуда, куда, протокол и краткая информация о пакете. Уже сейчас можно получить некоторую информацию о сетевой активности. Например, проверить, что находится по адресу "74.125.106.145". Это — Google. Все правильно — параллельно с написанием этого текста я ищу информацию, которая может пригодиться. Строки, выделенные серым цветом — обращение на адрес "209.85.137.125" — это тоже Google, но только сервер, отвечающий за сервис Google Talk. Тоже все верно — мой Pidgin время от времени обращается к этому серверу для получения информации о статусе моих контактов и для отправления моего собственного статуса. Посмотрим на перехваченные данные подробнее. Для этого кликаем правой кнопкой мыши на заинтересовавшей нас строке и выбираем "Follow TCP Stream": Wireshark любезно соберет весь выбранный TCP-поток, а не только этот конкретный пакет и покажет его нам в понятном человеку виде: Тут мы видим тип запроса — GET. Видим на какой хост направлен запрос — av-school.ru. Присутствует информация о браузере — Shiretoko/3.5.5pre. В общем, все атрибуты привычного http-обращения на сайт. Синим цветом обозначен ответ сервера — он содержит в себе информацию о самом сервере и код страницы. При этом, обратите внимание, код страницы передается в чистом виде, без сжатия. При обращении на тот же гугл мы получаем поток, сжатый gzip-ом: Описать все возможности Wireshark в одной статье невозможно. Тем более что наиболее впечатляющие возможности этой программы не столько в перехвате сетевого трафика, сколько в его обработке — многочисленные фильтры и пресеты позволяют просто включить перехват на сутки, а потом легко разобрать отчет, содержащий сотни тысяч записей с удобной подсветкой и форматированием. Рассмотрим лишь некоторые возможности. Например, если вам уже известно, на какой адрес идут заинтересовавшие вас запросы, то можно отсеять все остальное использовав фильтр "ip.addr eq <адрес>": Кроме того, можно посмотреть только те запросы, которые отправляет ваш компьютер на это адрес. Для этого используется фильтр "ip.dist == <адрес>": Таким образом можно получить полную ссылку на скачивание вредоносной или просто подозрительной программы. Что ж, после того как работа завершена можно сохранить отчет и закрыть программу... Но что это — при закрытии программы появляется окно: Вот все и стало на свои места — программа соответствует философии портабельного софта: по возможности оставлять как можно меньше лишнего в системе после завершения работы. Если вы собираетесь продолжать использовать Wireshark, то нажимайте "Отмена/Cancel" и при следующем запуске устанавливать WinPcap уже не придется, а этого окна с предложением деинсталляции не будет.