Máy chủ DHCP có thể xác định hệ điều hành của khách hàng không? [đóng cửa]


18

Máy chủ DHCP có thể xác định hệ điều hành máy khách không?

Tôi đang làm việc trên một công cụ giám sát các cổng trên các mạng cục bộ dựa trên web và muốn có thể xác định bằng cách nào đó thiết bị chạy trên hệ điều hành nào trên mạng và đó là nơi rõ ràng nhất để tôi khám phá ra đó là thời gian địa chỉ IP được gán bởi Máy chủ DHCP.

Không biết điều đó, tôi biết cách lọc lưu lượng trên cổng 80 và lấy thông tin tiêu đề HTML, nhưng phương pháp này phụ thuộc vào việc chờ thiết bị lướt web và do đó ít mong muốn hơn so với phát hiện / giải quyết rất sớm, đặc biệt. vì không phải mọi thiết bị sẽ được sử dụng để duyệt internet.

Tôi có toàn quyền kiểm soát cấu hình của cổng - nó đang chạy một bản phân phối debian xuống, vì vậy, bất kỳ công cụ nào khác sẽ thực hiện công việc - DHCP, DNS, ARP, v.v., tôi sẵn sàng đề xuất!


Infoblox có một máy chủ DHCP sẽ thực hiện lấy dấu hệ điều hành.
some_guy_long_gone

Câu trả lời:


15

Một số công việc đã được thực hiện để xác định sự khác biệt tinh tế trong các gói DHCP từ các HĐH khác nhau, dẫn đến dấu vân tay DHCP. Ví dụ bao gồm các tùy chọn có trong yêu cầu DHCP và thứ tự của chúng và nội dung của các tùy chọn nhất định như tùy chọn 55 (danh sách tham số).

Có một cái nhìn vào các giấy tờ và chữ ký tại fingerbank.org . Điều này cho thấy (chưa tự mình kiểm tra) việc lấy dấu hệ điều hành thụ động dựa trên lưu lượng DHCP có thể được thực hiện. Kết quả có thể có thể được cải thiện bằng cách bao gồm các thông tin khác, như các thuộc tính IP chung (TTL, diffserv, ...).

Dấu vân tay hoạt động có thể cung cấp kết quả tốt hơn, nhưng có thể không phải là một tùy chọn trong trường hợp sử dụng của bạn.

Trang web Fingerbank đề cập đến một vài sản phẩm nguồn mở sử dụng chữ ký. Thiết bị DHCP độc quyền Infoblox dường như bao gồm một tính năng tương tự, nhưng không có chi tiết kỹ thuật nào được cung cấp.


3

Một số máy khách DHCP không tiết lộ thông tin hệ điều hành khi khởi động. Như đã đề cập ở trên, có một số tài sản trí tuệ liên quan đến các kỹ thuật này; ví dụ, Infoblox và Cisco ISE có thể xây dựng các cấu hình HĐH máy khách dựa trên các gói dhcp mà chúng thấy. Trên thực tế, Cisco ISE bao gồm một số thuật toán phân loại hệ điều hành khá tinh vi, nếu bạn có thể gửi nhiều hơn dhcp cho nó.

Ngoài ra, bạn có thể sử dụng một heuristic như lỗi endian của Windows trong trường "giây trôi qua", nhưng dựa vào lỗi hệ điều hành là một cách kém để xử lý phát hiện hệ điều hành.

Nếu bạn thực sự phải phát hiện HĐH mà không có thiết bị của nhà cung cấp chuyên dụng, chỉ cần phát hành địa chỉ IP và quét máy chủ bằng NMAP sau khi gửi DHCP Ack. Sử dụng các tiêu đề HTTP không đáng tin cậy như nmap , bởi vì bất kỳ ai cũng có thể thay đổi chuỗi UserAgent nếu họ muốn. nmap không đáng tin cậy 100% khi phát hiện HĐH, nhưng nó sẽ tốt như bạn sẽ thấy nếu bạn phải chọn một phương thức duy nhất cho mọi thứ.

Tôi sẽ đặt tùy chọn này thành cấu hình trên máy chủ vì một số người có thể không thích quét nmap mặc định trên mọi máy chủ DHCP.

Ví dụ quét hệ điều hành nmap với 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 ~]$

Cảm ơn bạn đã chỉ ra khả năng lấy dấu vân tay của nmap ... Nó gọn gàng và hoạt động khoảng 50% thời gian (có 5 trên 10 máy tính trên mạng của tôi chính xác), nhưng quá trình quét của nó mất từ ​​25 giây đến 102 giây cho mỗi thiết bị. Điều này đã làm, tuy nhiên dẫn giúp tôi hiểu nhiều về dấu vân tay hệ điều hành và đặc biệt. lựa chọn thụ động mà dường như là đặt cược tốt nhất của tôi.
Michael Lang

@MichaelLang Để giảm bớt thời gian cần thiết, hãy chạy nmap với -T5cờ để tăng tốc mọi thứ một cách quyết liệt .
Ryan Foley

2

Là một phần của quy trình DHCP, tôi không tin như vậy. Tuy nhiên, bạn có thể cạo các bản ghi dhcpd của mình, xem các acc dhcp và dựa trên các thực thi quy trình bên ngoài như nmap os vân tay để xem liệu bạn có thể tìm ra những gì đằng sau IP vừa được gán.


2

Câu trả lời chính xác ngắn nhất là không. Bạn đã có câu trả lời hữu ích nmap, nhưng nếu phải qua DHCP, nhiều khách hàng sẽ gửi số nhận dạng lớp nhà cung cấp của họ (tùy chọn DHCP 60) trong gói khám phá của họ để máy chủ DHCP có thể cung cấp tùy chọn cụ thể của nhà cung cấp (tùy chọn DHCP 43). Nếu bạn chạy tcpdump, hãy xem DHCP khám phá các gói được gửi bởi khách hàng cho tùy chọn 60, bạn có thể thấy những thứ như MSFT 5.0cho máy khách Windows, udhcpcthông thường đối với các thiết bị nhúng chạy micro dhcp client, v.v. Hãy nhớ rằng thông tin này không cụ thể vì nó được sử dụng để phân biệt máy khách DHCP thay vì hệ điều hành.


1
Ngoài ra, một cách hữu ích khác để ít nhất thu hẹp những gì một thiết bị có thể có trên mạng bằng cách tra cứu OUI của họ dựa trên địa chỉ MAC của họ tại trang web của IEEE.
Michael Lang
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.