当前位置: 首页 > news >正文

DHCP Host Name

文章目录

    • 前言
    • DHCP Option
    • 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。

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 中

# 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

相关文章:

DHCP Host Name

文章目录 前言DHCP OptionOption (12) Host Namednsmasq 前言 打开路由器页面,看到下面连接的设备,有的显示设备名称 Tmall-Genie、ESP-C37CE8,而有的直接显示 MAC 地址 D2:B0:XX:XX:XX:XX。 这个名称是哪里来的呢? 这就是我们今…...

uniapp到底用什么ui框架最合适-关于uni-app的ui库、ui框架、ui组件

文章目录 直接看答案关于uni-app的ui库、ui框架、ui组件组件的概念扩展组件的选择uni ui如何使用uni ui 综上,官方对组件的使用建议是:附录:其他全端兼容ui库参考文章: 直接看答案 如果想自己纯手写,直接用内置组件。…...

Flask 最佳实践(二)

Flask是一个轻量级而灵活的Web框架,提供了足够的自由度让开发者根据项目的需求进行定制。然而,为了在大型项目中保持代码的可维护性和可扩展性,建议采用以下一些建议的最佳实践。 在上一篇博客中,讲述了项目结构、蓝图相关的最佳实…...

【MATLAB源码-第93期】基于matlab的白鲸优化算法(BWO)和鲸鱼优化算法(WOA)机器人栅格路径规划对比。

操作环境: MATLAB 2022a 1、算法描述 白鲸优化算法(BWO) 白鲸优化算法是受到白鲸捕食和迁徙行为启发的一种算法。其主要特点和步骤包括: 1. 搜索食物(全局搜索):算法模仿白鲸寻找食物的行为。…...

nodejs微信小程序+python+PHP在线购票系统的设计与实现-计算机毕业设计推荐

目 录 摘 要 I ABSTRACT II 目 录 II 第1章 绪论 1 1.1背景及意义 1 1.2 国内外研究概况 1 1.3 研究的内容 1 第2章 相关技术 3 2.1 nodejs简介 4 2.2 express框架介绍 6 2.4 MySQL数据库 4 第3章 系统分析 5 3.1 需求分析 5 3.2 系统可行性分析 5 3.2.1技术可行性:…...

卷积神经网络训练情感分析

文章目录 1 CNN在自然语言的典型应用2 代码解释3 建议 1 CNN在自然语言的典型应用 卷积的作用在于利用文字的局部特征,一个词的前后几个词必然和这个词本身相关,这组成该词所代表的词群词群进而会对段落文字的意思进行影响,决定这个段落到底…...

github新建项目

参考链接:Github上建立新项目超详细方法过程 在这里新建一个repositories 接下来就选择相关的信息: 然后create a new就行了 接下来需要创建文件:(同时通过upload上传文件) 每次最多上传100个文件,然后保…...

CRC(循环冗余校验)直接计算和查表法

文章目录 CRC概述CRC名词解释宽度 (WIDTH)多项式 (POLY)初始值 (INIT)结果异或值 (XOROUT)输入数据反转(REFIN)输出数据反转(REFOUT) CRC手算过程模二加减&am…...

【算法思考记录】力扣2952. 需要添加的硬币的最小数量【C++,思路挖掘,贪心与证明】

原题链接 文章目录 需要添加的硬币的最小数量:贪心算法实现题目概述示例分析 关键思路分析贪心算法的优化选择证明案例推演与算法实现 C 实现结论 需要添加的硬币的最小数量:贪心算法实现 题目概述 在这个困难难度的算法题中,我们要解决的…...

用友NC JiuQiClientReqDispatch反序列化RCE漏洞复现

0x01 产品简介 用友NC是一款企业级ERP软件。作为一种信息化管理工具,用友NC提供了一系列业务管理模块,包括财务会计、采购管理、销售管理、物料管理、生产计划和人力资源管理等,帮助企业实现数字化转型和高效管理。 0x02 漏洞概述 用友 NC JiuQiClientReqDispatch 接口存在…...

Linux:docker镜像的创建(5)

1.基于已有镜像创建 步骤: 1.将原始镜像加入容器并运行 2.在原始镜像中部署各种服务 3.退出容器 4.使用下面命令将容器生成新的镜像 现在我们在这个容器里做了一些配置,我们要把他做成自己镜像 docker commit -m "centos7_123" -a "tarr…...

数据结构与算法-D2D3线性表之顺序表

线性表:包含若干数据元素的一个线性序列,特征如下: 1)对非空表,a0是表头,无前驱; 2)an-1是表尾,无后继; 3)其他元素仅且仅有一个前驱,…...

01_W5500简介

目录 W5500简介: 芯片特点: 全硬件TCPIP协议栈: 引脚分布: W5500简介: W5500是一款高性价比的以太网芯片,其全球独一无二的全硬件TCPIP协议栈专利技术,解决了嵌入式以太网的接入问题,简单易用&#xff…...

异常 Exception 练习题 (未完成)

