Работа с анализатором трафика Wireshark
Запуск Wireshark
Установка пакета wireshark:
vlan2-ip65# zypper in wireshark
- Для обеспечения возможности удаленного запуска графических
приложений через SSH необходимо открыть X11-сессию на стороне
клиента и включить «проброс» X11-сессии при подключении по SSH:
При подключении из Linux необходимо указать ключ -X:
$ ssh -X akolosov.netlab.cs.prv
- При подключении из Windows необходимо:
- Запустить X-сервер.
- Указать в PuTTY следующие настройки:
- Раздел Connection/SSH/X11:
- Enable X11 Forwarding: True
- X display location: localhost:0 (или любой другой номер дисплея, установленный при запуске Xming)
- Раздел Connection/SSH/X11:
Запустить wireshark:
vlan2-ip65# wireshark
Для работы wireshark требуются права суперпользователя, т.к. необходим непосредственный доступ к устройству сетевого интерфейса.
- В открывшемся окне в разделе "Capture" выбрать интерфейс, на
котором будет перехватываться трафик —
eth0
, нажать "Start". Для того, чтобы отфильтровать пакеты, генерируемые SSH-сессией в поле Filter необходимо ввести следующий фильтр:
!(tcp.port == 22)
Пример отслеживания процесса отправки ICMP-запроса
Установите фильтр, позволяющий отобразить только взаимодействие по протоколам ARP, DNS, ICMP:
arp || icmp || dns
Со своей машины выполните отправку одного ICMP-сообщения типа echo на IP-адрес одной из машин вашей подсети:
vlan2-ip65# ping -c1 vlan2-ip66.netlab.cs.prv
В окне захвата wireshark должны появиться 8 пакетов, соответствующих следующим событиям:
- Запрос к DNS для определения IP-адреса по имени, которое было
задано в аргументе команды
ping
- Ответ от DNS-сервера, содержащий IP-адрес.
- Широковещательный ARP-запрос, посланный вашей машиной с целью определения MAC-адреса, соответствующего IP-адресу машины, на которую будет отправлен ICMP-сообщения.
- ARP-ответ от владельца IP-адреса.
- Отправка IP-пакета, содержащего ICMP-сообщение.
- Получение ответа на ICMP-сообщение.
Утилита
ping
должна вывести в стандартный поток вывода сообщение об успешном получении ответа вида:64 bytes from vlan2-ip66.netlab.cs.prv (192.168.112.66): icmp_seq=1 ttl=64 time=0.628 ms
В этом сообщении присутствует IP-адрес, на который было отправлено сообщение, а также имя, соответствующее этому адресу, которое утилита
ping
запрашивает от DNS-сервера.- Ответ от DNS-сервера, содержащий имя машины, которой был отправлено ICMP-сообщение.
Замечание: при повторном запуске утилиты
ping
не произойдет отправки ARP-запроса, т.к. результат выполнения предыдущего запроса остался в кеше ОС. Просмотреть кеш ARP-запросов можно с помощью уилитыarp
:vlan2-ip65# arp -a vlan2-gw.netlab.cs.prv (192.168.112.78) at 00:15:f9:05:24:c4 [ether] on eth0 vlan2-ip66.netlab.cs.prv (192.168.112.66) at 00:16:3e:e4:60:2a [ether] on eth0
Чтобы удалить информацию об IP-адресе из кеша используйте ключ
-d
:vlan2-ip65# arp -d vlan2-ip66.netlab.cs.prv vlan2-ip65# arp -a vlan2-gw.netlab.cs.prv (192.168.112.78) at 00:15:f9:05:24:c4 [ether] on eth0 vlan2-ip66.netlab.cs.prv (192.168.112.66) at <incomplete> on eth0
- Запрос к DNS для определения IP-адреса по имени, которое было
задано в аргументе команды
Вопросы и задания
- Выполните отправку ICMP-сообщения машине, находящейся в другой IP-подсети. Изучите результат захвата соответствующих пакетов. В чем отличие от случая отправки ICMP-сообщения машине в той же подсети?