网络协议与攻击模拟_08DHCP协议

news2024/9/28 1:22:42

技术学习要了解某项技术能干什么?它的详细内容?发展走向?

一、DHCP协议

1、DHCP基本概念

dhcp动态主机配置协议,广泛应用于局域网内部 

主要是为客户机提供TCP/IP 参数(IP地址、子网掩码、网关、DNS等)

2、DHCP的优点

  • 减少管理员的工作量
  • 避免输入错误
  • 避免IP冲突
  • 提高IP地址的利用

二、DHCP工作原理

dhcp是应用层的协议,是基于传输层的UDP协议的,主机是向服务器的67号端口发送请求,服务器响应的是客户机的68号端口。

1、释放Vmnet1 IP

查看本地电脑的网卡,选取VMnet1进行实验,打开winshark抓Vmnet1网络卡的数据流量

Vmnet1网卡这里是有IP地址的,释放IP并重新获取

ipconfig /release "VMware Network Adapter VMnet1"
ipconfig /renew "VMware Network Adapter VMnet1"

在winshark抓包中搜DHCP的报文

首先我用ipconfig /release命令将VMnet1的IP地址释放掉了 所以这里source是0.0.0.0,从源MAC地址可以看出是客户即的MAC地址,然后客户机发的是广播的DHCP Discover报文,目标是255.255.255.255。

2、DHCP交互过程

(1)DHCP Discover

网络中所有的dhcp服务器都会收到,都会响应,客户机会向收到的第一个dhcp服务器发送dhcp offer。

discover里面其实没有任何内容,只有一个client MAC地址,option这里因为之前有启用dhcp所以options这里会有之前的Ip信息。

(2)DHCP Offer

会响应your client ip、next server ip、client mac address等

your client ip响应的是服务器可以给客户机提供的IP地址,假设这个IP地址已经被别人用了,这里DHCP Server就会提供下一个即192.168.40.2.

(3)DHCP Request

option字段这里request IP address

(4)DHCP ACK

server直接给客户机IP这里your client ip address 字段

3、为什么都是广播方式发送的呢?

  • 第一个报文广播因为CLIENT不知道网络中有没有DHCP服务器
  • 第二个报文广播因为CLIENT还没有IP地址,但是在EthernetII层已经不是广播了,根据教程三层的IP地址这里应该是广播的即目标IP地址应该是255.255.255.255.但是我实际抓到的数据包却不是这样的(挠头) 

  •  第三个报文广播网络中有多台服务器,而且有一台服务器离得我特别近,客户机的多向选择问题,在这个报文里面客户机会携带一些内容,它只会标识,还没有IP地址。

  • 第四个报文广播server在响应的时候,EthernetII层不再是广播了,在三层的IP地址还是广播,只有在这个DHCP ACK 报文结束后客户机才有IP。

三、DHCP租约

1、查询租约

12点51到期,12点36就发送了续约的DHCP REQUEST请求。 

DHCP获取IP地址是有租期的,每隔5分钟会重新向SERVER发了一个DHCP Request报文,当租期到达百分之50的时候就重新获取租期了。

2、租期30分钟

DHCP租期30分钟,租期过半时重新续租

可以看到SERVER 的ACK确认是13:51

 ipconfig /all查看租约过期时间是14:21,可以验证dhcp的租期是30分钟。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1408078.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

STL第四讲

第四讲 万用Hash Function 左侧的是设计为类并重载调用运算符,右侧是一般函数的形势; 但是右侧形势在创建容器时更麻烦; 具体例子: 第三种形势:struct hash 偏特化形式 tuple 自C03引入; 关于源码解读的…

Linux服务器系统修改SSH端口教程

修改端口号是通过修改SSH的配置文件实现的,在服务器终端先激活root用户,然后输入: vim /etc/ssh/sshd_config找到#Port 22这个位置 键盘按i进入编辑模式 删除掉Port 22前面的#,然后键盘按一下回车键(如果没有#可不必…

软件产品为什么要测试才能上线?测试可以发现所有bug吗?

在现如今信息时代,软件产品已经成为人们生活中不可或缺的一部分。无论是在工作中还是在娱乐休闲时,我们都需要依赖各种软件来完成各种任务。然而,你是否注意到了身边的软件产品都是经过严格的测试才能上线的呢?那么为什么软件产品必须要经过…

JS之歌词滚动案例

让我为大家带来一个歌词滚动的案例吧&#xff01; 详细的介绍都在代码块中 我很希望大家可以自己动手尝试一下&#xff0c;如果需要晴天的mp3音频文件可以私信我 上代码&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset&quo…

【开源】基于JAVA语言的图书管理系统

目录 一、 系统介绍二、 功能模块2.1 登录注册模块2.1 图书馆模块2.2 图书类型模块2.3 图书模块2.4 图书借阅模块2.5 公告模块 三、 源码解析3.1 图书馆模块设计3.2 图书类型模块设计3.3 图书模块设计3.4 图书借阅模块设计3.5 公告模块设计 四、 免责说明 一、 系统介绍 图书管…

和硕拿下AI Pin代工大单公司 | 百能云芯

和硕公司近日成功中标AI Pin代工大单&#xff0c;AI Pin被认为是继iPhone之后的下一个划时代产品&#xff0c;吸引了全球科技圈的广泛关注。和硕公司对此表示&#xff0c;他们不会只专注于单一客户&#xff0c;而是期望在下半年有更多新品上市&#xff0c;为公司带来丰硕的业绩…

