7 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Поиск dhcp серверов в сети

Содержание

Обнаружение новых DHCP-серверов в локальной сети

Не подскажете, как можно заранее (до звонков пользователей 🙂 выявить появление в сети нового DHCP-сервера?

# dhcpcd -T ; cat /etc/dhcpc/dhcpcd-eth0.info

видит, только, валидный dhcpd, а нового сервера не видит.

P.S. Административные аспекты дрессуры пользователей, просьба, не предлагать. 🙂

Re: Обнаружение новых DHCP-серверов в локальной сети

Просканируй сеть tcpdumpom на предмет обнаружения открытых портов на которых работает dhcpd

Re: Обнаружение новых DHCP-серверов в локальной сети

> Просканируй сеть tcpdumpom

ты имел ввиду nmap ?

Проблема в том, что хостов очень много.

> tcpdumpom на предмет обнаружения открытых портов на которых работает dhcpd

Вывод «tcpdump udp» писать в файл накладно, а на:

# tcpdump -q udp | grep «bootps»

не могу навесить дополнительных фильтров, конвейер перестаёт выводить что-либо, вообще. 🙁

Re: Обнаружение новых DHCP-серверов в локальной сети

А разве на свитчах tcpdump ответы другим машинам от DHCPD выловит? Или у вас там хабы?

Re: Обнаружение новых DHCP-серверов в локальной сети

> А разве на свитчах tcpdump ответы другим машинам от DHCPD выловит? Или у вас там хабы?

Цепляйся на центральный коммутатор и выловишь что-нибудь 🙂

Re: Обнаружение новых DHCP-серверов в локальной сети

Я бы попробовал воткнуть сетевую карточку (которой валидный не даст адрес) и ждал бы пока она не получит IP.

Re: Обнаружение новых DHCP-серверов в локальной сети

Не нужно писать вывод tcpdump в файл слишком долго. Нужно включить tcpdump (вывод в файл, можно с фильтром), включить комп, когда комп получит адрес, выключить tcpdump. Посмотреть в файле какие сервера ответили на запрос адреса. Я думаю, что если в сети 3 dhcp сервера, то на один запрос ответят все 3, запросивший хост получит адрес от первого ответившего и будет использовать полученный от него адрес, но ответят все 3 сервера. Эти ответы и надо определить по содержимому файла.

Re: Обнаружение новых DHCP-серверов в локальной сети

Я хотел было повесить процесс на парсинг непрерывного конвейера

# tcpdump -lq udp 2>1 | grep «bootps >» | grep -v «[valid-dhcpd]»

который даёт захваченные ответы невалидных dhcp-серверов, с последующей обработкой полученного. Однако, упёрся в проблему отсутствия вывода непрерывного сложного конвейера 🙁

При всём этом, «разовый» сенсор, типа:

# tcpdump -lq -c 1000 udp 2>1 | grep «bootps >» | grep -v «[valid-dhcpd]»

,отрабатывает 1000 пакетов нормально, но не долго 🙂 , посему, есть высокая вероятность потери информации.

Есть какие-либо идеи, или это у меня уникальная проблема с «непрерывным конвейером»?

Re: Обнаружение новых DHCP-серверов в локальной сети

Или я дурак, или одно из двух. Почему бы не написать:
tcpdump -i eth0 -n udp and port 67 and src host ! 192.168.0.1 (IP валидного сервера)
Этот вывод не остановится до тех пор, пока не ломанут tcpdump 😉

Re: Обнаружение новых DHCP-серверов в локальной сети

дело не в том, что его ломанут, а в том, что в сети одновременно может быть несколько dhcp серверов, раздающих адреса, от какого адреса комп будет получать адрес — зависит от топологии сети. Т.е. некоторые компы будут получать в основном с одного, другие — с другого, или это может быть случано, — в зависимости от загрузки в данный момент серверов и сетевого оборудования.

Не нужно делать pipe для tcpdump, запись в файл чем не устраивает?

Re: Обнаружение новых DHCP-серверов в локальной сети

Видимо я плохо объяснил 🙁 Топология и загрузка сети не имеет значение. Важно, чтобы в точке прослушки tcpdump-ом был ВЕСЬ UDP трафик! Тогда предложенные мной (см. выше) опции tcpdump-а отобразят все ответы НЕвалидных DHCP серверов. Ни каких пайпов и файлов. Вывод будет идти на консоль. При желании его можно обрабатывать скриптом, например для отсылки SMS или просто почты.

Re: Обнаружение новых DHCP-серверов в локальной сети

# tcpdump -i eth0 -n udp and src port 67 and src host ! 192.168.0.1

> Ни каких пайпов и файлов. Вывод будет идти на консоль. При желании его можно обрабатывать скриптом, например для отсылки SMS или просто почты.

Может я сильно туплю под вечер.

Но, как без пайпов и файлов его обработать (можно пример, plz)?

Re: Обнаружение новых DHCP-серверов в локальной сети

Я знака ! в параметрах не заметил.)
Твой вариант правильный.

