一部のDHCPクライアントは、起動時にOS情報を確実に開示しません。前述のように、これらの技術に関連する知的財産がいくつかあります。たとえば、InfobloxとCisco ISEは、表示されるdhcpパケットに基づいてクライアントOSプロファイルを構築できます。実際、Cisco ISEには、dhcp以上を送信できる場合、かなり洗練されたOS分類アルゴリズムが含まれています。
または、「秒経過」フィールドでWindowsエンディアンバグのようなヒューリスティックを使用できますが、OSバグに依存することは、OS検出を処理する方法としては不十分です。
専用ベンダーアプライアンスなしでOSを本当に検出する必要がある場合は、IPアドレスを発行し、DHCP Ackを送信した後にNMAPでホストをスキャンします。HTTPヘッダーの使用はnmapほど信頼性が高くありません。必要に応じてだれでもUserAgent文字列を変更できるためです。 nmapはOS検出で100%信頼できるものではありませんが、すべてに対して単一の方法を選択する必要がある場合に見つけるのと同じくらい良いです。
一部の人々はすべてのDHCPホストでデフォルトのnmapスキャンを好まない可能性があるため、これをサーバー上で構成可能なオプションにします。
Windows7に対するnmap OSスキャンの例:
[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 ~]$