HCIA-DHCP
1、定义:DHCP即动态主机配置协议,通过C/S模型架构,无需主机配置IP地址,自动分配网络配置参数的网络协议。
2、作用
对比项目 | 无 DHCP | 有 DHCP |
---|---|---|
配置难度 | 配置多,容易出错 | 自动为客户端分配 IP 地址及其他网络配置参数(如子网掩码、默认网关、DNS 服务器地址等),简化网络配置 |
工作量 | 需要提前规划地址网段,手动逐台配置设备网络参数,工作量大 | 集中管理网络配置信息,减轻管理员工作量,提升工作效率 |
对工作地点不稳定设备的支持 | 工作地点不稳定时,需要多次配置 IP 地址 | 对于移动设备,在不同网络间切换时,可自动分配新网络配置参数,无需手动操作 |
IP 地址利用率 | 地址利用率过低 | 动态分配 IP 地址,设备离线时收回其占用地址,可再分配给其他设备,避免地址浪费,提高地址资源利用率 |
3、相关概念
①DHCP服务器:运行DHCP服务的网络设备,负责管理地址池,地客户端分配网络配置参数。
②DHCP客户端:使用DHCP服务获取网络配置参数的设备,如手机、电脑等。
③IP地址池:DHCP服务器中可分配IP的地址范围,用于给客户端分配地址。
④租期:DHCP服务器分配的IP地址使用期限。
4、工作模式
①自动分配:DHCP服务器给客户端配置固定的IP,客户端每次获取地址都是该地址。
②动态分配:客户端从服务器中获取临时IP,租期内正常使用,到期后服务器收回重新分配。
③手工分配:需要管理员手动在服务器上为客户端指定一个固定IP。
5、工作原理
①发现阶段:客户端广播发送 DHCP Discover 报文找 DHCP 服务器,报文含客户端硬件地址。
②提供阶段:DHCP 服务器收到 Discover 报文,从地址池选择未分配 IP地址,通过 DHCP Offer 报文给客户端,包含子网掩码、租约期限等。
③请求阶段:客户端可能收到多个DHCP Offer 报文,通常选择第一个报文,且广播发 DHCP Request 报文,向对应服务器请求使用分配到 IP 、掩码等配置,根据报文中服务器 IP 可以表明是哪个服务器分配的配置。
④确认阶段:DHCP 服务器收到 Request 报文,检查 IP 是否可用。若可用发送DHCP Ack 报文确认,客户端获取网络配置信息进行通信;若IP不可用,发送DHCP Nak 报文告知失败,客户端需重发请求 。
6、DHCP中继
①作用:在网络中有多个子网时,当服务器与客户端不在同一个网段时,需要通过 DHCP 中继代理来转发 DHCP 报文,使客户端能够获取到地址
②工作原理:中继设备收到客户端的 DHCP Discover 报文,修改跳数、网关 IP 等字段后,转发给 DHCP 服务器所在子网。服务器处理报文后,把响应发给中继设备,中继代理再转给客户端。
7、DHCP安全问题
攻击类型 | 原理 | 危害 |
---|---|---|
DHCP 欺骗攻击 | 攻击者部署假 DHCP 服务器,抢在真服务器前响应客户端请求,分配错误网络配置参数 | 客户端连错网络,无法访问合法资源,还可能遭中间人攻击致信息被盗 |
IP 地址耗尽攻击 | 攻击者用工具向 DHCP 服务器发大量请求,耗尽 IP 地址资源 | 合法客户端无法获 IP,不能接入网络,网络服务中断 |
IP 地址冲突攻击 | 攻击者设与合法设备相同 IP 或让 DHCP 服务器分配重复 IP | 网络出现 IP 冲突,设备网络连接异常,通信受影响 |
信息泄露风险 | DHCP 交互时客户端发的含 MAC 地址等信息的报文,可能因网络漏洞被窃 | 攻击者收集信息进行网络拓扑发现、用户行为分析,实施针对性攻击 |
恶意 DHCP 选项注入 | 攻击者在 DHCP 报文中注入如错误路由、非法 DNS 地址等恶意选项字段 | 客户端按恶意选项配置后,网络访问异常,可能遭钓鱼攻击 |
防范措施
①网络设备安全配置
- 启用 DHCP Snooping:在交换机等设备启用,建信任列表,只许合法服务器报文通过,防非法服务器接入。
- 端口安全设置:配置网络端口,限制连接数、绑定 MAC 地址,防攻击者耗尽端口资源与 MAC 地址欺骗。
②DHCP 服务器安全配置
- 地址池管理:按网络规模需求合理规划地址池,留备用地址,定期检查清理,保证分配合理有效。
- 认证与授权:用用户名、密码或数字证书等认证客户端,通过后才能获取配置参数。
③网络监测与审计
- 部署网络监测工具:用网络流量分析、入侵检测系统等,实时监测 DHCP 流量和异常,及时告警安全威胁。
- 日志审计:详记审计 DHCP 服务器和网络设备日志,追溯安全事件,发现潜在问题和攻击。
相关文章:
HCIA-DHCP
1、定义:DHCP即动态主机配置协议,通过C/S模型架构,无需主机配置IP地址,自动分配网络配置参数的网络协议。 2、作用 对比项目无 DHCP有 DHCP配置难度配置多,容易出错自动为客户端分配 IP 地址及其他网络配置参数&…...

