wireshark分析dhcp过程
---恢复内容开始---
DHCP
DHCP(Dynamic Host Configuration Protocol)是一个用于主机动态获取IP地址的配置解 析,使用UDP报文传送,端口号为67何68。
DHCP使用了租约的概念,或称为计算机IP地址的有效期。租用时间是不定的,主要取决于用 户在某地连接Internet需要多久,这对于教育行业和其它用户频繁改变的环境是很实用的。通 过较短的租期,DHCP能够在一个计算机比可用IP地址多的环境中动态地重新配置网络。 DHCP支持为计算机分配静态地址,如需要永久性IP地址的Web服务器。

DHCP服务器分配IP的过程:
1.DHCP客户端发送DHCP Discover消息,广播,请求分配IP
2.DHCP 服务器提供DHCP Offer消息,回应,表示可提供IP
3.DHCP客户端发送DHCP Request消息,选定一个服务器,并请求IP租用
4.DHCP服务器发送ACK消息,确认地址租用给客户端
Wireshark分析
Wireshark过滤命令:bootp
BOOTP(Bootstrap Protocol,引导程序协议)是一种引导协议,基于IP/UDP协议,也称自举协议,是DHCP协议的前身。BOOTP用于无盘工作站的局域网中,可以让无盘工作站从一个中心[服务器]上获得IP地址。
技巧:
1.采用断开网络再连接
2.输入ipconfig/release断开连接,输入ipconfig/renew重连Wireshark 抓包对DHCPIP分配过程进行分析:
1.DHCP客户端以广播的形式发送Discover 请求IP租用


2.范围内的DHCP服务器接收到discover 请求后,会向客户端发出DHCP Offer 报文作为回应,该报文包含该DHCP服务器可向DHCP客户端提供的IP地址以及该DHCP服务器自己的IP地址信息

3.DHCP客户端会选择最先接收到的DHCP Offer进行处理,并以广播的形式发送DHCP Request 报文,该报文会加入对应DHCP服务器的地址以及所需要的IP

4.DHCP服务器接收到DHCPRequest报文后,会判断报文中的服务器IP是否与自己相同。
如果不同,不做任何处理,只清除相应的IP分配记录;如果相同,服务器会向客户端发送ACK报文,确认可以使用,并且附上相应的租期。

