DHCP协议分析及opendpi检测方法
DHCP协议讲解
DHCP协议讲解一、协议介绍动态主机配置协议(Dynamic Host Configuration Protocol,简称DHCP)是一种网络协议,它能够自动分配IP地址、子网掩码、默认网关、DNS服务器等网络配置信息给网络中的设备。
DHCP协议通过减少手动配置的工作量,简化了网络管理的过程,提高了网络的可扩展性和灵活性。
二、协议原理1. DHCP服务器:DHCP网络中的服务器,负责分配IP地址和其他网络配置信息给客户端设备。
DHCP服务器通常采用静态IP地址。
2. DHCP客户端:DHCP网络中的设备,通过向DHCP服务器发送请求,获取网络配置信息。
DHCP客户端可以是计算机、路由器、交换机等网络设备。
3. DHCP租约:DHCP服务器为每个客户端设备分配的IP地址和其他配置信息的有效期。
租约可以是临时的,也可以是永久的。
4. DHCP数据包:DHCP协议通过UDP协议在网络上进行通信。
DHCP数据包包括DHCP Discover、DHCP Offer、DHCP Request、DHCP Acknowledge等多个类型。
三、DHCP协议的工作过程1. DHCP Discover:客户端设备在网络中启动时,发送DHCP Discover广播数据包,用于寻找可用的DHCP服务器。
2. DHCP Offer:DHCP服务器接收到DHCP Discover广播后,向客户端发送DHCP Offer数据包,其中包含了可用的IP地址和其他配置信息。
3. DHCP Request:客户端接收到DHCP Offer后,选择其中一个DHCP服务器,并发送DHCP Request数据包,请求分配IP地址和其他配置信息。
4. DHCP Acknowledge:DHCP服务器接收到DHCP Request后,确认客户端的请求,并向其发送DHCP Acknowledge数据包,将IP地址和其他配置信息分配给客户端。
5. DHCP Renew:在租约到期之前,客户端会周期性地向DHCP服务器发送DHCP Renew数据包,请求续约租约。
DHCP协议讲解
DHCP协议讲解DHCP(动态主机配置协议)是一种网络协议,用于自动分配IP地址和其他网络配置参数给网络中的设备。
它是一种客户端/服务器协议,客户端设备通过DHCP请求向服务器请求网络配置信息,服务器则回应并提供所需的配置信息。
DHCP协议的主要目的是简化网络管理,提高网络的可扩展性和灵活性。
一、DHCP协议的工作原理DHCP协议的工作原理可以分为四个步骤:发现、提供、请求和确认。
1. 发现(Discover):客户端设备在网络中发送DHCP发现消息,以寻找可用的DHCP服务器。
这个消息是广播的,意味着它会被发送到网络中的所有设备。
2. 提供(Offer):DHCP服务器接收到DHCP发现消息后,会向客户端发送一个DHCP提供消息。
这个消息包含了一个可用的IP地址和其他网络配置信息,如子网掩码、默认网关和DNS服务器地址等。
3. 请求(Request):客户端在收到DHCP提供消息后,会向其中一个DHCP服务器发送一个DHCP请求消息,以确认使用该服务器提供的IP地址和配置信息。
4. 确认(Acknowledge):DHCP服务器收到DHCP请求消息后,会发送一个DHCP确认消息给客户端,确认其使用该服务器提供的IP地址和配置信息。
同时,其他DHCP服务器会收到该消息并取消对该客户端的提供。
二、DHCP协议的优势DHCP协议相对于手动配置IP地址的方式,具有以下优势:1. 自动化配置:DHCP协议能够自动分配IP地址和其他网络配置参数给设备,大大简化了网络管理的工作量。
管理员只需要配置DHCP服务器,而无需手动为每个设备分配IP地址。
2. 灵活性和可扩展性:DHCP协议支持动态分配IP地址,这意味着设备可以根据需要获得新的IP地址,而无需手动更改配置。
此外,DHCP协议还支持地址池和租约机制,可以有效管理IP地址的分配和回收。
3. 避免IP地址冲突:由于DHCP协议能够自动分配IP地址,可以避免手动配置IP地址时可能出现的冲突问题。
DHCP协议详解
DHCP协议详解DHCP的优缺点DHCP服务优点不少:网络管理员可以验证IP地址和其它配置参数,而不用去检查每个主机;DHCP不会同时租借相同的IP地址给两台主机;DHCP管理员可以约束特定的计算机使用特定的IP地址;可以为每个DHCP作用域设置很多选项;客户机在不同子网间移动时不需要重新设置IP地址但同时也存在不少缺点:DHCP不能发现网络上非DHCP客户机已经在使用的IP地址;当网络上存在多个DHCP服务器时,一个DHCP服务器不能查出已被其它服务器租出去的IP地址;DHCP服务器不能跨路由器与客户机通信,除非路由器允许BOOTP转发工作流程DHCP服务的工作过程是这样的:1.发现阶段,即DHCP客户机寻找DHCP服务器的阶段。
DHCP客户机以广播方式(因为DHCP服务器的IP地址对于客户机来说是未知的)发送DHCP discover 发现信息来寻找DHCP服务器,即向地址255.255.255.255发送特定的广播信息。
网络上每一台安装了TCP/IP协议的主机都会接收到这种广播信息,但只有DHCP 服务器才会做出响应(如图1)2.提供阶段,即DHCP服务器提供IP地址的阶段。
在网络中接收到DHCP discover 发现信息的DHCP服务器都会做出响应,它从尚未出租的IP地址中挑选一个分配给DHCP客户机,向DHCP客户机发送一个包含出租的IP地址和其他设置的DHCPoffer提供信息(如图2)。
3.选择阶段,即DHCP客户机选择某台DHCP服务器提供的IP地址的阶段。
如果有多台DHCP服务器向DHCP客户机发来的DHCP offer提供信息,则DHCP客户机只接受第一个收到的DHCP offer提供信息,然后它就以广播方式回答一个DHCP request请求信息,该信息中包含向它所选定的DHCP服务器请求IP地址的内容。
之所以要以广播方式回答,是为了通知所有的DHCP服务器,他将选择某台DHCP 服务器所提供的IP地址(如图3)4.确认阶段,即DHCP服务器确认所提供的IP地址的阶段。
实验7_使用Wireshark分析DHCP协议
实验7_使用Wireshark分析DHCP协议DHCP(Dynamic Host Configuration Protocol)是一种网络协议,用于动态分配IP地址、子网掩码、默认网关、DNS服务器等网络配置信息给计算机设备。
在本实验中,我们将使用Wireshark工具来分析DHCP协议的工作流程和数据包的结构。
首先,我们需要准备一个局域网环境,并在其中设置一个DHCP服务器和至少一个客户端设备。
DHCP服务器负责为客户端设备分配IP地址和其他网络配置信息。
客户端设备在启动时会发送DHCP请求,以获取分配给它的IP地址和其他配置信息。
使用Wireshark进行DHCP协议分析的步骤如下:1. 打开Wireshark软件,并选择适当的网络接口进行抓包。
在“捕获”选项卡中,选择正确的网络接口,然后点击“开始”按钮开始抓包。
2.在客户端设备上,启动DHCP服务发现过程。
客户端将发送一个DHCP发现广播消息,以寻找可用的DHCP服务器。
3. 在Wireshark中,我们可以看到DHCP发现消息的数据包。
可以通过在过滤器栏中输入“bootp”或“dhcp”来过滤只显示与DHCP相关的数据包。
4.DHCP服务器接收到DHCP发现消息后,会回复一个DHCP提供消息。
该消息包含了DHCP服务器可以提供给客户端的IP地址和其他配置信息。
5.客户端接收到DHCP提供消息后,会发送一个DHCP请求消息,以确认接受DHCP服务器提供的配置信息。
6.DHCP服务器接收到DHCP请求消息后,会发送一个DHCP确认消息,将IP地址和其他配置信息分配给客户端。
7. 在Wireshark中,我们可以查看这些DHCP消息的详细信息。
可以看到每个消息的源IP地址、目的IP地址、消息类型、配置选项等。
8.客户端设备在接收到DHCP确认消息后,将使用分配给它的IP地址和其他配置信息来配置自己的网络连接。
通过分析DHCP协议的数据包,我们可以了解到DHCP协议的工作流程和数据包的结构。
dhcp配置实验报告
dhcp配置实验报告DHCP配置实验报告引言:网络通信在现代社会中扮演着至关重要的角色。
为了实现网络连接,IP地址分配是必不可少的一步。
动态主机配置协议(DHCP)是一种常用的自动分配IP 地址的协议,它简化了网络管理和配置的过程。
本实验旨在通过配置DHCP服务器和客户端,深入理解DHCP的工作原理和应用。
一、DHCP简介动态主机配置协议(DHCP)是一种网络协议,用于自动分配IP地址、子网掩码、网关和其他网络参数给计算机。
DHCP服务器负责分配IP地址,而客户端则通过与DHCP服务器的通信来获取所需的网络配置信息。
二、实验环境本实验使用了一台运行Windows操作系统的计算机作为DHCP服务器,另外两台计算机作为客户端,它们都连接在同一个局域网中。
三、DHCP服务器配置1. 安装DHCP服务器软件在Windows计算机上,我们可以使用Windows Server操作系统自带的DHCP 服务器软件,也可以选择第三方软件。
本实验使用了Windows Server自带的DHCP服务器软件。
2. 配置IP地址池打开DHCP服务器管理工具,配置IP地址池,即可用于分配的IP地址范围。
我们设置了一个起始IP地址和一个结束IP地址,以及子网掩码。
3. 配置其他网络参数除了IP地址,DHCP服务器还可以分配其他网络参数,如默认网关、DNS服务器等。
我们在DHCP服务器管理工具中设置了这些参数,并将其与IP地址池关联。
四、DHCP客户端配置1. 设置网络适配器在Windows客户端上,我们需要将网络适配器的配置方式改为自动获取IP地址。
这样,客户端将通过DHCP协议与DHCP服务器通信,获取所需的网络配置信息。
2. 获取网络配置信息客户端启动后,会自动发送DHCP发现报文,以寻找可用的DHCP服务器。
一旦找到DHCP服务器,客户端将与其进行通信,获取所需的网络配置信息。
3. 应用网络配置信息客户端收到DHCP服务器发送的网络配置信息后,将自动应用这些配置,包括IP地址、子网掩码、网关等。
DHCP协议讲解
DHCP协议讲解DHCP(Dynamic Host Configuration Protocol)是一种网络协议,用于自动分配IP地址和其他网络配置参数给网络中的设备。
它允许网络管理员集中管理IP地址的分配,简化了网络配置的过程,并提高了网络的可扩展性。
1. 协议概述DHCP协议是在TCP/IP协议栈中的应用层协议,它定义了客户端设备和服务器之间的通信方式,以实现IP地址的自动分配。
DHCP协议使用UDP协议作为传输层协议,使用端口号67和68进行通信。
2. DHCP协议的工作原理DHCP协议的工作过程可以分为四个阶段:发现阶段、提供阶段、选择阶段和确认阶段。
2.1 发现阶段当客户端设备连接到网络时,它会发送一个DHCP发现消息广播到网络上的所有设备。
该消息包含一个特殊的MAC地址,表示客户端正在寻找一个可用的DHCP服务器。
2.2 提供阶段DHCP服务器接收到客户端的发现消息后,会向客户端发送一个DHCP提供消息。
该消息包含一个可用的IP地址,以及其他网络配置参数,如子网掩码、默认网关和DNS服务器等。
2.3 选择阶段客户端接收到DHCP提供消息后,会选择其中一个DHCP服务器提供的IP地址。
如果有多个DHCP服务器提供了IP地址,客户端会选择其中一个。
客户端通过发送一个DHCP请求消息来回应DHCP服务器。
2.4 确认阶段DHCP服务器接收到客户端的请求消息后,会发送一个DHCP确认消息给客户端。
该消息确认了客户端所选择的IP地址,并提供了其他网络配置参数。
客户端在接收到确认消息后,使用分配的IP地址和其他配置参数来配置自己的网络连接。
3. DHCP协议的优点- 自动化:DHCP协议可以自动分配IP地址和其他网络配置参数,减少了网络管理员的工作量。
- 灵活性:DHCP协议支持动态IP地址分配,可以根据网络中设备的需求动态分配IP地址,提高了网络的可扩展性。
- 集中管理:DHCP协议允许网络管理员集中管理IP地址的分配,简化了网络配置的过程。
DHCP协议的配置实验报告
实验五DHCP协议的配置
一、DHCP协议的配置
实验目的:掌握DHCP协议的工作原理和工作过程,学会在三层交换机上配置DHCP服务和客户端配置。
实验拓扑:
实验步骤:
1、配置三层交换机3560提供DHCP服务
2、财务部(Finance) 的DHCP服务与上类似
3、在三层3560交换机上配置两个虚拟网(vlan10和vlan20)
为两个虚拟Vlan接口配置IP地址
4、在2960交换机创建两个vlan并将两个部门的PC机划分到相应的
Vlan端口中
5、配置3560交换机和2960交换机的级联端口Trunk模式
6、设置客户端自动获取地址
7、实验测试: 在客户端测试,在“命名提示符”下,执行“ipconfig”查看
IP地址属性,使用“ping”测试两台PC的连通性
8、使用showipdhcpbinding来查看DHCP的地址绑定情
况
二、DHCP中继的配置
实验目的:使用三层交换+DHCP中继代理技术解决多个VLAN共享同一DHCP服务器问题。
实验拓扑:
9、配置三层交换机的VLAN、Trunk等基本配置
10、配置三层交换机的VLAN虚拟接IP地址
11、配置三层交换机的VLAN中继服务
SwitchA(config-if)#ip helper-address 192.168.0.100 12、启用三层交换机本机路由
13、配置DHCP服务器
14、验证测试
a) 在三层交换机上使用showipdhcpbinding查看在PC上自动获取IP地址的情况
b)两PC能够相互ping通。
实验6 DHCP和DNS服务的配置与测试
实验6 DHCP和DNS服务的配置与测试DHCP服务的配置与测试DHCP(动态主机配置协议)是一种网络协议,它提供了一种动态分配IP地址和其他网络配置信息的方法。
在本实验中,我们将学习如何配置和测试DHCP服务。
一、DHCP服务器的配置1. 安装DHCP服务器软件在Linux操作系统上,我们可以使用ISC DHCP服务器软件来配置DHCP服务。
请按照以下步骤进行安装:a. 打开终端,并使用root权限登录系统。
b. 运行以下命令安装ISC DHCP服务器软件:```sudo apt-get install isc-dhcp-server```c. 安装完成后,我们需要编辑DHCP服务器的配置文件。
运行以下命令:```sudo nano /etc/dhcp/dhcpd.conf```d. 在打开的文件中,我们可以配置DHCP服务器的参数。
例如,设置IP地址池范围、默认网关、DNS服务器等。
请根据实际需求进行配置。
2. 启动DHCP服务器完成DHCP服务器的配置后,我们可以启动该服务。
运行以下命令:```sudo systemctl start isc-dhcp-server```3. 验证DHCP服务器的运行状态运行以下命令,确保DHCP服务器正在运行:```sudo systemctl status isc-dhcp-server```二、DHCP客户端的配置与测试在本节中,我们将讨论如何配置和测试DHCP客户端,以便从DHCP服务器获取网络配置信息。
1. 配置DHCP客户端a. 打开终端,并使用root权限登录系统。
b. 运行以下命令编辑网络配置文件:```sudo nano /etc/network/interfaces```c. 在打开的文件中,将以下行添加到文件末尾,以配置DHCP客户端接口:```auto eth0iface eth0 inet dhcp```d. 保存文件并关闭编辑器。
网络协议知识:DHCP协议的基本操作和实现原理
网络协议知识:DHCP协议的基本操作和实现原理DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)是一种网络协议,用于自动分配IP地址和其他网络配置参数给主机。
DHCP协议的基本操作和实现原理涉及到DHCP客户端和DHCP服务器之间的通信和协商。
下面将从DHCP的基本操作和实现原理两个方面进行详细介绍。
一、DHCP协议的基本操作1.发现(Discover)当一个主机连接到网络上时,它首先需要获取一个IP地址和其他网络配置参数。
此时,主机会发送一个广播消息,寻求可用的DHCP服务器。
这个过程称为发现,主机向网络中的所有DHCP服务器发送发现消息。
2.提供(Offer)当DHCP服务器收到发现消息后,它会向主机发送一个提供消息,其中包含可用的IP地址和其他网络配置。
如果有多个DHCP服务器收到了发现消息,它们可能都会发送提供消息。
主机在接收到多个提供消息后,会选择其中一个DHCP服务器的提供。
3.请求(Request)主机选择了一份提供消息后,在接收到提供消息的DHCP服务器即将进入到请求阶段。
主机向选择的DHCP服务器发送请求消息,请求分配IP地址和其他网络配置参数。
如果多个DHCP服务器发送了提供消息,主机仍只向选择的DHCP服务器发送请求消息。
4.确认(Acknowledge)在收到请求消息后,DHCP服务器会向主机发送确认消息,分配指定的IP地址和其他网络配置参数。
主机在收到确认消息后,会配置自己的网络接口,并开始使用分配的IP地址和其他配置参数。
如果DHCP 服务器无法分配IP地址或其他网络配置参数,它会发送拒绝消息给主机。
以上四个基本操作组成了DHCP协议的工作流程,通过这个过程,主机可以自动获取并配置网络参数,无需手动设置。
二、DHCP协议的实现原理1. DHCP消息格式DHCP消息是使用UDP协议传输的,消息格式包括固定部分和可变部分。
DHCP协议讲解
DHCP协议讲解DHCP(动态主机配置协议)是一种网络协议,用于自动分配IP地址和其他网络配置参数给网络上的设备。
本文将详细讲解DHCP协议的工作原理、消息交互过程以及相关术语和配置选项。
一、DHCP协议的工作原理DHCP协议的工作原理可以分为四个步骤:发现、提供、选择和确认。
1. 发现(Discover):当设备加入网络时,它会发送一个DHCP发现消息(DHCP Discover)。
该消息是一个广播消息,用于寻找可用的DHCP服务器。
设备可以通过广播地址(255.255.255.255)或特定的DHCP服务器广播地址(例如:192.168.1.255)发送该消息。
2. 提供(Offer):DHCP服务器接收到DHCP发现消息后,会向设备发送一个DHCP提供消息(DHCP Offer)。
该消息包含可用的IP地址、子网掩码、网关、DNS服务器等网络配置参数。
DHCP服务器可以根据设备的MAC地址来分配唯一的IP地址。
3. 选择(Request):设备在收到DHCP提供消息后,会选择其中一个DHCP 服务器,并向其发送一个DHCP请求消息(DHCP Request)。
该消息用于确认设备对DHCP提供消息的接受,并请求分配给自己提供的网络配置参数。
4. 确认(Acknowledge):DHCP服务器接收到DHCP请求消息后,会向设备发送一个DHCP确认消息(DHCP Acknowledge)。
该消息包含设备所请求的网络配置参数,并告知设备已成功分配给它一个IP地址和其他配置参数。
二、DHCP消息交互过程DHCP消息交互过程由四个消息组成:DHCP发现、DHCP提供、DHCP请求和DHCP确认。
以下是DHCP消息交互过程的详细描述:1. DHCP发现:- 设备发送一个DHCP发现消息(DHCP Discover)作为广播。
- DHCP服务器接收到该消息后,将向设备发送一个DHCP提供消息(DHCP Offer)。
dhcp服务器实验报告
dhcp服务器实验报告DHCP服务器实验报告一、引言在计算机网络中,DHCP(动态主机配置协议)是一种常用的网络协议,用于自动分配IP地址和其他网络配置参数给网络中的设备。
本实验旨在通过搭建和配置DHCP服务器,探索其工作原理和应用。
二、实验目的1. 理解DHCP协议的基本原理和作用;2. 学会搭建和配置DHCP服务器;3. 掌握DHCP服务器的运行机制和常见问题的排查方法。
三、实验环境本次实验使用了一台运行Linux操作系统的服务器和若干台客户端设备。
四、实验步骤1. 安装和配置DHCP服务器软件首先,在Linux服务器上安装DHCP服务器软件,例如ISC DHCP Server。
然后,通过编辑配置文件,设置DHCP服务器的参数,包括IP地址池范围、租约时间、网关、DNS服务器等。
2. 启动DHCP服务器在配置完成后,启动DHCP服务器,使其开始监听网络中的DHCP请求。
3. 客户端设备获取IP地址在客户端设备上,设置网络接口为自动获取IP地址。
然后,重启设备或执行DHCP请求命令,以获取DHCP服务器分配的IP地址和其他配置参数。
4. 验证IP地址分配情况在DHCP服务器上,查看租约列表,确认每个客户端设备是否成功获取了IP地址。
同时,可以通过ping命令测试客户端设备是否能够与其他设备正常通信。
五、实验结果与分析通过实验,我们观察到以下现象和结果:1. DHCP服务器成功分配了IP地址给客户端设备,并提供了其他网络配置参数,如网关和DNS服务器。
2. 客户端设备可以通过获取的IP地址与其他设备进行正常通信。
3. 在租约过期前,客户端设备可以一直使用分配到的IP地址。
一旦租约过期,客户端设备需要重新向DHCP服务器请求新的IP地址。
六、实验问题与解决方法在实验过程中,我们遇到了一些问题,并通过以下方法解决:1. DHCP服务器无法启动:检查配置文件是否正确,确保IP地址池范围和其他参数设置正确。
DHCP协议分析及opendpi检测方法
DHCP协议分析DHCP协议封装DHCP协议是基于UDP层之上的应用,DHCP CLIENT将采用端口号68,DHCP SERVER采用端口号67,其报文内容的封装如下所示:链路层头 IP头 UDP头 DHCP报文其中:链路层头:承载报文的链路层信息头。
IP头:标准IP协议头,IPV4中长度为20bytes,包括SrcIp,DstIp等信息。
UDP头:8个bytes,包括SrcPort,DstPort,报文长度及UDP校验和等信息。
DHCP报文:具体的DHCP报文内容。
由于DHCP协议是让终端获取IP 地址的协议,所以终端是没有IP地址的。
为了能够正常的收发DHCP报文,采取了如下措施:a)、链路层的封装必须是广播形式,即让在同一物理子网中的所有主机都能够收到这个报文,在Ethernet_II格式的网络中,是DstMac为全1。
b)、由于终端没有IP地址,IP头中的SrcIp规定填为全0。
c)、当终端发出DHCP请求报文,并不知道DHCP SERVER的IP地址,因此IP 头中的DstIp填为有限的子网广播IP——全1,保证DHCP SERVER的IP协议栈不丢弃这个报文。
d)、上面的措施保证了DHCP SERVER能够收到终端的请求报文,但仅凭链路层和IP层信息,DHCP SERVER无法区分出DHCP报文,因此终端发出的DHCP请求报文的UDP层中的SrcPort为68,DstPort为67,即DHCPSERVER通过端口号67来判断一个报文是否是DHCP报文。
DHCP报文格式op:报文的操作类型,分为请求报文和响应报文,1为请求报文;2为响应报文。
具体的报文类型在 option字段中标识。
htype:硬件地址类型。
hlen:硬件地址长度。
系统目前只对以太网支持,硬件地址长度固定为 6。
hops:DHCP 报文经过的 DHCP 中继的数目。
DHCP 请求报文每经过一个DHCP 中继,该字段就会增加 1。
TCPIP协议分析_实验6_DHCP协议分析
《TCP/IP协议分析》实验报告实验序号:6 实验项目名称:DHCP协议分析20网工班学号姓名专业、班实验地点指导教师实验时间2022-10-12 一、实验目的及要求动手项目7-1:查看DHCP启动序列项目目标:查看Windows客户端计算机上的DHCP启动序列。
过程描述:本项目介绍当客户端从DHCP服务器请求一个IP地址时,提供和请求的不同选项。
此外,还探讨在客户端与DHCP服务器之间交换的不同信息。
(1)启动Wireshark软件。
(2)单击菜单栏的File,然后单击Open按钮,打开ch07_Hands-on_Project_trace_file_DHCPboot.pcapng文件,并单击Open按钮。
(3)单击Packet#1打开解码窗口。
回答下述问题:a.客户端标识符字段中包含了什么值?答:长度、硬件类型、客户端MAC地址Length:1Hardware type:Ethernet(以太网)0x01Client MAC address:Lite-OnU_30:c8:db (00:a0:cc:30:c8:db)b.如何验证客户端标识符的值是否与客户端的硬件地址相同?答:看Option(61)下的Client MAC address和客户端MAC地址是否一致,client hardware address padding是否全0。
c.主机名是什么?答:UTBPOPKId.客户端在启动过程中能够接收单播应答吗?答:能e.列出使用在这个DHCP数据包中的选项码。
答:53:DHCP消息类型61:客户端标识符50:所请求的IP地址12:主机名称55:参数请求列表1:子网掩码值3:路由器地址6:DNS服务器地址15:DNS域名44:NetBIOS名称服务器46:NetBIOS结点类型47:NetBIOS范围57:DHCP最大消息长度255:结束(4)在摘要窗口中单击每一个数据包,直到找到DHCP提供、请求,以及确认数据包为止。
DHCP原理解析及配置命令
DHCP原理解析及配置命令当我们使用计算机时,我们可以发现,很多情况下,我们只需要把网线插到电脑上,我们的电脑就可以上网了。
我们知道,我们所使用的计算机必需需要一个IP地址才可以成功访问网络,那为什么我们直接把网线插上之后就可以直接访问网络了呢。
这里使用到了一个自动分配IP地址的技术——DHCP(动态主机配置协议)。
使用DHCP协议,可以最大限度地减少了由于手工配置IP地址而引起的配置错误,例如输入错误,或者由于同时向多台计算机分配IP地址而导致的地址冲突。
而且还可以对公司中的计算机更加集中的管理。
对于必须经常更新的客户端(例如,笔记本电脑,平板电脑,智能手机等)的IP地址更改的有效处理。
上面讲了使用DHCP有啥好处,下面我们来看一下DHCP 是如何工作的。
我们知道主机的IP地址是自动获取的,那么这个地址是从哪获取的呢,在网络上会有一个DHCP服务器,在服务器上存放可分配的地址信息——地址池,客户机的地址都是从地址池中分配的。
客户端将发送DHCP发现报文。
这是广播报文,因为它没有DHCP服务器的IP 地址,也不知道网络上是否有DHCP服务器。
当然,在我们的网络中,我们确实有一个DHCP服务器,因此它将响应该广播报文。
DHCP服务器将以一条包含计算机IP地址的DHCP提供消息进行响应(我们必须配置DHCP服务器来定义我们要提供的IP地址——地址池)。
如果需要,我们还可以为计算机分配默认网关和DNS服务器。
当客户端接收到服务器的响应报文后,客户端将根据响应报文提供的信息而发送DHCP请求,询问服务器是否可以使用它收到的信息。
DHCP服务器接收到后将以DHCP ACK消息响应,告诉客户端可以使用此信息。
他们的响应过程如图1所示:我们了解了DHCP的工作原理,现在来自己实践一下吧。
如图所示,我们在网络中配置一台DHCP服务器,R1作为该网络的网关。
首先我们先配置网关地址。
地址配置完成后,我们开始进行DHCP服务配置。
协议分析dhcp协议解码详解
协议分析-协议解码详解一、协议简介,全称是﹐中文名为动态主机配置协议,它的前身是,它工作在的应用层,是一种帮助计算机从指定的服务器获取它们的配置信息的自举协议。
使用客户端服务器模式,请求配置信息的计算机叫做客户端,而提供信息的叫做的服务器。
为客户端分配地址的方法有三种:手工配置、自动配置、动态配置。
最重要的功能就是动态分配。
除了地址,分组还为客户端提供其他的配置信息,比如子网掩码。
这使得客户端无需用户动手就能自动配置连接网络。
1.的工作流程发现阶段,即客户机寻找服务器的阶段。
客户机以广播方式(因为服务器的地址对于客户机来说是未知的)发送发现信息来寻找服务器,即向地址发送特定的广播信息。
网络上每一台安装了协议的主机都会接收到这种广播信息,但只有服务器才会做出响应。
提供阶段,即服务器提供地址的阶段。
在网络中接收到发现信息的服务器都会做出响应,它从尚未出租的地址中挑选一个分配给客户机,向客户机发送一个包含出租的地址和其他设置的提供信息。
选择阶段,即客户机选择某台服务器提供的地址的阶段。
如果有多台服务器向客户机发来的提供信息,则客户机只接受第一个收到的提供信息,然后它就以广播方式回答一个请求信息,该信息中包含向它所选定的服务器请求地址的内容。
之所以要以广播方式回答,是为了通知所有的服务器,他将选择某台服务器所提供的地址。
确认阶段,即服务器确认所提供的地址的阶段。
当服务器收到客户机回答的请求信息之后,它便向客户机发送一个包含它所提供的地址和其他设置的确认信息,告诉客户机可以使用它所提供的地址。
然后客户机便将其协议与网卡绑定,另外,除客户机选中的服务器外,其他的服务器都将收回曾提供的地址。
重新登录,以后客户机每次重新登录网络时,就不需要再发送发现信息了,而是直接发送包含前一次所分配的地址的请求信息。
当服务器收到这一信息后,它会尝试让客户机继续使用原来的地址,并回答一个确认信息。
如果此地址已无法再分配给原来的客户机使用时(比如此地址已分配给其它客户机使用),则服务器给客户机回答一个否认信息。
DHCP 协议分析.
DHCP协议分析【实验目的】分析UDP协议解析过程【实验内容】1.用Wireshark软件捕获通信时的数据。
2.分析DHCP协议报文结构。
3.分析DHCP协议解析过程。
【实验原理】DHCP(Dynamic Host Configuration Protocol,动态主机配置协议是IETF为实现IP的自动配置而设计的协议,它可以为客户机自动分配IP地址、子网掩码以及缺省网关、DNS 服务器的IP地址等TCP/IP参数。
了解DHCP工作过程可以帮助我们排除有关DHCP服务遇到的问题。
【实验步骤】在DOS命令窗中键入ipconfig/release释放已经分配给本机的IP地址释放已经分配给本机的IP地址,如图图1用wireshark捕获ipconfig/renew产生的数据包,如图图2在显示过滤器filter中键入bootp,获得本机与DHCP服务器的通信数据包,如图图3由图3看出,第7,57,66,70号包均为DHCP discover数据包,它的源地址为0.0.0.0,目的地址为255.255.255.255,由此可见本机发出广播包以寻找DHCP服务器。
Bootstrap Protocol//DHCP协议Message type:Boot Request(1//数据类型1表示请求,2表示应答Hardware type:Ethernet//硬件类型:以太网Hardware address length:6//硬件地址长度为6Hops:0//跳数,DHCP转接代理使用Transaction ID:0x4990dc20//传输IDSeconds elapsed:0//计时【实验结论】1.DHCP服务器的数据库中与客户端MAC地址静态绑定的IP地址2.DHCPDISCOVER消息的Request IP address字段中填充的字段,且该IP有效,没有被分配3.如果在DHCP地址池中未找到可供分配的IP地址,则一次查询超过租期,发生冲突的IP地址,如果找到可供分配的IP地址,则进行分配,否则报告错误。
DHCP服务器配置及测试
DHCP服务器配置及测试1 DHCP服务器简介DHCP(Dynamic Host Configuration Protocol),动态主机配置协议,DHCP 协议主要是用来自动为局域网中的客户机分配TCP/IP 信息的网络协议,并完成每台客户机的TCP/IP 协议配置。
当我们将局域网中客户机IP地址设置为动态获取方式时,DHCP服务器就会根据DHCP协议给客户机自动分配IP地址,使得客户机能够使用这个IP地址。
DHCP的前身是BOOTP协议(Bootstrap Protocol),BOOTP被创建出来为连接到网络中的设备自动分配地址,后来被DHCP取代了,DHCP比BOOTP更加复杂,功能更强大。
所有的IP网络参数(包括IP地址、网关和DNS服务器地址等)都由DHCP服务器集中管理,并负责处理客户端的DHCP要求;而客户端则会使用从服务器分配的IP网络参数。
在DHCP的工作原理中,DHCP服务器提供了三种IP分配方式:自动分配(Automatic allocation)、手动分配和动态分配(Dynamic Allocation)。
•自动分配是当DHCP客户端第一次成功的从DHCP服务器获取一个IP地址后,就永久的使用这个IP地址。
•手动分配是由DHCP服务器管理员专门指定的IP地址•动态分配是当客户端第一次从DHCP服务器获取到IP地址后,并非永久使用该地址,每次使用完后,DHCP客户端就需要释放这个IP,供其他客户端使用。
•2 DHCP服务器的安装[root@cloud ~]# rpm -q dhcp未安装软件包 dhcp[root@cloud ~]# yum -y install dhcp*3 DHCP服务器配置文件(实验环境:centos6客户端centos7服务器端)在centos7上默认位置/etc/dhcpd.conf(如果没有需要将模板配置文件复制过来)[root@cloud dhcp]# cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf配置centos7为静态IP配置DHCP文件,写入以下内容:配置DHCP文件,写入以下内容:动态IP实验subnet 192.168.155.0 netmask 255.255.255.0{range 192.168.155.60 192.168.155.240;option routers 192.168.155.1;}人工固定IP实验group{host centos6{hardware ethernet 00:0c:29:306c:aa;fixed-address 192.168.155.111;}}动态分配在客户端上(centos6)上配置如下:1 在虚拟编辑器里将取消勾选:2 编辑centos6上IP获得方式为DHCP,并加入默认网关(网关即为DHCP option routers)3 重启客户机,发现IP在所配置的范围之内人工分配将group下的内容取消注释加入以下内容,重启DHCP服务器重启客户端(centos6)常用配置文件参数讲解:dhcp.conf包括三部分1参数(parameters) 2 声明(delarations) 3 选项(option)常见参数:参数详解ddns-update-style 配置DHCP-DNS互动更新模式default-lease-time 指定默认租赁时间,默认是秒max-lease-time 指定最大租赁时间,默认单位是秒hardware 指定网卡接口类型和Mac地址server-name 通知DHCP客户服务器名称fixed-address IP 分配给客户端固定的IP地址常见声明:声明解释subent 描述一个IP地址是否属于子网range 起始IP 终止IP 指定动态IP划分范围声明解释host 主机名group 为一组参数提供声明常见选项:选项详解netmask 子网掩码domain-name 为客户端指明DNS名字domain-name-servers 为客户端指明DNS服务器IP地址routers 为客户端设定默认网关。
pt软件模拟dhcp协议分析实验报告
pt软件模拟dhcp协议分析实验报告
一、实验目的:
1、掌握DHCP报文的格式
2、掌握DHCP协议的工作原理及工作流程
二、实验环境:
1、联网并运行Simple NPTS软件的PC机
2、DHCP服务器
三、实验内容和要求:
1、捕获并分析DHCP客户端在请求分配IP地址的过程中发送和接收到的报文
2、构造并发送DHCP请求报文,观察捕获到的DHCP服务器的响应报文
四、实验步骤:
1、开启网络协议分析软件,设置过滤器为只捕获DHCP协议报文。
2、把客户端的网卡设置为“自动获得IP地址”和“自动获得DNS 服务器地址”。
然后单击
确定。
3、捕获并分析本机发送和DHCP服务器响应的Discover、Offer、Request、A ck等4个DHCP
报文。
4、启动Windows命令窗口,在窗口中键入以下命令,并通过协议分析软件捕获并分析这个
过程中发送和接收到DHCP报文。
1)ip con fig /release 释放已分配的IP地址
2)ipconfig /renew 重新分配IP地址
5、构造和发送DHCP Discover报文,捕获并分析这个过程中发送和接收到的DHCP Discover
和Offer报文。
构造并封装DHCP Discovers报文的要点:
1)目标硬件地址为:FF-FF-FF-FF-FF-FF(有限广播);源硬件地址为本机MAC地址;帧类型字段的取值:0x0800。
2)IP头协议字段的取值为:17(UDP)。
3)总长度据实填写;IP头中其它字段保持为默认值。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
DHCP协议分析
DHCP协议封装
DHCP协议是基于UDP层之上的应用,DHCP CLIENT将采用端口号68,DHCP SERVER采用端口号67,其报文内容的封装如下所示:
链路层头 IP头 UDP头 DHCP报文
其中:
链路层头:承载报文的链路层信息头。
IP头:标准IP协议头,IPV4中长度为20bytes,包括SrcIp,DstIp等信息。
UDP头:8个bytes,包括SrcPort,DstPort,报文长度及UDP校验和等信息。
DHCP报文:具体的DHCP报文内容。
由于DHCP协议是让终端获取IP 地址的协议,所以终端是没有IP地址的。
为了能够正常的收发DHCP报文,采取了如下措施:
a)、链路层的封装必须是广播形式,即让在同一物理子网中的所有主机都能够收到这个报文,在Ethernet_II格式的网络中,是DstMac为全1。
b)、由于终端没有IP地址,IP头中的SrcIp规定填为全0。
c)、当终端发出DHCP请求报文,并不知道DHCP SERVER的IP地址,因此IP头中的DstIp填为有限的子网广播IP——全1,保证DHCP SERVER的IP协议栈不丢弃这个报文。
d)、上面的措施保证了DHCP SERVER能够收到终端的请求报文,但仅凭链路层和IP层信息,DHCP SERVER无法区分出DHCP报文,因此终端发出的DHCP请求报文的UDP层中的SrcPort为68,DstPort为67,即DHCPSERVER通过端口号67来判断一个报文是否是DHCP报文。
DHCP报文格式
op:报文的操作类型,分为请求报文和响应报文,1为请求报文;2为响应报文。
具体的报文类型在option字段中标识。
htype:硬件地址类型。
hlen:硬件地址长度。
系统目前只对以太网支持,硬件地址长度固定为6。
hops:DHCP 报文经过的DHCP 中继的数目。
DHCP 请求报文每经过一个DHCP中继,该字段就会增加1。
xid:由客户端软件产生的随机数,用于匹配请求和应答报文。
secs:客户端进入IP 地址申请进程的时间或者更新IP 地址进程的时间;由客户端软件根据情况设定。
目前没有使用,固定为0。
flags:标志字段。
第一个比特为广播响应标识位,用来标识DHCP 服务器响应报文是采用单播还是广播方式发送,0 表示采用单播方式,1 表示采用广播方式。
其余比特保留不用。
ciaddr:DHCP客户端的IP地址。
yiaddr:DHCP服务器分配给客户端的IP地址。
siaddr:DHCP客户端获取IP地址等信息的服务器IP地址。
giaddr:DHCP客户端发出请求报文后经过的第一个DHCP中继的IP地址。
chaddr:DHCP客户端的硬件地址。
sname:DHCP客户端获取IP地址等信息的服务器名称。
file:DHCP服务器为DHCP客户端指定的启动配置文件名称及路径信息。
options:可选变长选项字段,包含报文的类型、有效租期、DNS 服务器的IP地址、WINS服务器的IP地址等配置信息。
分析流程图
DHCP协议包含以下八种类型:
1:DHCPDISCOVER(0x01),此为Client开始DHCP过程的第一个报文
2:DHCPOFFER(0x02),此为Server对DHCPDISCOVER报文的响应
3:DHCPREQUEST(0x03),此报文是Slient开始DHCP过程中对server的DHCPOFFER 报文的回应,或者是client续延IP地址租期时发出的报文
4:DHCPDECLINE(0x04),当Client发现Server分配给它的IP地址无法使用,如IP 地址冲突时,将发出此报文,通知Server禁止使用IP地址
5:DHCPACK(0x05),Server对Client的DHCPREQUEST报文的确认响应报文,Client 收到此报文后,才真正获得了IP地址和相关的配置信息。
6:DHCPNAK(0x06),Server对Client的DHCPREQUEST报文的拒绝响应报文,Client 收到此报文后,一般会重新开始新的DHCP过程。
7:DHCPRELEASE(0x07),Client主动释放server分配给它的IP地址的报文,当Server 收到此报文后,就可以回收这个IP地址,能够分配给其他的Client。
8:DHCPINFORM(0x08),Client已经获得了IP地址,发送此报文,只是为了从DHCP SERVER处获取其他的一些网络配置信息,如route ip,DNS Ip等,这种报文的应用非常少见。
以上八种DHCP类型均包含以下特征值(在OpenDPI中,只需要确认当前检测的协议符合以下五个特征值,就认为当前协议是DHCP协议,并不需要确认具体是哪种DHCP协议类型。
):
一、packet->payload_packet_len >= 244
//确认当前检测的数据包的payload区长度大于244
二、(packet->udp->source == htons(67)|| packet->udp->source == htons(68))
三、(packet->udp->dest == htons(67) || packet->udp->dest == htons(68))
/*
1)确认当前检测的报文的数据包的UDP包的目的端口为67或68。
2)sever的端口位67,client的端口位68。
*/
四、get_u32(packet->payload, 236) == htonl(0x63825363)
/*
1)#define get_u32(X,O) (*(u32 *)(((u8 *)X) + O))的目的是,从u8型X指针指向
的地址区域中,第O个地址开始取四个字节的内容。
2)htonl(u_long hostlong)将主机的无符号长整形数转换成网络字节顺序。
3)从任一DHCP协议类型的packet->payload区中第236位开始取四个字节,
确认Magic Cookie位的值为DHCP。
*/
五、get_u16(packet->payload, 240) == htons(0x3501))
/*
1)#define get_u16(X,O) (*(u16 *)(((u8 *)X) + O))的目的是,从u8型X指针指向
的地址区域中,第O个地址开始取两个字节的内容。
2)htons(u_short hostshort)将主机的无符号短整形数转换成网络字节顺序。
3)从任一DHCP协议类型的packet->payload区中第240位开始取两个字节,
确认DHCP Message类型为53且长度为1。
4)0x3501是确认当前payload区位置的option项中t=53且length=1。
5)(检测不需要用到第三个值,Value是用于确认DHCP协议是八种类型中的
哪一种,此case中value的值02表示此DHCP协议类型为第二种,DHCP OFFER
*/
若以上五个特征值完全符合:
则下一步为调用ipoque_int_dhcp_add_connection(ipoque_struct),将当前流和数据包的detected_protocol值标识为IPOQUE_PROTOCOL_DHCP。
否则:
将当前流的excluded_protocol_bitmask的IPOQUE_PROTOCOL_DHCP位置为1。
排除当前流的是DHCP协议的可能。
至此,DHCP的检测结束。