Re: Обнаружение новых DHCP-серверов в локальной сети

Да его не надо обрабатывать он будет выводить только ответы невалидных серверов. Если ничего не выводит, значит их нет.

Re: Обнаружение новых DHCP-серверов в локальной сети

> Если ничего не выводит, значит их нет.

> Да его не надо обрабатывать он будет выводить только ответы невалидных серверов.

Однако, мысль в том, чтоб повесить обработчик события. Например: popup, mail, sms или «arp — MAC — snmp — block_port», т.е., хотя бы частично, автоматизировать процесс 🙂

Re: Обнаружение новых DHCP-серверов в локальной сети

«Однако, мысль в том, чтоб повесить обработчик события. Например: popup, mail, sms или «arp — MAC — snmp — block_port», т.е., хотя бы частично, автоматизировать процесс 🙂 «

Читать еще:  Как настроить принтер по локальной сети?

Наверное, тогда вывод в файл с периодическим сканированием его содержимого на наличие новых записей с последуещей желаемой обработкой этих записей.

Re: Обнаружение новых DHCP-серверов в локальной сети

Re: Обнаружение новых DHCP-серверов в локальной сети

> Наверное, тогда вывод в файл с периодическим сканированием его содержимого на наличие новых записей с последуещей желаемой обработкой этих записей.

Угумс. Только, суть, как раз в том, что у меня есть проблемы с адекватной записью в файл или обработкой конвейером 🙁

Вот, я и пытаюсь выяснить, это только у меня так, или не только у меня. 😐

Re: Обнаружение новых DHCP-серверов в локальной сети

# tcpdump -i eth0 -n udp and src port 67 and src host ! 192.168.0.1 >

ничего не пишет в файл,

# tcpdump -i eth0 -n udp and src port 67 and src host ! 192.168.0.1 | cut -d» » -f2

. и так далее, ничего не выводит.

Re: Обнаружение новых DHCP-серверов в локальной сети

Так может у тебя и нет других dhcp серверов кроме того, что указан в команде. Вот и вывода нет.

Re: Обнаружение новых DHCP-серверов в локальной сети

> Так может у тебя и нет других dhcp серверов кроме того, что указан в команде. Вот и вывода нет.

Не надо так опошлять идею 😀 Их у меня три штуки. 🙂

# tcpdump -i eth0 -n udp and src port 67 >

ничего не пишет в файл (в смысле, с приемлемой синхронностью с событием),

# tcpdump -i eth0 -n udp and src port 67 | cut -d» » -f2

ничего не выводит (аналогично).

Не могу понять, откуда такая буферизация и как с ней бороться 🙁

У кого-нибудь эта проблема воспроизводится?

P.S. Собственно, вопрос в том, как победить буферизацию.

Re: Обнаружение новых DHCP-серверов в локальной сети

dhcdrop — Поиск нелегальных DHCP серверов в сети.

Довольно часто в сети которая использует для настройки протокол DHCP возникает проблема с появлением нелегальных DHCP серверов. Часто причиной этого является пользователь который подключил кабель не в тот порт своего маршрутизатора или юный администратор, который пытается изучать сетевые технологии на практике. Однако, результат один и тот же, ваши клиенты/абоненты получив в аренду адрес от такого сервера не получат доступ в интернет.

Немного теории

При запросе к DHCP серверу, сервер выдает определенный ip адрес и закрепляет его за MAC адресом клиента. Это значит, что клиенту с таким MAC адресом может быть выдан только такой ip адрес. IP адрес резервируется сервером для клиента на определенное время и если по истечению этого периода клиент не запросил продление, ip адрес может быть выдан другому пользователю. На каждом домашнем роутере настроен определенный пул адресов — количество IP адресов которое может сервер выдать, обычно это от нескольких десятков до 2х сотен адресов. После того как все адреса в пуле зарезервированы, DHCP сервер игнорирует запросы клиентов.

