เซิร์ฟเวอร์ DHCP สามารถระบุระบบปฏิบัติการของลูกค้าได้หรือไม่? [ปิด]


18

เป็นไปได้หรือไม่ที่เซิร์ฟเวอร์ DHCP จะตรวจสอบระบบปฏิบัติการไคลเอนต์?

ฉันกำลังทำงานกับเครื่องมือตรวจสอบสำหรับเกตเวย์บนเครือข่ายท้องถิ่นที่อยู่บนเว็บและต้องการที่จะสามารถกำหนดได้ว่า OS อุปกรณ์ใดบ้างบนเครือข่ายที่กำลังทำงานอยู่และดูเหมือนว่าฉันจะเป็นสถานที่ที่ชัดเจนที่สุดในการค้นพบว่า เวลาที่กำหนดที่อยู่ IP โดยเซิร์ฟเวอร์ DHCP

ความล้มเหลวนั้นฉันรู้วิธีกรองทราฟฟิกบนพอร์ต 80 และดึงข้อมูลส่วนหัว HTML แต่วิธีนี้อาศัยการรอให้อุปกรณ์ท่องเว็บและทำให้เป็นที่ต้องการน้อยกว่าการตรวจจับ / ความละเอียดในระยะแรก เนื่องจากไม่ใช่ว่าทุกอุปกรณ์จะใช้ในการท่องอินเทอร์เน็ต

ฉันมีการควบคุมการกำหนดค่าเกตเวย์อย่างสมบูรณ์ - มันกำลังทำงานเดเบียน distro ที่ตัดลงดังนั้นเครื่องมืออื่น ๆ ที่จะทำงานเช่น DHCP, DNS, ARP และอื่น ๆ ฉันเปิดรับข้อเสนอแนะ!


Infoblox มีเซิร์ฟเวอร์ DHCP ที่จะทำการพิมพ์ลายนิ้วมือของระบบปฏิบัติการ
some_guy_long_gone

คำตอบ:


15

มีการทำงานบางอย่างเพื่อกำหนดความแตกต่างเล็กน้อยในแพ็คเก็ต DHCP จากระบบปฏิบัติการที่แตกต่างกันทำให้เกิดลายนิ้วมือ DHCP ตัวอย่างรวมถึงตัวเลือกที่มีอยู่ในคำขอ DHCP และคำสั่งซื้อและเนื้อหาของตัวเลือกบางอย่างเช่นตัวเลือก 55 (รายการพารามิเตอร์)

มีลักษณะที่เอกสารและลายเซ็นที่fingerbank.org สิ่งนี้ชี้ให้เห็น (ยังไม่ได้ทดสอบด้วยตัวเอง) ลายนิ้วมือระบบปฏิบัติการแบบพาสซีฟตามการรับส่งข้อมูล DHCP สามารถทำได้ ผลลัพธ์สามารถปรับปรุงได้โดยการรวมข้อมูลอื่น ๆ เช่นคุณสมบัติ IP ทั่วไป (TTL, diffserv, ... )

ลายนิ้วมือที่ใช้งานอยู่อาจให้ผลลัพธ์ที่ดีกว่า แต่อาจไม่ใช่ตัวเลือกในกรณีที่คุณใช้งาน

เว็บไซต์ Fingerbank กล่าวถึงผลิตภัณฑ์โอเพนซอร์สองสามตัวที่ใช้ลายเซ็น อุปกรณ์ DHCP ที่เป็นกรรมสิทธิ์ดูเหมือนว่าจะมีคุณสมบัติคล้ายกัน แต่ไม่มีรายละเอียดทางเทคนิค


3

ไคลเอ็นต์ 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 ~]$

ขอบคุณที่ชี้ให้เห็นถึงความสามารถในการพิมพ์ลายนิ้วมือของ nmap ... มันเรียบร้อยและทำงานได้ประมาณ 50% ของเวลา (มีคอมพิวเตอร์ 5 จาก 10 เครื่องในเครือข่ายของฉันที่ถูกต้อง) แต่การสแกนใช้เวลาตั้งแต่ 25 วินาทีถึง 102 วินาทีสำหรับแต่ละอุปกรณ์ สิ่งนี้ทำได้ แต่ช่วยให้ฉันเข้าใจมากเกี่ยวกับการพิมพ์ลายนิ้วมือและระบบปฏิบัติการ ตัวเลือกแบบพาสซีฟซึ่งดูเหมือนจะเป็นทางออกที่ดีที่สุดของฉัน
Michael Lang

@MichaelLang เพื่อบรรเทาปริมาณของเวลาที่ใช้ในการเรียกใช้ nmap กับ-T5ธงไปสู่สิ่งที่ความเร็วขึ้นอย่างเห็นได้ชัด
Ryan Foley

2

ในฐานะที่เป็นส่วนหนึ่งของกระบวนการ DHCP ฉันไม่เชื่อเช่นนั้น อย่างไรก็ตามคุณสามารถขูดบันทึก dhcpd ของคุณเฝ้าดู dhcp acks และขึ้นอยู่กับผู้ดำเนินการกระบวนการภายนอกเช่นลายนิ้วมือ os nmap os เพื่อดูว่าคุณสามารถเข้าใจว่าอะไรอยู่เบื้องหลัง IP ที่เพิ่งได้รับมอบหมาย


2

คำตอบที่ถูกต้องสั้นที่สุดคือไม่ คุณได้รับคำตอบที่เป็นประโยชน์เกี่ยวกับnmapแล้ว แต่ถ้ามันต้องผ่าน DHCP ไคลเอนต์จำนวนมากส่งตัวระบุระดับผู้จำหน่ายของพวกเขา (ตัวเลือก DHCP 60) ในการค้นพบแพ็คเก็ตของพวกเขาเพื่อให้เซิร์ฟเวอร์ DHCP สามารถให้ข้อเสนอ หากคุณเรียกใช้ tcpdump ดูที่ DHCP ค้นพบแพ็กเก็ตที่ลูกค้าส่งมาจากตัวเลือก 60 คุณสามารถเห็นสิ่งต่าง ๆ เช่นMSFT 5.0สำหรับไคลเอนต์ Windows, udhcpcปกติสำหรับอุปกรณ์ฝังตัวที่ใช้ไคลเอนต์ micro dhcp เป็นต้นโปรดจำไว้ว่าข้อมูลนี้ไม่เฉพาะเจาะจงมาก เพื่อแยกความแตกต่างของไคลเอ็นต์ DHCP แทนที่จะเป็นระบบปฏิบัติการ


1
อีกวิธีหนึ่งที่มีประโยชน์ในการ จำกัด สิ่งที่อุปกรณ์อาจอยู่ในเครือข่ายอย่างน้อยก็คือการค้นหา OUI ตามที่อยู่ MAC ของพวกเขาที่เว็บไซต์ IEEE
Michael Lang
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.