Интерактивный браузер сетевого трафика «Ethereal».
Общие сведения.
Данное ПО позволяет в режиме реального времени захватывать пакеты из сети, и анализировать их структуру. Также можно анализировать структуру пакетов из файла, содержащего трафик, полученный, например, программой «tcpdump».
Основное окно (см. Рисунок 1) делится на 3 фрейма (панели). Размер каждого фрейма можно менять по своему усмотрению.
Рисунок 1
- Верхняя панель
Верхняя панель содержит список пакетов, захваченных из сети. Список можно отсортировать по любому полю (в прямом или обратном порядке) - для этого нажать на заголовок соответствующего поля.
Каждая строка содержит следующие поля (по умолчанию):
· Порядковый номер пакета;
· Время поступления пакета;
· Источник пакета;
· Пункт назначения (адресат);
· Протокол;
· Информационное поле.
Список отображаемых полей настраивается в Edit/Perferencis/ Columns. Для того, чтобы изменения возымели эффект необходимо перезапустить программу, предварительно нажав кнопку Save.
При нажатии правой кнопки мыши на том или ином пакете, появится контекстное меню. Нажатием на среднюю кнопку мыши можно помечать группу интересующих нас пакетов.
- Средняя панель
Средняя панель содержит т.н. «Дерево протоколов» для выбранного в верхнем окне пакета. В этой панели в иерархическом виде отображается вложенность пакетов в соответствии с моделью взаимодействия открытых систем OSI. По нажатию на правую кнопку мыши вызывается контекстное меню.
- Нижняя панель
Нижняя панель содержит 16-ое представление выбранного пакета. При выборе того или иного поля в средней панели автоматически будет подсвечиваться соответствующий участок 16-ого представления.
Фильтры отображения.
Фильтры отображения представляют собой достаточно мощное средство отображения трафика. Фильтры задаются в строке, располагающейся внизу основного экрана. Простейший фильтр отображения, позволяет отобрать пакеты по тому или иному протоколу. Для этого в строке требуется указать название протокола (например IPX) и нажать кнопку «Aplay». После этого в верхнем окне останутся пакеты, принадлежащие этому протоколу. Кнопкой «Reset» действие фильтра отменяется.
Для работы с фильтрами можно вызвать окно Edit/Display Filters. Можно сохранять созданные выражения под определенными именами для последующего использования и т.д.
С помощью логических операций (синтаксис языка Си) можно составлять логические выражения. Логическая истина - 1, ложь - 0.
Список логических операций:
eq | == | Равенство |
ne | != | не равно |
gt | > | больше чем |
Lt | < | меньше чем |
ge | >= | больше равно |
Le | <= | меньше равно |
Например: tcp.port == 80 || tcp.port == 53
Структура окна захвата.
В окне задаются параметры для настройки режима захвата пакетов из сети.
Рисунок 2
Окно вызывается через меню Capture/Start, или по комбинации клавиш CTRL+K.
Рассмотрим основные параметры:
1. Interface
Выбирается сетевой интерфейс (реальный или виртуальный), через который будет осуществляться захват.
2. Filter
По нажатию на кнопку «Filter» можно применить тот или иной фильтр отбора (из ранее сохраненных). Если таковых не имеется, его можно указать явно в строке редактирования.
3. Update list of packets in real time
Обновление списка захваченных пакетов в режиме реального времени.
4. Набор параметров Capture limits
Позволяют задать то или иное значение при достижении, которого процесс захвата пакетов прекратится.
5. Набор параметров разрешения имен
Позволяют определить какие из способов разрешения имен должны использоваться.
Фильтры захвата
С помощью данных фильтров можно захватывать из сети только те пакеты, которые подходят под критерий отбора. Если не задано никакого фильтра, то будут захватываться все пакеты. В противном случае только пакеты, для которых указанное выражение будет истинным. Выражение состоит из одного или более примитивов разделенных пробельными символами.
Существует три различных типа примитивов:
Type
Спецификатор type определяет тип параметра. Возможные параметры:
· host;
· net;
· port.
Например:
host unicorn
net 172.23.0
port 20
Если не указано никакого типа предполагается что это параметр host.
Dir
Спецификатор определят направление передачи. Возможные направления:
· src;
· dst;
· src or dst;
· src and dst.
Например:
src unicorn
dst net 172.23
src or dst port ftp-data
Если не определено направление то предполагается направление «src or dst». Для протоколов типа point-to-point используются спецификаторы inbound и outbound.
Proto
Спецификатор определят тип протокола, которому принадлежит пакет.
Возможные протоколы:
· ether;
· fddi;
· tr;
· ip/ipv6;
· arp/rarp;
· decent;
· tcp;
· udp.
Например:
ether src unicorn
arp net 128.3
tcp port 21
Если протокол не определен, то будут захватываться пакеты всех протоколов. То есть: «src unicorn» означает «(ip or arp or rarp) src unicorn», «net bar» означает «(ip or arp or rarp) net bar» «port 53» означает «(tcp or udp) port 53».
Также существует несколько специальных спецификаторов, которые не попадают в описанные выше случаи:
· gateway;
· broadcast;
· less;
· greater;
· арифметические выражения.
Сложные фильтры захвата строятся с использованием логических выражений and, or and not.
Например:
host foo and not port ftp and not port ftp-data
Полный список примитивов:
Dst host host
Истина, если поле назначения пакета IPv4/v6 равно указанному
значению host.
Src host host
Истина, если поле адресата пакета IPv4/v6 равно указанному значению host.
Host host
Истина, если поле адресата ИЛИ источника пакета IPv4/v6 равно указанному значению host.
Ether dst ehost
Истина, если MAC-адрес адресата равен указанному значению поля ehost.
Ether src ehost
Истина, если MAC-адрес источника равен указанному значению поля ehost.
Ether host ehost
Истина, если MAC-адрес источника ИЛИ адресата равен указанному значению поля ehost.
Gateway host
Истина, если пакет использует указанный host как гейтвей.
Dst net net
Истина, если адрес назначения пакета IPv4/v6 - номер сети net.
Src net net
Истина, если адрес источника пакета IPv4/v6 - номер сети net.
Net net
Истина, если адрес источника ИЛИ назначения IPv4/v6 - номер сети net.
Net net mask mask
Истина, если IP адрес совпадает c сетью net и подходит под указанную маску сети mask. (только для IPv4).
Net net/len
Истина, если адрес назначения пакета IPv4/v6 является адресом сети net, с заданной маской /len, где len-число бит отведенных под номер сети. Может быть дополнено спецификатором dir (src или dst).
Dst port port
Истина, если пакет – пакет протоколов ip/tcp, ip/udp, ip6/tcp или ip6/udp и его порт назначения port. Значение порта может быть указано как число (/etc/services).
Например: dst port 513
Src port port
Истина, если пакет – пакет протоколов ip/tcp, ip/udp, ip6/tcp или ip6/udp и его порт источника port. Значение порта может быть указано
как число (/etc/services).
Например: src port 513
Port port
Истина, если номер порта соответствует указанному значению port.
Направление передачи не учитывается.
Less length
Истина, если длинна пакета меньше или равна указанному значению
length. len <= length
Greater length
len >= length
Ip proto protocol
Истина, если пакет является пакетом IP. Значение параметра protocol может быть следующее icmp, icmp6, igmp, igrp, pim,ah, esp, udp, или tcp.
Ether broadcast
Истина, если пакет - широковещательный (ключевое слово ether можно опустить)
Ip broadcast
Истина, если пакет - широковещательный пакет IP.
Ether multicast
Истина, если пакет - мультикастовый.
Ip multicast
Истина, если пакет - мультикастовый пакет IP.