Чем плохи ложные DHCP сервера?

Плохи они тем, что когда у клиента вашего сервера закончится время аренды ip адреса, он запросит в аренду новый ip адрес сформировав DHCP запрос (DHCPDISCOVER) используя случайный исходящий MAC адрес. Таким образом если первый сервер который выдаст в аренду ip адрес будет не ваш, а одного из пользователей, то все кто получит от него адреса не смогут получить доступ к интернету.

Как обезопасить сеть от ложных DHCP серверов?

Есть несколько способов борьбы с ложными серверами, блокировка на оборудовании доступа или программное обеспечение. Очень редко L2 коммутаторы имеют функции блокировки DHCP ответов. В этом случае нам понадобится программа dhcdrop, которая поможет нам бороться с поддельными серверами.

Учитывая все выше написанное, при появлении в сети ложного DHCP сервера нам только нужно взять в аренду все его адреса, заняв весь его пул. Однако эта статья описывает то, каким образом нам находить эти сервера и получать автоматические уведомления на почту.

С полным списком функций программы вы можете ознакомится на официальном сайте проекта, а для текущей статьи нам понадобится всего несколько простых команд и небольшой скрипт(на сайте проекта можно загрузить приложение).

Исходя из документации мы имеем:

  • -q — тихий режим работы;
  • -t — режим теститрования;
  • -i — сетевой интерфейс;
  • -l — легальный сервер(указывать МАС адрес);

Режим тестирования нам нужен для того, чтоб программа не начинала автоматическое подавление сервера, нам это ни к чему, тихий режим, чтоб не сыпать в консоль сообщениями, так как у нас скрипт будет запускаться каждые 5 минут через планировщик задач.

Пример команды которую мы будем использовать:

dhcdrop -q -t -l f8:1a:67:14:7a:79 -i vlan10

Поскольку сеть в которой я работаю разбита на виртуальные подсети и каждый интерфейс подсети имеет имя vlanN, при помощи скрипта мы будем перебирать интерфейсы и для каждого запускать сканирование. Если же вам просто нужно просканировать на интерфейсе, просто пишете имя интерфейса(eth0,ix0 и т.п).

Сам скрипт выглядит следующим образом:

Сохраняем скрипт в формате .sh и добавляем в планировщик задач cron.

Алгоритм работы скрипта очень простой. Сначала мы считываем конфигурацию DHCP интерфейсов(интерфейсы на которых работает DHCP сервер), а далее для каждого интерфейса выполняем команду dhcdrop -q -t -i <имя интерфейса>-l f8:1a:67:14:7a:79 . Если программа завершается с кодом 200, что сигнализирует об присутствии нелегитимного DHCP сервера, отправляем email при помощи sendmail. Отправку почты не составит труда адаптировать под другой клиент. Нужно только поменять email адреса на реальные. Данный скрипт написан для FreeBSD и успешно используется на протяжении долгого времени.

Далее действуйте на ваше усмотрение, либо забейте весь пул адресов, либо просто отключите злоумышленника на оборудовании найдя его по МАС адресу.

WebLampa

Освещаю, не отсвечивая))

Рубрики

Свежие записи

Находим чужие DHCP-серверы в сети.

Маршрутизаторы Mikrotik позволяют вычислить чужой, «левый», сторонний DHCP-сервер который находится в вашей сети и тем самым мешает вашим устройствам получать правильные IP-адреса. Такая ситуация может возникнуть, когда клиент, например, подсоединил свой домашний роутер не через WAN порт, а через LAN-порты, а ваша сеть не ориентированна на изоляцию клиента (VLANs, EoIP/VPLS Tunnels, Horizon Bridging/Private VLAN Edge (PVE)). Для этого в RouterOS существует настройка /ip dhcp-server alert:

Добавляем правило, с отсылкой на выполнения скрипта script1:

