详解DHCP工作方法,并用wireshark对DHCP四个数据包抓包分析
国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html
内部邀请码:C8E245J (不写邀请码,没有现金送)
国内私募机构九鼎控股打造,九鼎投资是在全国股份转让系统挂牌的公众公司,股票代码为430719,为“中国PE第一股”,市值超1000亿元。
------------------------------------------------------------------------------------------------------------------------------------------------------------------
原文地址:http://www.ctowhy.com/395.html
DHCP的作用:
在局域网中,用户电脑都需要IP地址才使用网络服务,但是客户并不都会配置IP地址,这时,可以在网络中部署一个DHCP服务器,用来给这些客户主机动态的分配IP。
所有DHCP的客户端,在向DHCP服务器租用到地址后,会在DHCP服务器端留下租用信息,网络管理员可以根据这些分配信息统一管理这些客户。
DHCP的一些概念:
DHCP是一个典型的Client/Server模型的协议,使用UDP传输
- DHCP Server端,使用UDP端口:67
DHCP Server可以在很多设备上部署,如Cisco、H3C、Juniper、Windows、Linux……都可以 - DHCP Client端,使用UDP端口:68
客户端(主机、路由器、交换机、网络打印机、网络摄像头……都可以作为DHCP客户端)
DHCP的基本工作流程
DHCP的客户端如果把网卡的IP地址配置为动态获取IP的方式,就会发送DHCP请求,来寻找DHCP服务器申请地址;b
DHCP的在客户端申请、服务器下发地址的过程中,一共会产生四个数据包,如下:
根据这四个数据包来看,DHCP的工作流程如下图:
DHCP详细工作流程解析
第一步:
DHCP客户端主动发起DHCP Discover包,用来寻找DHCP服务器,其中:
- 源MAC是自己的MAC地址,目的MAC是FFFF.FFFF.FFFF的广播
- 源IP是0.0.0.0(现在还没有IP,就用全0地址),目的IP是255.255.255.255的三层广播
因为DHCP服务器在哪里还不知道,所以使用广播来寻找,广播会泛洪到整个网段中;
第二步:
DHCP服务器收到客户端发的DHCP Discover之后,会在自己的地址池中拿出一个没有分配的地址以及配套的参数(如:掩码、DNS、网关、域名、租期……),然后以一个DHCP Offer包发送出去。
这个DHCP Offer数据包的地址如下:
- 源MAC是DHCP服务器的MAC,目的MAC是FFFF.FFFF.FFFF的广播
- 源IP是DHCP服务器的IP,目的IP是255.255.255.255的广播
这时客户端还没有获得IP,DHCP服务器端现在还无法定位客户端,所以用广播来回应。
第三步:
客户端收到这个DHCP Offer后,会再发出一个DHCP Request给服务器来申请这个Offer中包含的地址。
这个时候,客户端还没有正式拿到地址,所以还需要向DHCP服务器申请。
- 这时客户端的源IP还是0.0.0.0,目的IP还是255.255.255.255
- 源MAC是客户端的MAC,目的MAC是FFFF.FFFF.FFFF广播包
第四步:
服务器收到客户端的请求后,会发出一个DHCP ACK用来确认这个IP地址可以分配给这个客户端。
客户端收到第四个DHCP ACK数据包才算正式拿到了这个IP。
【更多“ICMP协议”相关的内容,点击返回:TCP IP协议文章列表】
详解DHCP工作方法,并用wireshark对DHCP四个数据包抓包分析的更多相关文章
- javaCV开发详解之6:本地音频(话筒设备)和视频(摄像头)抓取、混合并推送(录制)到服务器(本地)
javaCV系列文章: javacv开发详解之1:调用本机摄像头视频 javaCV开发详解之2:推流器实现,推本地摄像头视频到流媒体服务器以及摄像头录制视频功能实现(基于javaCV-FFMPEG.j ...
- Wireshark网络分析实战笔记(一)抓包过滤器
抓包过滤器和显示过滤器的差别: 1.抓包过滤器配置在抓包之前,wireshark仅仅抓取抓包过滤器过滤的数据 2.显示过滤器配置在抓包后,wireshark已经抓取全部的数据包,显示过滤器让wires ...
- 【转】详解使用tcpdump、wireshark对Android应用程序进行抓包并分析
原文网址:http://blog.csdn.net/gebitan505/article/details/19044857 本文主要介绍如何使用tcpdump和wireshark对Android应用程 ...
- 大数据入门第八天——MapReduce详解(三)MR的shuffer、combiner与Yarn集群分析
/mr的combiner /mr的排序 /mr的shuffle /mr与yarn /mr运行模式 /mr实现join /mr全局图 /mr的压缩 今日提纲 一.流量汇总排序的实现 1.需求 对日志数据 ...
- 第6章 传输层(详解TCP的三次握手与四次挥手)
第6章 传输层 传输层简介 传输层为网络应用程序提供了一个接口,并且能够对网络传输提供了可选的错误检测.流量控制和验证功能.TCP/IP传输层包含很多有用的协议,能够提供数据在网络传输所需的必要寻址信 ...
- mysql详解常用命令操作,利用SQL语句创建数据表—增删改查
关系型数据库的核心内容是 关系 即 二维表 MYSQL的启动和连接show variables; [所有的变量] 1服务端启动 查看服务状态 sudo /etc/init.d/mysql status ...
- Asp.Net 中Grid详解两种方法使用LigerUI加载数据库数据填充数据分页
1.关于LigerUI: LigerUI 是基于jQuery 的UI框架,其核心设计目标是快速开发.使用简单.功能强大.轻量级.易扩展.简单而又强大,致力于快速打造Web前端界面解决方案,可以应用于. ...
- 【详解】JNI (Java Native Interface) (四)
案例四:回调实例方法与静态方法 描述:此案例将通过Java调用的C语言代码回调Java方法. 要想调用实例对象的方法,需要进行以下步骤: 1. 通过对象实例,获取到对象类的引用 => GetO ...
- 【TCP/IP详解 卷一:协议】第二十四章 TCP的未来与性能
来到了TCP的最后一个章节,未来与性能.在当时(1991年)的未来,如今已经部分变为现实,部分就只是历史中的实验. 主要内容: 路径MTU的发现与TCP的结合. 长肥管道 和 高速千兆比网络. 窗口扩 ...
随机推荐
- MEF实现设计上的“松耦合”(一)
1.什么是MEF 先来看msdn上面的解释:MEF(Managed Extensibility Framework)是一个用于创建可扩展的轻型应用程序的库. 应用程序开发人员可利用该库发现并使用扩展, ...
- 一键复制功能 - Vue
经常遇到一键复制功能,简单记录一下.这里使用的是clipboard插件:https://clipboardjs.com/ 第一步 安装:npm install clipboard --save 第二步 ...
- Hive(五)数据类型与库表操作以及中文乱码
一.数据类型 1.基本数据类型 Hive 支持关系型数据中大多数基本数据类型 类型 描述 示例 boolean true/false TRUE tinyint 1字节的有符号整数 -128~127 1 ...
- day5模块学习 -- time、datetime时间模块
1.定义 模块:用来从逻辑上组织python(变量,函数,类,逻辑:实现一个功能)代码,本质就是.py结尾的python文件(文件名:test.py,对应的模块名test) 包:用来从逻辑上组织模块的 ...
- JSON解析代码
/** * 解析有数据头的纯数组 */ private void parseHaveHeaderJArray() { //拿到本地JSON 并转成String String strByJson = J ...
- Linux 服务器上Redis安装和配置
1.下载安装redis 在Linux服务器上,命令行执行以下命令(cd ./usr local/src 一般源码放在这里(推荐源码安装)) wget http://download.redis.io/ ...
- The file will have its original line endings in your working directory.
在空仓库的情况下,add,出现一下问题 The file will have its original line endings in your working directory. 当报这个警告时是 ...
- 自然语言处理系列-1.什么是NLP?
常常会听到有人说,自然语言处理(NLP)是人工智能技术(AI)皇冠上的明珠.那么,从这句话上就能够看到,目前我们常常说的NLP其实是AI技术的一个分支,而且是较难的那一个分支. 那么,到底什么是NLP ...
- poj-3268最短路
title: poj-3268最短路 date: 2018-10-13 15:54:34 tags: acm 刷题 categories: ACM-最短路 概述 这是一道最短路的模板题,,,不过虽然是 ...
- 【基本功】深入剖析Swift性能优化
简介 2014年,苹果公司在WWDC上发布Swift这一新的编程语言.经过几年的发展,Swift已经成为iOS开发语言的“中流砥柱”,Swift提供了非常灵活的高级别特性,例如协议.闭包.泛型等,并且 ...