wxWidgets GUI 跨平台 入门学习笔记
准备 参考 https://wiki.wxwidgets.org/Microsoft_Visual_C_NuGethttps://wiki.wxwidgets.org/Tools#Rapid_Application_Development_.2F_GUI_Buildershttps://docs.wxwidgets.org/3.2/https://docs.wxwidgets.org/latest/overview_helloworld.htmlhttps://wizardforcel.gitb…...

OmniParser技术分析(一)
1.引言 通过上篇文章介绍 OmniParser:下一代纯视觉UI自动化测试先驱相信大家已经对OmniParser有初步了解,接下来详细介绍下OmniParser使用了哪些技术模型实现了对UI纯视觉的检测和理解。 2.整体方案 通过阅读OmniParser提供的运行Demo代码知道,其实整…...
什么是hive
Apache Hive 是一个基于 Hadoop 生态系统构建的数据仓库工具,主要用于处理和分析大规模的结构化数据。它允许用户通过类似 SQL 的查询语言(HiveQL)进行数据操作,而无需直接编写复杂的 MapReduce 程序。以下是 Hive 的核心特点和应…...

PyTorch系列教程:Tensor.view() 方法详解
这篇简明扼要的文章是关于PyTorch中的tensor.view()方法的介绍与应用,与reshape()方法的区别,同时给出示例进行详细解释。 Tensor基础 Tensor(张量)的视图是一个新的Tensor,它与原始Tensor共享相同的底层数据,但具有不同的形状或…...

从零开始了解Manus(文末附教程)
大家好,我是樱木。 《从零开始了解Manus》,这个教程对于想了解 Manus的同学,全部都在里面了! Manus 是一款能像真人一样帮你干活的AI助手,运行在云端,不占电脑内存。 它可以自动完成复杂任务,…...

