Увидеть сеть. Воссоздаем схему подключений из дампа трафика
Изучение структуры сетевых протоколов поможет тебе более глубоко понять принцип их работы и функции. В этой статье мы проанализируем небольшой фрагмент сетевого трафика и зарисуем предполагаемую схему сети, исходя из полученных данных.
Я сформировал дамп сетевого трафика на своем лабораторном стенде с помощью фильтра захвата (Capture Filtering) в Wireshark с некоторыми условиями. Вот что из этого вышло.
Мы будем раскрывать по порядку каждый захваченный пакет и искать в инкапсулируемых данных интересующую нас информацию о схеме исходной сети. Затем мы изобразим эту информацию графически (для этого будем использовать ресурс diagrams.net).
УЗНАЕМ КАНАЛЬНЫЕ И СЕТЕВЫЕ АДРЕСА ПЕРВЫХ УСТРОЙСТВ
Из первых четырех пакетов сразу видно, что некое устройство получает IP-адрес и другие сетевые параметры по DHCP. Раскрываем первый пакет.
Сразу бросается в глаза MAC-адрес клиентского устройства. Сетевой адрес этого девайса нам пока неизвестен, потому что он еще не получил его, а адреса назначения — широковещательные.
Идем дальше. Возможно, ты обратил внимание на IP-адрес 192.168.30.2
в разделе заголовка 50 DHCP
. Это означает, что клиент запрашивает именно этот IP-адрес, так как ранее, возможно, он его уже получал. Но пока мы не станем отображать его на схеме и дождемся окончательного ответа от DHCP-сервера.
И последнее, что нам интересно в этом пакете, — опция 12 DHCP
. Здесь отображается имя устройства. Теперь перенесем полученные данные на схему.
Следующий пакет DHCP Offer — в ответе на сообщение клиента сервер предлагает возможные сетевые параметры.
Как мы видим, на запрос клиента ответил DHCP-сервер с IP-адресом 192.168.30.1
и MAC-адресом 00:19:56:bb:41:09
. Он предложил клиенту IP-адрес 192.168.30.2
(кстати, тот, который клиент и запрашивал, поле Your IP address) и маску сети 255.255.255.128
. Отлично, дополним схему новыми данными.
Новые элементы я буду окрашивать в красный цвет для наглядности.
MICROSOFT WINDOWS И CISCO IOS, ИЛИ ПРИ ЧЕМ ЗДЕСЬ TTL?
Сообщение DHCP Request
не несет в себе новой информации, кроме того, что в опции 55
клиент запрашивает дополнительные параметры у DHCP-сервера: сетевую маску, адрес шлюза, сервер DNS и доменное имя.
Еще хочу обратить внимание на поле Time to Live заголовка IPv4 данного сообщения.
TTL — значение, которое определяет время жизни пакета. Это значение декрементируется на единицу каждый раз, когда пакет проходит через маршрутизирующее устройство по пути к месту назначения.
Дело в том, что по умолчанию для разных операционных систем типичны свои значения TTL.
Поскольку в клиентском сообщении DHCP Request
TTL имеет значение 128, мы можем предположить, что это устройство под управлением ОС Windows.