Some options are used by the client to provide the server with enough information to answer more specifically. For example, an IP phone may need some additional information about the registration server, or a graphical passive terminal may require the location of the font server.
Two main options are used in this case: the vendor class identifier (option 60) and the client identifier (option 61). Client identifier is unique and helps the DHCP server to manage its clients and leases, it is generally set to the MAC address of the network interface on a local network. The vendor class identifier is more interesting, as it identifies the vendor type and configuration of a DHCP client in a simple character string. The format is open and can be interpreted by the server in order to adjust the answer options and content.
By analyzing client identifier, class identifier and asked option list in the first phase of the DHCP request helps profiling the client and provide him with appropriate answer.
Example
On a laptop running Windows 10, the options pushed in the initial DHCP Discover frame can look like:
option 61: Client Identifier = 00:e0:4c:36:0a:ac
option 12: The laptop name
option 60: Vendor Class Identifier, here set to MSFT 5.0 (for Microsoft Windows 10)
option 55: Parameter Request List set to:
1: Subnet Mask
3: Router
6: Domain Name Server
15: Domain Name
31: Perform Router Discovery
33: Static Route
43: Vendor Specific Information
44: NetBIOS over TCP/IP Name Server
46: NetBIOS over TCP/IP Node Type
47: NetBIOS over TCP/IP Scope
119: Domain Search
121: Classless Static Route
249: Private/Classless Static Route Microsoft
252: Private/Proxy autodiscovery
For information, this specific Parameter Request List is identified as “Operating System/Windows OS/Microsoft Windows Kernel 10.0” by the Fingerbank API.
references:
https://www.efficientip.com/glossary/dhcp-option/
No comments:
Post a Comment