Поиск левых DHCP в сети

Категория: system

Бывает, что в локальных сетях заводится некорректно настроенное оборудование или кто-то решил себя потешить, отвечая всем желающим на их DHCP DISCOVER запросы. Чаще всего, в таких случаях, сетевое устройство получает неправильные настройки, тем самым блокируется его работа в сети. Можно, конечно, воспользоваться tcpdump`ом и проанализировать OFFER ответы и определить негодяя, но не всегда это удобно. Тем более если для этого есть специализированные утилиты, хоть их и единицы. В своей практике, для поиска "левого" DHCP я использую программу dhcpdrop тем еще приятную - с открытым исходным кодом. Утилита может использоваться как для анализа, так и для непосредственного подавления левого DHCP сервера - делается это путем забивания всего ip пула мещающего работе dhcp сервера, вследствие отсылки запросов к этому серверу на получение адреса/настроек со случайно сгенерированным MAC адресом, пул заполняется и сервер перестает отвечать на запросы. Более детальное описание см. на странице проекта.

dhcdrop -i eth0 -t -T 10 "fc:cc:cc:cc:cc:aa"

Вышеприведенная команда отправит DISCOVER запросы с МАСом "fc:cc:cc:cc:cc:aa" с интерфеса eth0 с таймаутом 10 секунд. Таймаут не следует задавать слишком малым, ибо не все сервера быстро отвечают, да и не обязаны - т.к. по спецификации, на сколько мне известно, время ответа на запросы не ограничивается каким-либо значением и даже при необходимости dhcp сервер имеет право "молча" дропнуть пакет, скажем если он перегружен. Как поведет себя dhcp клиент в таких случаях зависит от его алгоритмов работы. После отсылки запроса, происходит прослушка интерфеса на предмет OFFER пакетов - и на выходе утилиты мы получаем информацию (IP и MAC) ответивших на запрос серверах:

DHCP--SRV: 10.0.0.1 (IP-hdr: 10.0.0.1) SRV ether: 11:22:33:44:55:66, YIP: 10.0.0.189

Так же рассматриваемая утилита, пригодилась мне для мониторинга скорости ответов DHCP серверов посредством zabbix, я слегка модифицировал исходный код - теперь на выходе отображается и интервал между discover и offer пакетами. Затем значение парсится и отпрвляется в заббикс. Если нужны исходники, пишите в комментариях - поделюсь.

Теги: zabbix dhcp dhcdrop

Комментарий:

Powered by emlog