Личный блог Suvan`a.

Работая и играя с Linux... И что из этого иногда получается.

Сниффинг пакетов

Рубрика: Безопасность -> Уязвимости Linux-сервера
Метки: |
Понедельник, 26 января 2009 г.
Просмотров: 10341

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


     Проблема сниффинга в Интернете решается очень просто. Нужно передавать приватные данные в зашифрованном виде (протоколы SSH и SSL). Для понимания поцесса посмотрим на сниффинг в локальной сети.

     Перехватить пакет в Ethernet-сети очень просто. В Ethernet-сети любой отправленный пакет предназначается каждому компьютеру. Компьютер смотрит поле адреса получателя и сравнивает его со своим адресом. Если адреса совпадают, пакет будет принят, иначе - отброшен. Это в сети с концетраторами. Концентратор сети -  это устройство, которое просто повторяет принятый от машины пакет на все свои порты. Если компьютер определит, что пакет предназначен для него, он его примет.

     Если пакет не предназначен для него, он будет отброшен. Но если перевести сетевой плату в специальный режим (promiscuous mode), то она будет принимать все полученные пакеты, независимо от того, кому они предназначались.

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

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

     Сниффер можно не устанавливать на каждой машине сети. Достаточно установить его на одной взломаной машине или на своей машине - если машина находится в локальной сети.

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

# tcpdump -n -i eth0

tcpdump: listening on eth0

11:00:10.791318 172.16.3.1.ssh > 172.16.3.9.4768: P 2499905071:2499905139(68) ack 574707570 win 6432 (DF) [tos 0x10]