ไคลเอ็นต์ DHCP บางตัวไม่เปิดเผยข้อมูลระบบปฏิบัติการอย่างน่าเชื่อถือเมื่อเริ่มระบบ ตามที่กล่าวไว้ข้างต้นมีทรัพย์สินทางปัญญาที่เกี่ยวข้องกับเทคนิคเหล่านี้ ตัวอย่างเช่น Infoblox และ Cisco ISE สามารถสร้างโปรไฟล์ระบบปฏิบัติการไคลเอนต์ตามแพ็คเก็ต dhcp ที่พวกเขาเห็น ที่จริงแล้ว Cisco ISE นั้นมีอัลกอริธึมการจำแนกประเภท OS ที่ค่อนข้างซับซ้อนหากคุณสามารถส่งมากกว่า dhcp ได้
หรือคุณสามารถใช้ฮิวริสติกแบบบั๊ก endian ของ Windowsในฟิลด์ "วินาทีที่ผ่านไป" แต่การใช้บั๊ก OS เป็นวิธีที่ไม่ดีในการจัดการกับการตรวจจับระบบปฏิบัติการ
หากคุณต้องตรวจพบระบบปฏิบัติการโดยไม่ต้องใช้อุปกรณ์ของผู้จัดจำหน่ายโดยเฉพาะเพียงแค่ออกที่อยู่ IP และสแกนโฮสต์ด้วย NMAP หลังจากส่ง DHCP Ack การใช้ส่วนหัว HTTP นั้นไม่น่าเชื่อถือเท่ากับnmapเนื่องจากทุกคนสามารถเปลี่ยนสตริง UserAgent ได้หากต้องการ nmapไม่น่าเชื่อถือ 100% ที่การตรวจจับระบบปฏิบัติการ แต่มันใกล้เคียงกับที่คุณจะพบถ้าคุณต้องเลือกวิธีการเดียวสำหรับทุกสิ่ง
ฉันจะทำให้เป็นตัวเลือกที่กำหนดค่าได้บนเซิร์ฟเวอร์เนื่องจากบางคนอาจไม่ชอบการสแกนnmapเริ่มต้นในทุกโฮสต์ DHCP
ตัวอย่างการสแกนnmap OS เทียบกับ 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 ~]$