Понимание протокола DHCP (часть 2)
«Понимание протокола DHCP (часть 1)».
DHCP и вы, часть 2
В первой части этой серии статей о DHCP мы видели, что этот протокол обычно включен в большинстве сетей. Это значительно облегчает работу сетевого администратора, поскольку DHCP предоставляет клиентам ключевые сведения о конфигурации. Такие сведения, как его IP-адрес, маска подсети и DNS-серверы, которые он должен использовать. Довольно важная информация, если вы хотите иметь доступ в Интернет. Кроме того, мы рассмотрели некоторые из различных типов сообщений DHCP, с которыми вы можете столкнуться в сети. Что ж, в этой части серии статей мы фактически рассмотрим два наиболее распространенных типа сообщений DHCP с точки зрения пакетов. Всегда полезно иметь пакет для просмотра, чтобы просмотреть использование протоколов. Это даст вам некоторый контекст и точку отсчета.
В сорняках
Что ж, настало время всем любимой части! Давайте, так сказать, засучим рукава и взглянем на некоторые настоящие пакеты. Умение смотреть на пакеты, как они появляются в сети, даст вам определенный уровень комфорта, если вам когда-нибудь придется заняться анализом пакетов. Либо так, либо вам придется покупать очень дорогой анализатор протоколов! С учетом сказанного давайте приступим к поставленной задаче. Обратите внимание, что я прокомментирую рассматриваемый пакет непосредственно под ним.
11:51:04.546875 192.168.1.102.68 > 192.168.1.1.67: [сумма UDP в порядке] xid:0x908759f5 C:192.168.1.102 vend-rfc1048 DHCP:ЗАПРОС CID:[эфир]00:0c:6e:8c:d4:61 HN: «don» Полное доменное имя: «don». VC:"MSFT 5.0″ PR:SM+DN+DG+NS+WNS+WNT+WSC+RD+SR+T249+VO (ttl 128, id 30744, len 328)
0x0000 4500 0148 7818 0000 8011 3dd5 c0a8 0166 E..Hx…..=….f
0x0010 c0a8 0101 0044 0043 0134 8ec4 0101 0600 …..DC4……
0x0020 9087 59f5 0000 0000 c0a8 0166 0000 0000..Y……..f….
0x0030 0000 0000 0000 0000 000c 6e8c d461 0000 ……….n..a..
0x0040 0000 0000 0000 0000 0000 0000 0000 0000 …………….
0x0050 0000 0000 0000 0000 0000 0000 0000 0000 …………….
0x0060 0000 0000 0000 0000 0000 0000 0000 0000 …………….
0x0070 0000 0000 0000 0000 0000 0000 0000 0000 …………….
0x0080 0000 0000 0000 0000 0000 0000 0000 0000 …………….
0x0090 0000 0000 0000 0000 0000 0000 0000 0000 …………….
0x00a0 0000 0000 0000 0000 0000 0000 0000 0000 …………….
0x00b0 0000 0000 0000 0000 0000 0000 0000 0000 …………….
0x00c0 0000 0000 0000 0000 0000 0000 0000 0000 …………….
0x00d0 0000 0000 0000 0000 0000 0000 0000 0000 …………….
0x00e0 0000 0000 0000 0000 0000 0000 0000 0000 …………….
0x00f0 0000 0000 0000 0000 0000 0000 0000 0000 …………….
0x0100 0000 0000 0000 0000 6382 5363 3501 033d ……..c.Sc5..=
0x0110 0701 000c 6e8c d461 0c03 646f 6e51 0700 ….n..a..donQ..
0x0120 0000 646f 6e2e 3c08 4d53 4654 2035 2e30..don.<.MSFT.5.0
0x0130 370b 010f 0306 2c2e 2f1f 21f9 2bff 0000 7…..,./.!.+…
0x0140 0000 0000 0000 0000 ……..
Хорошо, тогда в пакете над нами мы видим, что заголовок UDP начинается с подчеркнутых байтов 0044. Отсюда и далее у нас есть протокол BOOTP или загрузочный протокол, начинающийся с подчеркнутых двух байтов 0101. Мы в основном не обсуждали взаимосвязь. что BOOTP имеет с DHCP, так как многие люди находят это, мягко говоря, довольно запутанным. Это симбиоз, так как на самом деле BOOTP запрашивает конфигурацию клиента, такую как IP-адрес и т. Д., С сервера DHCP. С учетом сказанного, на самом деле у вас есть пакеты, подобные приведенному выше, которые действительно содержат данные протокола BOOTP, а не ожидаемый пакет DHCP. Хотя, как вы уже догадались, эта информация отправляется на DHCP-сервер.
Мы можем видеть, если мы идем справа налево в приведенном выше пакете, мы начинаем с временной метки нашего пакета. Далее следует адрес/порт источника, а затем адрес/порт назначения. Вычисление контрольной суммы UDP выполняется «в порядке», как показано выше. Далее у нас есть номер «xid» 0x908759f5. По сути, это номер транзакции, очень похожий на тот, который используется в DNS для отслеживания запросов и ответов. Тогда у нас есть IP-адрес клиента 192.168.1.102. Теперь поставщик rfc 1048 и тип сообщения DHCP. Далее следует идентификатор клиента, как показано в «CID». Далее показан тип оборудования [эфир]. Ниже приведен MAC-адрес клиента, отмеченный шестью октетами шестнадцатеричного числа 00:0c:6e:8c:d4:61. Следующие несколько полей имеют довольно очевидное значение. Как и DNS, это плотный протокол, который лучше всего анализировать с помощью анализатора протоколов. В связи с этим давайте взглянем на ответ сервера, показанный в приведенном ниже пакете.
11:51:04.562500 192.168.1.1.67 > 192.168.1.102.68: [сумма UDP в порядке] xid:0x908759f5 C:192.168.1.102 Y:192.168.1.102 vend-rfc1048 DHCP:ACK 0 SID :192.168.6.1 :255.255.255.0 ДГ:1
92.168.1.1 NS:24.153.22.67,24.153.23.66 (ttl 64, id 0, длина 576)
0x0000 4500 0240 0000 0000 4011 f4f5 c0a8 0101 [электронная почта защищена]…[электронная почта защищена]…….
0x0010 c0a8 0166 0043 0044 022c 2636 0201 0600 …fCD,&6….
0x0020 9087 59f5 0000 0000 c0a8 0166 c0a8 0166..Y……..f…f
0x0030 0000 0000 0000 0000 000c 6e8c d461 0000 ……….n..a..
0x0040 0000 0000 0000 0000 0000 0000 0000 0000 …………….(приведенный выше пакет был усечен мной для краткости)
Во-первых, обратите внимание, что для вышеуказанного пакета мы видим, как DHCP-сервер отвечает клиенту, то есть: первый пакет в этой статье. Я не буду возвращаться к тем же полям, что и выше, за исключением тех, которые отличаются. Обратите внимание, что номер xid, подчеркнутый выше, действительно совпадает с пакетом DHCP-клиента, показанным над этим пакетом. Это, как уже упоминалось, способ для DHCP-клиента отслеживать различные запросы. После этого значения мы видим IP-адрес клиента, который сделал запрос DHCP-серверу, IP-адрес которого, как показано в этом пакете, равен 192.168.1.1. После этого у нас есть «Y: 192.168.1.102», который указывает на IP-адрес клиента. В этом случае тот же IP-адрес, что и у клиента, сделавшего первоначальный запрос.
Далее мы видим DHCP:ACK, как подчеркнуто выше. Это обозначает тип сообщения DHCP, также известный как опция 53. После этого у нас есть «SID: 192.168.1.1», и это идентификатор сервера. Другими словами, IP-адрес DHCP-сервера. Затем у нас есть наш «LT: 86400», который является нашим временем аренды для IP-адреса, подтверждаемого для DHCP-клиента DHCP-сервером. Что 86400 — это единица измерения в секундах, а на самом деле это 24 часа. После этого идет «SM: 255.255.255.0», который относится к маске подсети. Теперь я потратил довольно много времени на проверку поля «DG: 1» и обнаружил, что оно связано со «шлюзом по умолчанию». При этом я бы подумал, что здесь будет указан полный IP-адрес шлюза. Если у кого-то из вас есть дополнительная информация об этом, пожалуйста, напишите мне по электронной почте. Как видите, иногда, когда есть что-то, чего вы не знаете, лучше всего использовать такие ресурсы, как наш дочерний сайт Security-Forums.
Что ж, как вы видите сейчас, DHCP действительно является довольно сложным протоколом, если вы на самом деле копаетесь в нем на уровне пакетов. В целом это может показаться несложным, но как только вы начнете читать об этом, вы быстро поймете, что это так. Как и в случае с NetBIOS, тихие воды часто заходят слишком далеко. Надеюсь, вам понравилась эта серия из двух частей, посвященных DHCP, и, как всегда, жду ваших отзывов.
«Понимание протокола DHCP (часть 1)».