interface — интерфейс, на котором искать не легитимные DHCP-сервера;
valid-server — список МАС-адресов ваших легитимных DHCP-серверов;
alert-timeout — таймаут обнаружения чужих DHCP-серверов. Если параметр не заполнить (сделать не активным) — скрипт выполнится один раз при обнаружении. Это важный параметр, заполнять его нужно исходя из DHCP Lease Time вашей сети. Если у вас Lease Time стоит 12 часов, то alert-timeout можно сделать 1−2 часа. Вероятность того, что чужой сервер раздаст между этими периодами адреса минимальна. Если Lease Time то и alert-timeout нужно уменьшить. Но, если вы будете при обнаружении «левого» DHCP отправлять e-mail, то сильно уменьшенное время в alert-timeout приведет к спаму на ваше «мыло» до того момента, пока «левый» сервер не пропадет.
unknown-server — список МАС-адресов обнаруженных неизвестных серверов DHCP. Сервер будет удален из этого списка после тайм-аута.
on-alert — сценарий для запуска, если неизвестный сервер DHCP обнаружен;
reset-alert — не выведен в интерфейс WinBox, доступен с командной строки. Команда /ip dhcp alert reset-alert очищает список всех найденных «левых» DHCP-серверов.

Читать еще:  Проблемы с оперативной памятью симптомы

В пункте Unknown Server видно MAC-адрес «левого» сервера. Alert Timeout стоит тестовые 10 секунд, обычно это значение у меня 1 час. Интерфейс может быть как реальный, так и бридж. Значение Valid Servers заполняем нашими легитимными DHCP-серверами, так как у меня он только один (мое текущее устройство), то заполняем MAC с нашего интерфейса.

/tool e-mail send server=10.10.10.10 port=25 user=admin@ya.ru password=111 111 start-tls=yes to=»admin@ya.ru» from=admin@ya.ru subject=(«DHCP Alert: Discovered unknown dhcp-server, RouterBoard identity: „.[/system identity get name]) body=»MikroTik have been detected unknown dhcp-server: nnIP: $address nInterface: $interface nMAC: quot;mac-address“»;
/log info «e-mail send unknown dhcp-server»

После появления в сети чужого DHCP-сервера раз в заданное время опроса скрипт будет выполнятся, в это время будут писаться записи в терминал и лог журнал:


Последняя запись в логе инициализированная скриптом. Ну и само письмо будет иметь такой вид:

Как видим в тему письма подтягиваются название роутера (идентификатор). А в тело — IP, интерфейс обнаружения и MAC-адрес чужого DHCP-сервера. Письма будут отсылаться через промежуток времени указанный в Alert Timeout, до того момента, пока DHCP-сервер не пропадет или вы его не найдете.

DHCP RogueChecker – в хозяйстве пригодится

Недавно понадобилось перенести сервер DHCP с Windows 2003 Server на Windows Server 2008 (делается, кстати, очень просто, ниже скажу об этом пару слов). И вспомнил один случай, когда-то давно со мной приключившийся. Имя ему — Rogue DHCP Server.

Сначала обещанная пара слов о переносе DHCP сервера с Windows 2003 Server на Windows Server 2008. Я воспользовался самым простым в данном случае, на мой взгляд, способом. На старом сервере выполняем экспорт в файл:

На новом сервере добавляем роль DHCP server и импортируем:

Если развёрнута AD, удаляем старый сервер из авторизованных и авторизуем новый, сделать это можно из консоли управления DHCP или так:

Запускаем, проверяем, что всё работает :), удаляем со старого сервера роль DHCP.

Теперь о том давнем случае. Я тогда занимался администрированием небольшой сети, где-то не более сотни рабочих мест. Коллега попросил на несколько дней домой простенький Ethernet-роутер, оставшийся не у дел со времён, когда в компании насчитывался только с десяток компьютеров. Получив от меня роутер, довольный коллега удалился с ним в свой кабинет и решил ознакомиться с его возможностями прямо на месте. Для этого он сбросил настройки роутера к заводским, и не придумал ничего лучше, как подключить LAN-сегмент роутера в нашу корпоративную сеть.

Как известно, большинство недорогих SOHO роутеров поставляются со встроенным DHCP сервером, включенным по умолчанию. И получили мы в сети его — rogue DHCP server. Когда стали истекать сроки аренды, клиенты стали получать адреса от DHCP сервера роутера, и нормальная работа сети оказалась нарушена.

