DHCP Host Name

文章目录

    • 前言
    • [DHCP Option](#DHCP Option)
    • [Option (12) Host Name](#Option (12) Host Name)
    • dnsmasq

前言

打开路由器页面,看到下面连接的设备,有的显示设备名称 Tmall-Genie、ESP-C37CE8,而有的直接显示 MAC 地址 D2:B0:XX:XX:XX:XX。

这个名称是哪里来的呢?

这就是我们今天要讨论的 DHCP hostname 字段。

DHCP Option

DHCP 报文由若干字节组成,不同位置的字节数据代表着不同的含义。它大体上由以下两部分组成:

  1. 正文部分
  2. 附加选项部分

正文部分就是一个 DHCP 报文中不可缺少的数据。

附加选项是可选的,即 option。通常会根据实际的场景需求来决定是否添加。option 部分是直接插在 DHCP 报文末尾的,它仍旧属于 DHCP 报文。

option 的作用就是扩展 DHCP 功能。因为 DHCP 协议除了简单的分配地址外,还要实现管理设备的功能,而不同应用场景往往又会催生出不同的需求,为了满足这些客制化的需求,就需要这种可以由用户自定义的 option 选项了。

option 的格式简单,可分为三个组成部分

code 值从 0 ~ 255 都代表了不同的含义,或者说代表了不同的控制类型,每一个类型的详细说明见:https://www.iana.org/assignments/bootp-dhcp-parameters/bootp-dhcp-parameters.xml

Option (12) Host Name

udhcpc 命令使用 -x hostname:xxx 选项,可以在 DHCP Discover 报文中添加 option 12 选项,即 Host Name。

bash 复制代码
root@OpenWrt:/# udhcpc -i br-lan -x hostname:MyRouter_lyj
udhcpc: started, v1.36.1
udhcpc: broadcasting discover
udhcpc: broadcasting select for 192.168.31.31, server 192.168.31.1
udhcpc: lease of 192.168.31.31 obtained from 192.168.31.1, lease time 43200
udhcpc: ip addr add 192.168.31.31/255.255.255.0 broadcast 192.168.31.255 dev br-lan
udhcpc: setting default routers: 192.168.31.1

路由器的 dhcp server 记录该 hostname 字段,并在页面上显示下挂设备的设备名。

dnsmasq

有些路由器使用 dnsmasq 作为 dhcp server,该后台服务进程使用 /etc/dnsmasq.conf 作为配置文件,并将已分配的 IP 记录在 /etc/dnsmasq.leases 中

bash 复制代码
# cat /etc/dnsmasq.leases
105786 4a:78:b9:fd:51:31 192.168.1.4 Mi-10 01:4a:78:b9:fd:51:31 105787 16582 16581 android-dhcp-12
102950 92:ec:ca:c4:8d:57 192.168.1.3 Mi-10 01:92:ec:ca:c4:8d:57 102951 16551 16550 android-dhcp-12
86462 58:f2:fc:20:33:59 192.168.1.2 028bc4cb7a2a9b7892c5a1801bc632d 01:58:f2:fc:20:33:59 86463 63 62 HUAWEI:router:TC30-10:3164:8

从中可以获得 hostname

相关推荐
独行soc4 分钟前
2026年渗透测试面试题总结-17(题目+回答)
android·网络·安全·web安全·渗透测试·安全狮
辣香牛肉面5 分钟前
Wireshark v4.6.2 开源免费网络嗅探抓包工具中文便携版
网络·测试工具·wireshark
全栈工程师修炼指南8 分钟前
Nginx | stream 四层反向代理:SSL、PREREAD 阶段模块指令浅析与实践
运维·网络·网络协议·nginx·ssl
M1582276905523 分钟前
TCP转LORA产品说明及应用案例
网络·网络协议·tcp/ip
旖旎夜光28 分钟前
Linux(13)(中)
linux·网络
来可电子CAN青年42 分钟前
CAN总线远距离传输老断网?Fx灯不闪别慌,这几招让你的通信“稳如泰山”!
网络
独行soc43 分钟前
2026年渗透测试面试题总结-18(题目+回答)
android·网络·安全·web安全·渗透测试·安全狮
云小逸1 小时前
【nmap源码解析】Nmap OS识别核心模块深度解析:osscan2.cc源码剖析(1)
开发语言·网络·学习·nmap
自不量力的A同学1 小时前
Solon AI v3.9 正式发布:全能 Skill 爆发
java·网络·人工智能
island13141 小时前
CANN Catlass 算子模板库深度解析:高性能 GEMM 架构、模板元编程与融合算子的显存管理策略
人工智能·神经网络·架构·智能路由器