在这里有得人遇到的是回应报文是广播,有的是单播,在此做下说明
1.DHCP服务器回应报文的方式与DHCP服务器本身无关
详见https://blog.csdn.net/weixin_40249907/article/details/79034522
5.DHCP客户端接收到ACK信息后,会检查该IP是否能够使用,如果可以就直接使用该IP并使用租期自动启用延续过程。如果发现IP已被使用,则发送DHCP Decline报文告知服务器禁用该IP然后重新发起Discover。
6.当租期不到1/2左右时候,如果还要继续使用该IP,客户端会自动向服务器发起续租请求报文Request 报文,服务器会向客户端发送ACK报文确认。
---恢复内容结束---
wireshark分析dhcp过程的更多相关文章
- Wireshark分析器分析数据流过程
Wireshark分析器分析数据流过程 分析包是Wireshark最强大的功能之一.分析数据流过程就是将数据转换为可以理解的请求.应答.拒绝和重发等.帧包括了从捕获引擎或监听库到核心引擎的信息.Wir ...
- Wireshark分析非标准端口号流量
Wireshark分析非标准端口号流量 2.2.2 分析非标准端口号流量Wireshark分析非标准端口号流量 应用程序运行使用非标准端口号总是网络分析专家最关注的.关注该应用程序是否有意涉及使用非 ...
- DHCP服务器的搭建及抓包分析DHCP的实现
原文:http://blog.51cto.com/liwenhui/105129 1.环境搭建: DC&DHCP SERVER IP:192.168.1.254 ( 这是一台D ...
- Symfony2源码分析——启动过程2
文章地址:http://www.hcoding.com/?p=46 上一篇分析Symfony2框架源码,探究Symfony2如何完成一个请求的前半部分,前半部分可以理解为Symfony2框架为处理请求 ...
- Linux使用tcpdump命令抓包并使用wireshark分析
Linux使用tcpdump命令抓包并使用wireshark分析 介绍 有时分析客户端和服务器网络交互的问题时,为了查找问题,需要分别在客户端和服务器上抓包,我们的客户端一般是windows上的,抓包 ...
- Android 抓包并通过 Wireshark 分析
分析 Android 中 app 的网络数据交互,需要在 Android 上抓包,常用工具为 tcpdump ,用 tcpdump 生成 Wireshark 识别的 pcap 文件,把 pcap 文件 ...
- Android利用tcpdump抓包,用wireshark分析包。
1.前言 主要介绍在android手机上如何利用tcpdump抓包,用wireshark分析包. android tcpdump官网: http://www.androidtcpdump.com/ t ...
- quartz2.x源码分析——启动过程
title: quartz2.x源码分析--启动过程 date: 2017-04-13 14:59:01 categories: quartz tags: [quartz, 源码分析] --- 先简单 ...
- wireshark分析https数据包解密前后的特点
wireshark分析https数据包解密前后的特点 (一)https解密前 1.协议种类:2种(1)TCP(第四层,传输层)(2)SSL/TLS(第五层,应用层,加解密)2.应用层数据所在数据包特点 ...
随机推荐
- ArcFace虹软与Dlib人脸识别对比
我司最近要做和人脸识别相关的产品,原来使用的是其他的在线平台,识别率和识别速度很满意,但是随着量起来的话,成本也是越来越不能接受(目前该功能我们是免费给用户使用的),而且一旦我们的设备掉线了就无法使用 ...
- MongoDB MapReduce用法简介
Map-Reduce部分:Map-Reduce相当于关系型数据库中的group by,主要用于统计数据之用.MongoDB提供的Map-Reduce非常灵活,对于大规模数据分析也相当实用. 语法 db ...
- Linux下创建桌面快捷方式
建立一个文本文件,文件名必须以.desktop结尾,.desktop前面的作为快捷方式的名称 添加如下内容 [Desktop Entry]Encoding=UTF-8Name=PostmanExec= ...
- SQL查询获得指定格式内容
Oracle中通过修改SQL语句,达到将查询的内容拼接为指定的字符串格式 eg: select '<ta:datagridItem id="' || lower(column_name ...
- 20181225-Linux Shell Bash环境下自动化创建ssh互信脚本
20181225-Linux Shell Bash环境下自动化创建ssh互信脚本 1. 我的Blog 博客园 https://www.cnblogs.com/piggybaba/ 个人网站 http: ...
- MySQL游标循环取出空值的BUG
早上同事要我写个MySQL去除重复数据的SQL,想起来上次写过一篇MySQL去除重复数据的博客,使用导入导出加唯一索引实现的,但是那种方式对业务影响较大,所以重新写一个存储过程来删重复数据,这一写就写 ...
- Mysql 获取表设计查询语句
SELECT COLUMN_NAME 列名, COLUMN_TYPE 数据类型, DATA_TYPE 字段类型, CHARACTER_MAXIMUM_LENGTH 长度, IS_NULLABLE 是否 ...
- GDB 显示别的文件;在别文件打断点;执行到函数末尾;跳出当前函数
显示别的文件:l "文件名.后缀名":行号 在别文件打断点:b "文件名.后缀名":行号 执行到函数末尾:finish 跳出当前函数(当前位置到函数的末尾不被执 ...
- spring3:多数据源配置使用
0. properties ####################################mysql########################################### d ...
- SQLServer删除数据列
删除数据列 开发或者生产过程中多建.错误或者重复的数据列需要进行删除操作. 使用SSMS数据库管理工具删除数据列 方式一 1.打开数据库->选择数据表->展开数据表->展开数据列-& ...