Фальшивый, или неавторизованный, DHCP сервер может появиться не только по ошибке. (Например, не очень опытный ИТ-сотрудник может установить в исследовательских целях непосредственно на рабочем месте софт, в том числе обладающий функцией DHCP сервера, или просто зачем-то включит имеющуюся в Windows функцию ICS.) Всё может быть намного серьёзней, rogue DHCP server может быть началом атаки типа «человек посередине». Поэтому в крупных и ответственных сетях с этим явлением надо бороться заранее, средствами систем IDS и с помощью высокоуровневых управляемых коммутаторов.

Описание таких методов выходит за рамки этой небольшой заметки, а здесь я опишу один из вариантов быстрого обнаружения «левых» DHCP серверов для небольшой или бюджетной сети. Метод всего один – периодически проверять наличие DHCP серверов в сети, отправляя запрос на получение адреса, и сверять ответившие серверы со списком известных «легальных» серверов.

Есть множество готовых утилит для этого, например dhcploc.exe непосредственно от Microsoft, Roadkil’s DHCP Find под Windows, dhcp_probe для UNIX и UNIX-like, Rogue Detect, написанный на Perl, и т. п. Но сегодня я хочу отметить маленькую утилиту RogueChecker от Subhash Badri, написана под Windows, с графическим интерфейсом.

Инсталляции не требует, после запуска открывает окно и создаёт значок в системном трее. В том числе RogueChecker может показывать авторизованные в AD серверы DHCP.

На второй вкладке можно выбрать интерфейсы и задать частоту поиска DHCP серверов.

После первого поиска все найденные DHCP серверы будут считаться неизвестными. Утилита не сверяет найденные серверы со списком авторизованных в AD. Сначала я счёл это недостатком, но потом пришёл к выводу, что всё правильно. Не составит труда отметить галочками правильные серверы, а независимый список авторизованных позволит обнаружить ситуацию, когда DHCP сервер уже не используется, но информация о его авторизации по-прежнему хранится в AD. Кстати, список авторизованных в AD серверов DHCP можно посмотреть, выполнив на сервере:

Список серверов, отмеченных как правильные, сохраняется в папке, откуда запущена программа, в файле с именем WellKnownServers.xml.

Значок в трее меняется, если обнаружен неизвестный DHCP сервер.

ИТ База знаний

Полезно

— Узнать IP — адрес компьютера в интернете

— Онлайн генератор устойчивых паролей

— Онлайн калькулятор подсетей

— Калькулятор инсталляции IP — АТС Asterisk

— Руководство администратора FreePBX на русском языке

— Руководство администратора Cisco UCM/CME на русском языке

— Руководство администратора по Linux/Unix

Навигация

Серверные решения

Телефония

FreePBX и Asterisk

Настройка программных телефонов

Корпоративные сети

Протоколы и стандарты

Популярное и похожее

MPLS — как работает и зачем нужен?

Самое интересное про SPAN/RSPAN

Самое интересное про SPAN/RSPAN

Протокол OSPF

6G — что от него ждать?

Snom D710

Все, что вам нужно знать про DHCP

Про динамические адреса

Всем привет! Сегодня статью мы посвятим рассказу о протоколе DHCP (Dynamic Host Configuration Protocol) – что он из себя представляет, для чего он нужен и как он работает. DHCP доступен как для IPv4 (DHCPv4) , так и для IPv6 (DHCPv6) . В этой статье мы рассмотрим версию для IPv4. А следующей статье мы расскажем про его настройку.

Каждому устройству, подключенному к сети, нужен уникальный IP-адрес. Сетевые администраторы назначают статические IP-адреса маршрутизаторам, серверам, принтерам и другим сетевым устройствам, местоположение которых (физическое и логическое) вряд ли изменится. Обычно это устройства, предоставляющие услуги пользователям и устройствам в сети, поэтому назначенные им адреса должны оставаться постоянными. Кроме того, статические адреса позволяют администраторам удаленно управлять этими устройствами – до них проще получить доступ к устройству, когда они могут легко определить его IP-адрес.

Однако компьютеры и пользователи в организации часто меняют места, физически и логически. Это может быть сложно и долго назначать новые IP-адреса каждый раз, когда сотрудник перемещается. А для мобильных сотрудников, работающих из удаленных мест, вручную настройка правильных параметров сети может быть весьма непростой задачей.

Читать еще:  Форматирование флешки для установки Windows 7

Использование DHCP в локальной сети упрощает назначение IP-адресов как на настольных, так и на мобильных устройствах. Использование централизованного DHCP-сервера позволяет администрировать все назначения динамических IP-адресов с одного сервера. Эта практика делает управление IP-адресами более эффективным и обеспечивает согласованность внутри организации, включая филиалы.