《Linux高性能服务器编程》笔记06

Linux高性能服务器编程 本文是读书笔记&#xff0c;如有侵权&#xff0c;请联系删除。 参考 Linux高性能服务器编程源码: https://github.com/raichen/LinuxServerCodes 豆瓣: Linux高性能服务器编程 文章目录 Linux高性能服务器编程第13章 多进程编程13.1 fork 系统调用13…

空调设计软件工程师考虑点

空调设计软件工程师考虑点 看如的下边有输入压力P&#xff0c;单位不同&#xff0c;MPG是相对压力&#xff0c;Kpa是绝对压力。绝对压力比相对压力大一个大气压&#xff0c;即100kpa。 海立压缩机直接给转速值就行。CAN数据格式&#xff0c;Motoral高位在前&#xff0c;Intel高…

函数栈帧的创建与销毁【此一篇,足以让卿彻底扫盲】

一、函数栈帧要解决的问题 刚接触编程语言的的我们&#xff0c;想必都会存在这些问题&#xff1a; Ⅰ 局部变量不初始化&#xff0c;为什么是随机值&#xff1b; Ⅱ 形参与实参的关系&#xff1b; Ⅲ 函数是如何被调用&#xff0c;以及开辟相对应的空间的&#xff1b; Ⅳ…

MySQL数据库的锁机制

目录 一、引言 二、锁的类型及作用 2.1 行级锁 2.2 间隙锁与临键锁 2.3 共享锁与排他锁 2.4 意向锁 2.5 表级锁 2.6 元数据锁 三、锁的管理与优化 3.1 合理设置事务隔离级别 3.2 避免长事务 3.3 索引优化 3.4 明确锁定范围 3.5 避免不必要的全表扫描 四、实战分…

SpringBoot+beetl idea热更新解决方案

SpringBootbeetl idea热更新解决方案 第一在application中开启&#xff1a; beetl:resource-auto-check: true #热加载beetl模板&#xff0c;开发时候用第二在application中开启&#xff1a; devtools: 这个部分专门用于配置Spring Boot DevTools的相关参数。DevTools…

基于springboot+vue的“衣依”服装销售平台系统(前后端分离)

博主主页&#xff1a;猫头鹰源码 博主简介&#xff1a;Java领域优质创作者、CSDN博客专家、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战 主要内容&#xff1a;毕业设计(Javaweb项目|小程序等)、简历模板、学习资料、面试题库、技术咨询 文末联系获取 研究背景…

【latex】在Overleaf的IEEE会议模板中,快速插入参考文献

【LaTeX】在Overleaf的IEEE会议模板中&#xff0c;快速插入参考文献 写在最前面第一步&#xff1a;在文献检索网站导出引用文献的bib文件第二步&#xff1a;编辑overleaf模版方法二&#xff1a;EduBirdie生成参考文献&#xff08;补充&#xff09;使用LaTeX在Overleaf的IEEE会议…

Spring 声明式事务 @Transactional(详解)【面试重点,小林出品】

关于 Transactional 注解的基本使用&#xff0c;推荐看Spring 声明式事务 Transactional&#xff08;基本使用&#xff09; 概述 本篇博客主要学习 Transactional 注解当中的三个常⻅属性: 1. rollbackFor:异常回滚属性.指定能够触发事务回滚的异常类型.可以指定多个异常类型 …

Goby 漏洞发布|GoAnywhere MFT InitialAccountSetup.xhtml 绕过漏洞(CVE-2024-0204)

漏洞名称&#xff1a;GoAnywhere MFT InitialAccountSetup.xhtml 绕过漏洞&#xff08;CVE-2024-0204&#xff09; English Name&#xff1a;GoAnywhere MFT InitialAccountSetup.xhtml Bypass Vulnerability (CVE-2024-0204) CVSS core: 9.8 影响资产数&#xff1a; 4468 …

微信小程序如何获取当前日期时间

Hello大家好&#xff01;我是咕噜铁蛋&#xff0c;获取当前日期时间是小程序中经常会用到的一个功能。因此&#xff0c;在本文中&#xff0c;我通过科技手段给大家收集整理了下&#xff0c;今天我将向大家介绍如何在微信小程序中获取当前日期时间的方法&#xff0c;并分享一些实…

【项目搭建三】SpringBoot引入redis

添加依赖 本文使用spring data redis访问和操作redis&#xff0c;pom文件中加入以下依赖&#xff1a; <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </depende…

java开发——《并发编程》

目录 一.jmm 二.并发了什么 1.只有一个核&#xff08;单核&#xff09;并发还有没有意义 2.单核&#xff0c;还有什么可见性问题 3.并发和并行 三.volitaile 1.变量的可见性问题 2.原因是什么 3.本次修改的变量直接刷到主内存 4.声明其他内存对于这个地址的缓存无效 …

Linux:gcc的相关知识

目录 gcc的翻译&#xff08;编译&#xff09;过程&#xff1a; 预处理&#xff1a; 条件编译&#xff1a; 编译&#xff1a; 汇编&链接&#xff1a; 什么是链接&#xff1f; 安装静态库&#xff1a; 静态库的使用&#xff1a; 动态静态的对比&#xff1a; 优缺对比…