Niektórzy klienci DHCP nie ujawniają w wiarygodny sposób informacji o systemie operacyjnym podczas rozruchu. Jak wspomniano powyżej, z tymi technikami wiąże się pewna własność intelektualna; na przykład Infoblox i Cisco ISE mogą budować profile systemu operacyjnego klienta na podstawie pakietów dhcp, które widzą. W rzeczywistości Cisco ISE zawiera dość wyrafinowane algorytmy klasyfikacji systemu operacyjnego, jeśli można wysłać do niego więcej niż dhcp.
Ewentualnie możesz użyć heurystyki, takiej jak błąd endiana systemu Windows, w polu „Upłynęły sekundy”, ale poleganie na błędzie systemu operacyjnego jest złym sposobem radzenia sobie z wykrywaniem systemu operacyjnego.
Jeśli naprawdę musisz wykryć system operacyjny bez dedykowanego urządzenia dostawcy, po prostu podaj adres IP i zeskanuj host za pomocą NMAP po wysłaniu potwierdzenia DHCP. Używanie nagłówków HTTP nie jest tak niezawodne jak nmap , ponieważ każdy może zmienić ciąg UserAgent, jeśli chce. nmap nie jest w 100% wiarygodny w wykrywaniu systemu operacyjnego, ale jest tak dobry, jak okaże się, jeśli musisz wybrać jedną metodę do wszystkiego.
Uczyniłbym to konfigurowalną opcją na serwerze, ponieważ niektórzy ludzie mogą nie lubić domyślnego skanowania nmap na każdym hoście DHCP.
Przykład skanowania systemu operacyjnego nmap pod 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 ~]$