不同开发语言之for循环的用法、区别总结
一、Objective-C (1)标准的c风格 for (int i 0; i < 5; i) {NSLog("i %d", i); } (2)for in循环。 NSArray *array ["apple", "banana", "orange"]; for (NSString *fruit in …...

CentOS 7 aarch64上制作kernel rpm二进制包 —— 筑梦之路
环境说明 centos 7 aarch64 gcc 8.3.1 kernel 5.4.290 准备编译制作 # 安装必要的工具和包yum install rpm-devel rpmdevtools yum groupinstall "Development Tools"yum install ncurses-devel bc elfutils-libelf-devel openssl-devel # 安装gcc 8.3.1# 修改…...

Cursor 使用经验,一个需求开发全流程
软件开发中 Cursor 的使用经验成为关注焦点,尤其是处理大型数据集的需求。用户提到“Cursor 使用经验,一个需求开发全流程”,但“Cursor”可能指数据库游标,涉及逐行处理数据。本文将详细探讨开发一个需求的完整流程,包…...

2025-03-08 学习记录--C/C++-PTA 习题9-2 计算两个复数之积
合抱之木,生于毫末;九层之台,起于累土;千里之行,始于足下。💪🏻 一、题目描述 ⭐️ 二、代码(C语言)⭐️ #include <stdio.h>struct complex{int real;int imag; …...

DeepSeek-R1本地化部署(Mac)
一、下载 Ollama 本地化部署需要用到 Ollama,它能支持很多大模型。官方网站:https://ollama.com/ 点击 Download 即可,支持macOS,Linux 和 Windows;我下载的是 mac 版本,要求macOS 11 Big Sur or later,Ol…...

【时时三省】(C语言基础)赋值语句
山不在高,有仙则名。水不在深,有龙则灵。 ----CSDN 时时三省 赋值语句 在C程序中,最常用的语句是:赋值语句和输入输出语句。其中最基本的是赋值语句程序中的计算功能大部分是由赋值语句实现的,几乎每一个有实用价值的程序都包括赋值语句。有的程序中的大部分语句都是赋值…...

如何提取图片文字
如何分析图片风格: 分析下图片是什么风格,用即梦AI的提示语描述。我要使用描述语去即梦生成同样的图...

3.3.2 用仿真图实现点灯效果
文章目录 文章介绍Keil生成.hex代码Proteus仿真图中导入.hex代码文件开始仿真 文章介绍 点灯之前需要准备好仿真图keil代码 仿真图参考前文:3.3.2 Proteus第一个仿真图 keil安装参考前文:3.1.2 Keil4安装教程 keil新建第一个项目参考前文:3.1…...

BGP 基本配置实验
实验拓扑 实验需求 按照图示配置 IP 地址,R1 和 R5 上使用环回口模拟业务网段,R2,R3,R4 的环回口用于配置 Router-id 和建立 IBGP 邻居AS 200 运行 OSPF 实现内部网络互通R1,R2,R4,R5 运行 BGP…...

关于 QPalette设置按钮背景未显示出来 的解决方法
若该文为原创文章,转载请注明原文出处 本文章博客地址:https://hpzwl.blog.csdn.net/article/details/146047054 长沙红胖子Qt(长沙创微智科)博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、OpenCV…...

## DeepSeek写水果记忆配对手机小游戏
DeepSeek写水果记忆配对手机小游戏 提问 根据提的要求,让DeepSeek整理的需求,进行提问,内容如下: 请生成一个包含以下功能的可运行移动端水果记忆配对小游戏H5文件: 要求 可以重新开始游戏 可以暂停游戏 卡片里的水果…...

P8662 [蓝桥杯 2018 省 AB] 全球变暖--DFS
P8662 [蓝桥杯 2018 省 AB] 全球变暖--dfs 题目 解析讲下DFS代码 题目 解析 这道题的思路就是遍历所有岛屿,判断每一块陆地是否会沉没。对于这种图的遍历,我们首先应该想到DFS。 代码的注意思想就是,在主函数中遍历找出所有岛屿,…...
opentitan riscv
OpenTitan是一个开源的硅根信任(Root of Trust, RoT)项目,旨在使硅RoT的设计和实现更加透明、可信和安全,适用于企业、平台提供商和芯片制造商。该项目由lowRISC CIC管理,作为一个协作项目,旨在生产高质量…...

数据结构篇——串(String)
一、引入 在计算机中的处理的数据内容大致可分为以整形、浮点型等的数值处理和字符、字符串等的非数值处理。 今天我们主要学习的就是字符串数据。本章主要围绕“串的定义、串的类型、串的结构及其运算”来进行串介绍与学习。 二、串的定义 2.1、串的基本定义 串(s…...
React Native 导航系统实战(React Navigation)
导航系统实战(React Navigation) React Navigation 是 React Native 应用中最常用的导航库之一,它提供了多种导航模式,如堆栈导航(Stack Navigator)、标签导航(Tab Navigator)和抽屉…...
React Native 开发环境搭建(全平台详解)
React Native 开发环境搭建(全平台详解) 在开始使用 React Native 开发移动应用之前,正确设置开发环境是至关重要的一步。本文将为你提供一份全面的指南,涵盖 macOS 和 Windows 平台的配置步骤,如何在 Android 和 iOS…...
Spring Boot 实现流式响应(兼容 2.7.x)
在实际开发中,我们可能会遇到一些流式数据处理的场景,比如接收来自上游接口的 Server-Sent Events(SSE) 或 流式 JSON 内容,并将其原样中转给前端页面或客户端。这种情况下,传统的 RestTemplate 缓存机制会…...

Python:操作 Excel 折叠
💖亲爱的技术爱好者们,热烈欢迎来到 Kant2048 的博客!我是 Thomas Kant,很开心能在CSDN上与你们相遇~💖 本博客的精华专栏: 【自动化测试】 【测试经验】 【人工智能】 【Python】 Python 操作 Excel 系列 读取单元格数据按行写入设置行高和列宽自动调整行高和列宽水平…...

聊聊 Pulsar:Producer 源码解析
一、前言 Apache Pulsar 是一个企业级的开源分布式消息传递平台,以其高性能、可扩展性和存储计算分离架构在消息队列和流处理领域独树一帜。在 Pulsar 的核心架构中,Producer(生产者) 是连接客户端应用与消息队列的第一步。生产者…...
稳定币的深度剖析与展望
一、引言 在当今数字化浪潮席卷全球的时代,加密货币作为一种新兴的金融现象,正以前所未有的速度改变着我们对传统货币和金融体系的认知。然而,加密货币市场的高度波动性却成为了其广泛应用和普及的一大障碍。在这样的背景下,稳定…...

Qemu arm操作系统开发环境
使用qemu虚拟arm硬件比较合适。 步骤如下: 安装qemu apt install qemu-system安装aarch64-none-elf-gcc 需要手动下载,下载地址:https://developer.arm.com/-/media/Files/downloads/gnu/13.2.rel1/binrel/arm-gnu-toolchain-13.2.rel1-x…...

MySQL:分区的基本使用
目录 一、什么是分区二、有什么作用三、分类四、创建分区五、删除分区 一、什么是分区 MySQL 分区(Partitioning)是一种将单张表的数据逻辑上拆分成多个物理部分的技术。这些物理部分(分区)可以独立存储、管理和优化,…...

实战设计模式之模板方法模式
概述 模板方法模式定义了一个操作中的算法骨架,并将某些步骤延迟到子类中实现。模板方法使得子类可以在不改变算法结构的前提下,重新定义算法中的某些步骤。简单来说,就是在一个方法中定义了要执行的步骤顺序或算法框架,但允许子类…...

AxureRP-Pro-Beta-Setup_114413.exe (6.0.0.2887)
Name:3ddown Serial:FiCGEezgdGoYILo8U/2MFyCWj0jZoJc/sziRRj2/ENvtEq7w1RH97k5MWctqVHA 注册用户名:Axure 序列号:8t3Yk/zu4cX601/seX6wBZgYRVj/lkC2PICCdO4sFKCCLx8mcCnccoylVb40lP...