实验目的:
1、通过Wireshark抓取和分析UDP和DHCP分组。
2、掌握UDP和DHCP的工作原理。
实验拓扑:
实验原理:
1、UDP简介:UDP<User Datagram Protocol,用户数据报协议>,提供面向无连接的不可靠传输的通信服务,与TCP协议一起处于传输层。UDP的特点是高效快速,常用的UDP应用有DHCP、DNS、TFTP协议等。
2、DHCP简介:DHCP< Dynamic Host Configuration Protocol, ,动态主机配置协议>,为网络中的设备提供动态IP地址信息,包括IP地址、网关、DNS等等。DHCP可以使得整个网络的地址分配变得非常简单,大大减低了网络管理员的工作量。DHCP基于UDP协议,采用端口号为67和68,其中68端口为DHCP客户端采用,67端口为DHCP服务端采用。
3、DHCP原理:DHCP采用发现、提供、请求、确认4个分组完成整个IP地址的请求和分配过程,如下:
DHCP客户端首先向局域网广播发送DHCP发现分组,源IP为0.0.0.0,目的IP为255.255.255.255,接收到发现分组的服务器会从地址池拿出一个IP出来,并返回DHCP提供分组给客户端,告知本服务器能够提供地址;当客户端收到提供分组之后,会正式向服务器发送请求分组,此时服务器发送确认分组正式将地址分配给客户端。整个DHCP地址分配过程,采用广播包方式交互,若同时有几个DHCP服务器时,则客户端能够收到多个提供分组,此时客户端优先选择最快到达本地的提供<OFFER>分组,并向其发起请求,在请求分组中夹带目的服务器的IP地址,其他服务器将地址收回。
实验步骤:
1、通过GNS3搭建实验拓扑,其中R1模拟DHCP客户端,R2模拟DHCP服务端,并开启接口配置IP地址,如下:
R1(config)#int f0/0
R1(config-if)#no shutdown
R1(config-if)#ip address dhcp
//在R1的接口开启DHCP地址自动获取
R2(config)#int f0/0
R2(config-if)#no shutdown
R2(config-if)#ip add 12.1.1.2 255.255.255.0
2、在R1和R2上开启wireshark抓包,并且在R2上部署DHCP服务,如下:
R2(config)#ip dhcp pool DHCP
//定义DHCP地址池,名字可以自定义
R2(dhcp-config)#network 12.1.1.0 /24
//定义地址池的网段
R2(dhcp-config)#default-router 12.1.1.2
//定义网关地址
R2(dhcp-config)#dns-server 8.8.8.8
//定义DNS地址
R2(dhcp-config)#lease 7
//定义地址租期,此处表示地址可用租期为7天
3、在R1上查看是否获取到地址,如下:
R1#show ip int brief
Interface IP-Address OK? Method Status Protocol
FastEthernet0/0 12.1.1.1 YES DHCP up up
可以看到,此处R1已经通过DHCP获取到地址。
4、打开wireshark,观察UDP和DHCP分组,如下:
(1)打开DHCP分组,打开UDP头部,如下:
以下列表对UDP头部字段进行解读:
字段 |
解释 |
Source port |
源端口,DHCP客户端端口为68 |
Destination port |
目的端口,DHCP服务端端口为67 |
Length |
长度,标识UDP头部和上层数据的总长度 |
Checksum |
校验和,标识此数据包是否完整或被修改 |
可以看得,UDP的头部非常简单,所以没有像TCP的可靠传输或流量控制功能等。
(2)打开DHCP DISCOVER<发现>分组,如下:
以下表格详细解读了DHCP发现分组的重要字段:
字段 |
解释 |
Your (client) IP address |
客户IP地址,客户端请求时为全0,服务端返回时将地址填充进来 |
Client MAC address |
客户MAC地址,客户端发起请求时必须填充此字段,服务端分配地址后将MAC与IP绑定在本地地址池中。 |
Option 53 |
选项53,标识DHCP分组类型 |
Option 57 |
选项57,标识最大的DHCP分组长度 |
Option 61 |
选项61,客户标识符 |
Option 12 |
选项12,标识主机名 |
Option 55 |
选项55,标识客户请求参数 |
(3)打开DHCP OFFER<提供>分组,如下:
以下表格详细解读了DHCP提供分组的重要字段
字段 |
解释 |
Option 54 |
选项54,标识DHCP服务器IP地址 |
Option 51 |
选项51,标识DHCP地址租期 |
Option 1 |
选项1,标识IP地址掩码 |
Option 3 |
选项3,标识网关IP地址 |
Option 6 |
选项6,标识DNS服务器地址 |
(4)打开DHCP REQUEST<请求>分组,如下:
以下表格详细解读了DHCP请求分组的重要字段:
字段 |
解释 |
Option 50 |
选项50,标识客户端所请求的IP地址 |
(5)打开DHCP ACK<应答>分组,如下:
应答分组的选项值在之前有解读,此处略过。可以看到,DHCP分组的大部分字段内容由选型值组成。此实验完成。
- 还没有人评论,欢迎说说您的想法!