DHCPv4 динамически назначает адреса IPv4 и другую информацию о конфигурации сети. Отдельный сервер DHCPv4 является масштабируемым и относительно простым в управлении. Однако в небольшом офисе маршрутизатор может быть настроен для предоставления услуг DHCP без необходимости выделенного сервера.

DHCPv4 включает три разных механизма распределения адресов для обеспечения гибкости при назначении IP-адресов:

  • Ручное распределение(Manual Allocation) — администратор назначает предварительно установленный IPv4-адрес клиенту, а DHCP сервер передает IPv4-адрес на устройство.
  • Автоматическое распределение(Automatic Allocation) — DHCPv4 автоматически назначает статический IPv4-адрес на устройство, выбирая его из пула доступных адресов. Нет аренды (lease), и адрес постоянно назначается устройству.
  • Динамическое распределение (Dynamic Allocation) — DHCPv4 динамически назначает или дает в аренду IPv4-адрес из пула адресов в течение ограниченного периода времени, выбранного сервером, или пока клиент больше не нуждается в адресе.

Динамическое распределение является наиболее часто используемым механизмом DHCP и при его использовании клиенты арендуют информацию с сервера на определенный период. DHCP серверы настраивают так, чтобы установить аренду (лизинг) с различными интервалами. Аренда обычно составляет от 24 часов до недели или более. Когда срок аренды истекает, клиент должен запросить другой адрес, хотя обычно он снова получает старый.

Механизм работы DHCP

DHCPv4 работает в режиме клиент/сервер. Когда клиент взаимодействует с сервером DHCPv4, сервер назначает или арендует IPv4-адрес этому клиенту. Он подключается к сети с этим арендованным IP-адресом до истечения срока аренды и должен периодически связываться с сервером DHCP, чтобы продлить аренду. Этот механизм аренды гарантирует, что клиенты, которые перемещаются или выходят из строя, не сохраняют за собой адреса, которые им больше не нужны. По истечении срока аренды сервер DHCP возвращает адрес в пул, где он может быть перераспределен по мере необходимости.

Рассмотрим процесс получения адреса:

  1. Когда клиент загружается (или хочет присоединиться к сети), он начинает четырехэтапный процесс для получения аренды. Он запускает процесс с широковещательным (broadcast) сообщением DHCPDISCOVER со своим собственным MAC-адресом для обнаружения доступных серверов DHCPv4. Поскольку у клиента нет способа узнать подсеть, к которой он принадлежит, у сообщения DHCPDISCOVER адрес назначения IPv4 адреса —255.255.255.255. А поскольку у клиента еще нет настроенного адреса IPv4, то исходный IPv4-адрес — 0.0.0.0.
  2. Сообщение DHCPDISCOVER находит серверы DHCPv4 в сети. Поскольку клиент не имеет IPv4 информации при загрузке, он использует широковещательные адреса 2 и 3 уровня для связи с сервером.
  3. Когда DHCPv4-сервер получает сообщение DHCPDISCOVER, он резервирует доступный IPv4-адрес для аренды клиенту. Сервер также создает запись ARP, состоящую из MAC-адреса клиента и арендованного IPv4-адреса DHCP сервер отправляет связанное сообщение DHCPOFFER запрашивающему клиенту, как одноадресная передача (unicast), используя MAC-адрес сервера в качестве исходного адреса и MAC-адрес клиента в качестве адреса доставки.
  4. Когда клиент получает DHCPOFFER с сервера, он отправляет обратно сообщение DHCPREQUEST. Это сообщение используется как для получения, так и для продления аренды. Когда используется для получения аренды, DHCPREQUEST служит в качестве уведомления о принятии выбранных сервером параметров, которые он предложил, и отклонении предложения от других серверов. Многие корпоративные сети используют несколько DHCP серверов, и сообщение DHCPREQUEST отправляется в виде широковещательной передачи, чтобы информировать все серверы о принятом предложении.
  5. При получении сообщения DHCPREQUEST сервер проверяет информацию об аренде с помощью ICMP-запроса на этот адрес, чтобы убедиться, что он уже не используется и создает новую ARP запись для аренды клиента, а затем отвечает одноадресным DHCPACK-сообщением. Это сообщение является дубликатом DHCPOFFER, за исключением изменения поля типа сообщения. Когда клиент получает сообщение DHCPACK, он регистрирует информацию и выполняет поиск ARP для назначенного адреса. Если ответа на ARP нет, клиент знает, что адрес IPv4 действителен и начинает использовать его как свой собственный.