异常 Exception 练习题 try-catch异常处理1234 异常1(没有自己写)234 try-catch异常处理 1 class Exception01 {public static int method() {try {String[] names new String[3];//String[]数组if (names[1].equals("tom")) {//NullPointe…...

Linux系统编程:并发与信号总结

并发 并发是指两个或多个同时独立进行的活动。在计算机系统中,并发指的是同一个系统中多个独立活动同时进行,而非依次进行。 并发在计算机系统中的表现: 一个时间段中有几个程序都处于已启动运行到运行完毕之间,且这几个程序都是…...

Jmeter 接口-加密信息发送(一百九十九)

方式1:使用函数助手 比如MD5加密方式: 如图,需要对${user}进行MD5加密 1、打开函数助手,找到MD5,输入需要加密的值 2、将${__MD5(${user},)}放到请求中 3、查看请求,请求成功 方式2:导入jar包…...

微信小程序nodejs+vue+uniapp视力保养眼镜店连锁预约系统

作为一个视力保养连锁预约的网络系统,数据流量是非常大的,所以系统的设计必须满足使用方便,操作灵活的要求。所以在设计视力保养连锁预约系统应达到以下目标: (1)界面要美观友好,检索要快捷简易…...

掌握Vue侦听器(watch)的应用

文章目录 🍁watch 的优缺点🍂Watch 优点🍂Watch 缺点 🍁watch 的用法🍂对象式 watch🍂函数式 watch 🍁代码示例🍂监听基本数据类型🍂监听复杂数据类型(Object…...

SAP-PP:PP顾问管理系统的相关建议

本博客将探讨生产计划领域的控制要点。这将有助于减少仓库库存不准确情况,因为库存不准确会导致实物库存、发货、成本核算和计划方面出现许多效率低下的问题。 在物料主数据关键字段中,必须配置计划交货时间、GR处理时间、内部生产时间、计划交货时间&a…...

Unity资源路径与读取

Unity资源路径有: 1、StreamingAssets:只读,一般用于存放应用程序运行时需要加载的资源文件,可以通过Application.streamingAssetsPath来获取。 2、PersistentDataPath:可读写,一般用于存放应用程序运行时…...

Spring Boot 实现流式响应(兼容 2.7.x)

在实际开发中,我们可能会遇到一些流式数据处理的场景,比如接收来自上游接口的 Server-Sent Events(SSE) 或 流式 JSON 内容,并将其原样中转给前端页面或客户端。这种情况下,传统的 RestTemplate 缓存机制会…...

通过Wrangler CLI在worker中创建数据库和表

官方使用文档:Getting started Cloudflare D1 docs 创建数据库 在命令行中执行完成之后,会在本地和远程创建数据库: npx wranglerlatest d1 create prod-d1-tutorial 在cf中就可以看到数据库: 现在,您的Cloudfla…...

Java多线程实现之Callable接口深度解析

Java多线程实现之Callable接口深度解析 一、Callable接口概述1.1 接口定义1.2 与Runnable接口的对比1.3 Future接口与FutureTask类 二、Callable接口的基本使用方法2.1 传统方式实现Callable接口2.2 使用Lambda表达式简化Callable实现2.3 使用FutureTask类执行Callable任务 三、…...

Robots.txt 文件

什么是robots.txt? robots.txt 是一个位于网站根目录下的文本文件(如:https://example.com/robots.txt),它用于指导网络爬虫(如搜索引擎的蜘蛛程序)如何抓取该网站的内容。这个文件遵循 Robots…...

Matlab | matlab常用命令总结

常用命令 一、 基础操作与环境二、 矩阵与数组操作(核心)三、 绘图与可视化四、 编程与控制流五、 符号计算 (Symbolic Math Toolbox)六、 文件与数据 I/O七、 常用函数类别重要提示这是一份 MATLAB 常用命令和功能的总结,涵盖了基础操作、矩阵运算、绘图、编程和文件处理等…...

有限自动机到正规文法转换器v1.0

1 项目简介 这是一个功能强大的有限自动机(Finite Automaton, FA)到正规文法(Regular Grammar)转换器,它配备了一个直观且完整的图形用户界面,使用户能够轻松地进行操作和观察。该程序基于编译原理中的经典…...

论文阅读笔记——Muffin: Testing Deep Learning Libraries via Neural Architecture Fuzzing

Muffin 论文 现有方法 CRADLE 和 LEMON,依赖模型推理阶段输出进行差分测试,但在训练阶段是不可行的,因为训练阶段直到最后才有固定输出,中间过程是不断变化的。API 库覆盖低,因为各个 API 都是在各种具体场景下使用。…...

抽象类和接口(全)

一、抽象类 1.概念:如果⼀个类中没有包含⾜够的信息来描绘⼀个具体的对象,这样的类就是抽象类。 像是没有实际⼯作的⽅法,我们可以把它设计成⼀个抽象⽅法,包含抽象⽅法的类我们称为抽象类。 2.语法 在Java中,⼀个类如果被 abs…...

一些实用的chrome扩展0x01

简介 浏览器扩展程序有助于自动化任务、查找隐藏的漏洞、隐藏自身痕迹。以下列出了一些必备扩展程序,无论是测试应用程序、搜寻漏洞还是收集情报,它们都能提升工作流程。 FoxyProxy 代理管理工具,此扩展简化了使用代理(如 Burp…...

网页端 js 读取发票里的二维码信息(图片和PDF格式)

起因 为了实现在报销流程中,发票不能重用的限制,发票上传后,希望能读出发票号,并记录发票号已用,下次不再可用于报销。 基于上面的需求,研究了OCR 的方式和读PDF的方式,实际是可行的&#xff…...