Кафедра Информатики и Математического Обеспечения

ПетрГУ | О кафедре | Мобильные платформы | Лаборатория ИТС | Филиал в КарНЦ РАН | Семинары НФИ/AMICT
Сотрудники | Выпускники | Учебный процесс | Курсовые и выпускные работы | Вычислительные ресурсы
Публикации | Архив новостей | Контактная информация | Поиск | English

Работа с анализатором трафика Wireshark

Запуск Wireshark

  1. Установка пакета wireshark:

    vlan2-ip65# zypper in wireshark
    
  2. Для обеспечения возможности удаленного запуска графических приложений через SSH необходимо открыть X11-сессию на стороне клиента и включить «проброс» X11-сессии при подключении по SSH:
    • При подключении из Linux необходимо указать ключ -X:

      $ ssh -X akolosov.netlab.cs.prv
      
    • При подключении из Windows необходимо:
      1. Запустить X-сервер.
      2. Указать в PuTTY следующие настройки:
        • Раздел Connection/SSH/X11:
          • Enable X11 Forwarding: True
          • X display location: localhost:0 (или любой другой номер дисплея, установленный при запуске Xming)
  3. Запустить wireshark:

    vlan2-ip65# wireshark
    

    Для работы wireshark требуются права суперпользователя, т.к. необходим непосредственный доступ к устройству сетевого интерфейса.

  4. В открывшемся окне в разделе "Capture" выбрать интерфейс, на котором будет перехватываться трафик — eth0, нажать "Start".
  5. Для того, чтобы отфильтровать пакеты, генерируемые SSH-сессией в поле Filter необходимо ввести следующий фильтр:

    !(tcp.port == 22)
    

Пример отслеживания процесса отправки ICMP-запроса

  1. Установите фильтр, позволяющий отобразить только взаимодействие по протоколам ARP, DNS, ICMP:

    arp || icmp || dns
    
  2. Со своей машины выполните отправку одного ICMP-сообщения типа echo на IP-адрес одной из машин вашей подсети:

    vlan2-ip65# ping -c1 vlan2-ip66.netlab.cs.prv
    

    В окне захвата wireshark должны появиться 8 пакетов, соответствующих следующим событиям:

    1. Запрос к DNS для определения IP-адреса по имени, которое было задано в аргументе команды ping
    2. Ответ от DNS-сервера, содержащий IP-адрес.
    3. Широковещательный ARP-запрос, посланный вашей машиной с целью определения MAC-адреса, соответствующего IP-адресу машины, на которую будет отправлен ICMP-сообщения.
    4. ARP-ответ от владельца IP-адреса.
    5. Отправка IP-пакета, содержащего ICMP-сообщение.
    6. Получение ответа на ICMP-сообщение.
    7. Утилита 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-сервера.

    8. Ответ от 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
    

Вопросы и задания

  1. Выполните отправку ICMP-сообщения машине, находящейся в другой IP-подсети. Изучите результат захвата соответствующих пакетов. В чем отличие от случая отправки ICMP-сообщения машине в той же подсети?