Einige DHCP-Clients geben die Betriebssysteminformationen beim Booten nicht zuverlässig weiter. Wie oben erwähnt, ist mit diesen Techniken geistiges Eigentum verbunden; Infoblox und Cisco ISE können beispielsweise Client-Betriebssystemprofile auf der Grundlage der angezeigten DHCP-Pakete erstellen. Tatsächlich enthält Cisco ISE einige ziemlich ausgefeilte Betriebssystemklassifizierungsalgorithmen, wenn Sie mehr als DHCP an das System senden können.
Alternativ können Sie eine Heuristik wie den Windows-Endian-Fehler im Feld "Sekunden verstrichen" verwenden. Die Verwendung eines Betriebssystemfehlers ist jedoch eine schlechte Methode, um die Betriebssystemerkennung zu handhaben.
Wenn Sie das Betriebssystem wirklich ohne dedizierte Vendor Appliance erkennen müssen, geben Sie einfach eine IP-Adresse ein und scannen Sie den Host mit NMAP, nachdem Sie die DHCP-Bestätigung gesendet haben. Die Verwendung von HTTP-Headern ist nicht so zuverlässig wie nmap , da jeder die UserAgent-Zeichenfolge ändern kann, wenn er möchte. nmap ist bei der Betriebssystemerkennung nicht 100% zuverlässig, aber es ist ungefähr so gut, wie Sie feststellen werden, wenn Sie für alles eine einzige Methode auswählen müssen.
Ich würde dies zu einer konfigurierbaren Option auf dem Server machen, da einige Leute einen standardmäßigen nmap- Scan nicht auf jedem DHCP-Host mögen .
Beispiel für einen nmap- Scan unter 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 ~]$