Деякі клієнти DHCP не завантажують надійно інформацію про ОС під час завантаження. Як було сказано вище, є деякі інтелектуальні властивості, пов'язані з цими методами; наприклад, Infoblox і Cisco ISE можуть створювати профілі клієнтської ОС на основі пакетів dhcp, які вони бачать. Насправді Cisco ISE включає деякі досить складні алгоритми класифікації ОС, якщо ви можете надіслати на нього більше dhcp.
Крім того, ви можете використовувати евристичну, наприклад, помилку Windows endian у полі "минули секунди", але покладатися на помилку в ОС - це поганий спосіб вирішення виявлення ОС.
Якщо ви дійсно повинні виявити ОС без спеціального пристрою постачальника, просто виберіть IP-адресу та скануйте хоста за допомогою NMAP після відправлення DHCP Ack. Використання заголовків HTTP не настільки надійно, як nmap , тому що кожен може змінити рядок UserAgent, якщо захоче. nmap не на 100% надійний при виявленні ОС, але він настільки ж хороший, як ви побачите, якщо вам потрібно вибрати єдиний метод для всього.
Я зробив би це налаштування на сервері, оскільки деяким людям може не подобатися сканування nmap за замовчуванням на кожному хості DHCP.
Приклад сканування ОС nmap для Windows7:
[mpenning@myhost ~]$ sudo nmap -O 10.1.1.1
Starting Nmap 5.51 ( http://nmap.org ) at 2013-08-24 16:20 CDT
Nmap scan report for 10.1.1.1
Host is up (0.00078s latency).
Not shown: 985 closed ports
PORT STATE SERVICE
135/tcp open msrpc
139/tcp open netbios-ssn
445/tcp open microsoft-ds
Device type: general purpose
Running: Microsoft Windows Vista|2008|7
OS details: Microsoft Windows Vista SP0 - SP2, Server 2008, or Windows 7 Ultimate
Network Distance: 5 hops
OS detection performed. Please report any incorrect results at http://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 5.25 seconds
[mpenning@myhost ~]$