Издательский дом ООО "Гейм Лэнд"СПЕЦВЫПУСК ЖУРНАЛА ХАКЕР #32, ИЮЛЬ 2003 г.

СНИФФАЕМ НА ПРАВИЛЬНОЙ ОСИ

Ушаков Андрей aka A-nd-Y

Спецвыпуск Xakep, номер #032, стр. 032-074-1


(Andy_@timus.ru)

ВЫБЕРИ СЕБЕ ЛУЧШИЙ СНИФФЕР

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

Если же ты до сих пор не знаешь, что это такое, то для начала несколько слов о том, что такое сниффер и как он работает.

ХУ ИЗ ФАКИН СНИФФЕР?

Сниффер - программа, позволяющая просматривать пакеты, проходящие через сетевой интерфейс (в Linux это ppp, eth, lo).

В случае ppp (модемное соединение) ты просто будешь видеть все пакеты, которые прошли от тебя (к тебе) до провайдера.

Если же твой комп находится в локалке, то твой интерфейс наверняка eth. В нормальном режиме сетевая карта принимает пакеты, предназначенные только для нее, поэтому ты будешь видеть только свои собственные пакеты. Но сниффер не был бы сниффером, если бы у сетевой карты не было замечательной возможности переходить в неразборчивый режим (promiscuous mode), в котором она принимает все пакеты подряд. Сниффер переводит сетевую карту в promiscuous mode, и ты можешь видеть все пакеты, идущие в твоей сетке, а следовательно, перехватить важные данные, например, почтовые сообщения, пароли от аськи и прочую полезную инфу.

Давай рассмотрим, какие снифферы есть для правильной оси.

TCPDUMP

Сайт: http://www.tcpdump.org

Пожалуй, первый сниффер для Linux. Есть в любом дистрибутиве, так что искать тебе его не придется. Если же получилось, что у тебя по каким-то причинам он отсутствует, зайди на сайт и качни его исходники.

Простейший способ запуска - команда "tcpdump" в командной строке. Tcpdump начнет слушать активный сетевой интерфейс. Явно указать интерфейс можно опцией "-i" при запуске. Tcpdump показывает только заголовки пакетов, идущих в сети в форме:

08:13:52.458097 217.24.177.165.ssh > 217.24.177.161.950: P 182360:182700(340) ack 29 win 17520 [tos 0x10]

08:13:52.458315 217.24.177.161.950 > 217.24.177.165.ssh: . ack 182700 win 17520 (DF) [tos 0x10]

08:13:52.490050 217.24.177.165.21037 > aldem.net.4090: . ack 14572 win 8760 (DF)

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

Tcpdump позволяет создавать выражения для приема пакетов только определенного вида. Простейший пример:

tcpdump tcp port 80

Здесь параметр "tcp" указывает на то, что нужно ловить только TCP пакеты, опция "port 80" указывает, что нужно ловить пакеты, идущие (исходящие) на порт 80 твоей тачки. О создании более сложных выражений отлично написано в man tcpdump.

Tcpdump - это инструмент для исследования работы сети. Рекомендуется использовать в сочетании с умной книжкой по сетевым протоколам. Не забывай, что для работы с сетевыми интерфейсами необходимы привилегии суперпользователя, поэтому запускай сниффер с правами root.

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

Содержание  Вперед на стр. 032-074-2