Теперь рассмотрим, как происходит продление аренды адреса:

  1. Когда срок аренды истек, клиент отправляет сообщение DHCPREQUEST непосредственно DHCP серверу, который первоначально предлагал адрес. Если DHCPACK не получен в течение определенного периода времени, то клиент передает другой DHCPREQUEST, чтобы один из других доступных серверов DHCPv4 мог продлить аренду.
  2. При получении сообщения DHCPREQUEST сервер проверяет информацию об аренде, возвращая DHCPACK

  • DHCP это просто
  • Dynamic Host Configuration Protocol
  • 160

Полезна ли Вам эта статья?

Пожалуйста, расскажите почему?

😪 Нам жаль, что статья не была полезна для вас 🙁 Пожалуйста, если не затруднит, укажите по какой причине? Мы будем очень благодарны за подробный ответ. Спасибо, что помогаете нам стать лучше!

😍 Подпишитесь на нашу еженедельную рассылку, и мы будем присылать самые интересные публикации 🙂 Просто оставьте свои данные в форме ниже.

Поиск dhcp серверов в сети

Иногда системному администратору необходимо выявить паразитные DHCP-сервера, которые нарушают работу сети. Для этой цели можно воспользоваться утилитой dhcploc. Эта утилита входит в состав Resource Kit для Windows.

Утилита Dhcploc (dhcploc.exe) помогает обнаруживать неавторизованные DHCP-серверы. В команде указывается список IP-адресов серверов DHCP, затем утилита Dhcploc опрашивает серверы и возвращает список ответов. Команда

dhcploc -p 192.168.1.20 ‘192.168.1.1
192.168.20.1′

выполняется с компьютера, имеющего IP-адрес 192.168.1.20. Первым в командной строке обычно стоит адрес машины, на которой вводится команда. IP-адреса в кавычках — адреса авторизованных серверов. Если ответившие серверы не указаны в списке авторизованных серверов, то они являются нарушителями. Параметр -p позволяет утилите Dhcploc не отображать ответы от серверов, названных в списке. Таким образом, любые принятые ответы — ответы нарушителей. Когда Dhcploc их обнаруживает, утилита посылает предупреждения определенным пользователям (через указанные интервалы времени). Для рассылки предупреждений используют параметры -a и -I. Команда

dhcploc -p 192.168.1.20 ‘192.168.1.1
192.168.20.1′ -a:’administrator’ -I:1800

посылает сигнал тревоги администратору (параметр -а) каждые 30 мин (параметр -I — значение в секундах). Утилита Dhcploc использует широковещательные пакеты для получения ответов от DHCP-серверов. Способ пересылки по сети таких широковещательных пакетов может ограничить эффективность использования утилиты. В маршрутизируемой сети настраивать сетевые маршрутизаторы нужно так, чтобы пакеты с запросами к серверам DHCP рассылались во все подсети, где могут быть нарушители. Если сеть достаточно сложной конфигурации, то для выполнения утилиты Dhcploc на рабочей станции каждой подсети можно использовать такой инструмент, как планировщик NT.

Пример вывода команды dhcploc (при нажатии Enter после запуска утилита выводит подсказку по горячим клавишам d, q и h):

C:Program FilesResource Kit>dhcploc.exe -p a.b.0.246
C:Program FilesResource Kit>dhcploc -p a.b.0.246
17:49:42 OFFER (IP)a.b.2.244 (S)a.b.0.44 ***FormatMessage failed 1813.
17:49:42 OFFER (IP)a.b.5.144 (S)a.b.0.1 ***
Type d — to discover; q — to quit; h — for help.
17:57:05 ACK (IP)a.b.7.217 (S)a.b.0.1 ***FormatMessage failed 1813.
17:57:50 ACK (IP)a.b.2.39 (S)a.b.0.44 ***
17:59:34 ACK (IP)a.b.2.56 (S)a.b.0.44 ***

В этом выводе можно заметить DHCP-сообщения Offer и Acknowledge.

Ссылка на основную публикацию
Статьи c упоминанием слов:
Adblock
detector