【基础】通过抓包分析微软DHCP报文和其它系统DHCP报文的不同(对比后才知道微软有多次)

1.    实验网络拓扑

使用ENSP模拟器(版本V100R002C00 1.2.00.350)

2.      实验需求:

1)       使用华为模拟器配置DHCP为C1自动分配IP地址

2)     使用VMware station搭建WindowsServer2008 DHCP服务器,并为Windows客户机分配IP地址

3)       使用wireshark抓取DHCP数据包

3.    实验步骤:

1)     华为设备IP地址规划配置如下:

R2是G0/0/0的ip为192.168.8.1/24

C1的IP为自动获得

2)    微软设备IP地址规划配置如下:

① 服务器的ip设为192.168.8.8/2

② 分配给客户端的ip地地池为:

192.168.8.10/24--192.168.8.20/24

3)      配置脚本:

① 配置我们之前都学过,这里不再写,我们重点看DHCP抓包结果;使用命令ipconfig/release释放原ip,再用ipconfig/renew重新获得ip

4.    抓包结果:

a.       华为设备DHCP抓包结果

1)        DHCP数据包:

通过抓取的数据包结果,我们看出DHCP有四个数据包,分别为:DHCPDiscover、DHCP Offer、DHCP Request、DHCP ACK;其中DHCP Discover、DHCP Request为广播,DHCP Offer、

DHCP ACK为单播,下面详细分析。

2)       DHCP Discover数据报文:

由上图可得,Discove数据报文是C1向整个广播域进行广播,ip地址、网关、掩码等三层信息都没有。意为:C1向广播域内寻找DHCP服务提供者,并申请为自己分配ip地址。

3)       DHCP Offer数据报文:

通过上面两张图片的分析,我们会发现华为设备发出的DHCP-OFFER报文的二层是单播的,三层也是单播的,尽管服务器分配的地址客户端还没有使用(甚至客户端都还没有收到这个OFFER报文),但是服务器已经将这个IP填充到了三层包头中。这样做的好处是,即使二层设备,由于各种原因,广播了数据帧,但是三层包头中的目标地址也不会和在线的任何一个主机一样,其它在线主机根本不会处理这个不属于自己目标IP的报文的。对于大型网络来说,这对网络性能和主机性能都是一种优化。

由上图可得,Offer数据报文是R1向C1进行单播。意为:提供DHCP服务的R2收到C1的申请,并告诉C1可用的ip地址(192.168.8.254)、网关(192.168.8.1)、掩码(/24)、DNS服务器(8.8.8.8)等,如果域中有多台DHCP服务器提供服务,则C1采取的是先到先得的准则

4)         DHCP Request数据报文:

由上图可得,C1收到R2的报文后并没有立刻就使用报文中的信息,而是C1向广播域进行广播,意为:C1向DHCP 服务器汇报自己收到的IP地址信息,并申请使用自己所得到的ip等信息,这就是Request数据报文。

5)        DHCP ACK数据报文:

由上图可得,R2收到C1是使用申请后,就向进行C1单播,告诉C1 其ip地址就是192.168.8.254、网关是92.168.8.1、掩码是/24、DNS服务器是8.8.8.8等,C1收到后就会将信息保留起来并使用,这就是ACK报文。需要注意的是,这个报文在华为设备发出的时候二层和三层也都是单播的。

b.      微软设备DHCP抓包结果

1)      DHCP报文:

2)        DHCP Discover数据报文:

通过上图的分析,微软系统发出的Discover报文和其它系统发出的没有区别,二层三层都是广播(这很容易理解,第一报文,客户端根本不知道服务器的任何信息,只能广播)

3)      DHCP Offer数据报文:

但是通过上图我们会发现,微软系统发出的OFFER报文,二层和三层都是广播的,这个真是不可以理解,这会导致同一广播域中的主机,浪费大量的资源来处理这些报文,一直要处理到应用层才知道这个报文原来和自己无关。非常的不够优化。

4)        DHCP Request数据报文:

请求报文并没有什么特殊,所有系统都是一样的二三层广播。

5)        DHCP ACK数据报文:

微软系统的ACK报文依然是二三层全网广播,很浪费同一广播域中其它主机的资源,不够优化。

5.     结论:

通过分析可看出,微软DHCP四个报文都是广播,很不优化,对于同一广播域中其它主机的资源是一种浪费(只要有主机向服务器请求地址,其它主机就要处理和自己无关的四个报文。)而华为设备,思科设备,LINUX系统等DHCP的Offer和 ACK两个报文则是单播的,这就大大节省了网络设备和同一广播域中其它主机的资源。

时间: 2024-10-18 04:53:52

【基础】通过抓包分析微软DHCP报文和其它系统DHCP报文的不同(对比后才知道微软有多次)的相关文章

数据抓包分析基础

数据包分析基础 数据包分析 数据包嗅探或协议分析:指捕获和解析网络上在线传输数据的过程,为了能更好的了解网络上正在发生的事情. 目的 软件:Tcpdump.Omnipeek.Wireshark 监听网络线路 集线器嗅探方式 流经集线器的所有网络数据包都会被发送到每一个集线器连接的端口. 交换机嗅探方式 端口镜像.集线器输出.使用网络分流器.ARP欺骗方式等四种方式 端口镜像 设置连接的交换机的端口镜像功能,将交换机其他一个或多个端口的经过的数据包复制一份到嗅探器连接的端口上. 集线器输出 目标设

Wireshark数据抓包分析——网络协议篇

Wireshark是目前最受欢迎的抓包工具.它可以运行在Windows.Linux及MAC OS X操作系统中,并提供了友好的图形界面.同时,Wireshark提供功能强大的数据抓包功能.使用它,可以以各种方式抓取用户所需要的网络数据包. 但是用户往往无法从数据包中直接获取所需要的数据.这是由于所有的信息在传输过程中,都会被按照各种网络协议进行封装.用户想要从海量的数据抓包中获取的有用的信息,必须了解各种常见的网络协议.为了方便用户对数据包的分析,本书详细介绍了常用的各种网络协议,如ARP.IP

第5组-17级通信工程3班-037-网络协议抓包分析

一.  地址规划表 本机地址 目的地址 网站 172.31.148.37 183.232.231.174/172 百度:www.baidu.com 39.137.28.125 中国移动:www.10086.cn 配置步骤:打开抓包软件,点击以太网进行抓包,然后打开浏览器进入www.baidu.com/www.10086.cn.等浏览器反应后等10s左右,然后关闭浏览器.在抓包软件上按上停止抓包按键,随后进行抓包分析. 二.应用层 2.1直播所测试的目的地址ip 图表 1 www.baidu.co

[转]Linux操作系统tcpdump抓包分析详解

PS:tcpdump是一个用于截取网络分组,并输出分组内容的工具,简单说就是数据包抓包工具.tcpdump凭借强大的功能和灵活的截取策略,使其成为Linux系统下用于网络分析和问题排查的首选工具. tcpdump提供了源代码,公开了接口,因此具备很强的可扩展性,对于网络维护和入侵者都是非常有用的工具.tcpdump存在于基本的Linux系统中,由于它需要将网络界面设置为混杂模式,普通用户不能正常执行,但具备root权限的用户可以直接执行它来获取网络上的信息.因此系统中存在网络分析工具主要不是对本

python编写网络抓包分析脚本

python编写网络抓包分析脚本 写网络抓包分析脚本,一个称手的sniffer工具是必不可少的,我习惯用Ethereal,简单,易用,基于winpcap的一个开源的软件 Ethereal自带许多协议的 decoder,但是它的架构并不灵活,如果你要加入一个自己定义的的解码器,得去修改Ethereal的代码,再重新编译,相当的烦琐 对于一般的明文协议,没有什么问题,但是对于加密协议,比如网络游戏,客户端程序一般会在刚连接上的时候,发送一个随机密钥,而后的报文都会用这个密钥进 行加密,诸如此类.要想

Wireshark和TcpDump抓包分析对比

常见的抓包分析工具有:微软的Network Monitor和Message Analyzer.Sniff.WSExplorer.SpyNet.iptools.WinNetCap.WinSock Expert.Wireshark和linux的tcpdump等工具 今天,做了实验测试就对比分析其中的两款,其他的大家可以百度谷歌测试一哈^_^ 1. Wireshark与tcpdump介绍 Wireshark是一个网络协议检测工具,支持Windows平台和Unix平台,我一般只在Windows平台下使用

抓包分析TCP的三次握手和四次握手

问题描写叙述: 在上一篇<怎样对Android设备进行抓包>中提到了,server的开发者须要我bug重现然后提供抓包给他们分析.所以抓好包自己也试着分析了一下.发现里面全是一些TCP协议和HTTP协议.所以要想进行抓包分析,必须先了解TCP的原理.这里介绍了TCP的建立连接的三次握手和断开连接的四次握手. 问题分析: 1.TCP建立连接的三次握手 1.1前言:介绍三次握手之前,先介绍TCP层的几个FLAGS字段,这个字段有例如以下的几种标示 SYN表示建立连接, FIN表示关闭连接. ACK

【计算机网络】wireshark抓包分析1

学习计算机网络很久了,但总是局限于书本知识,感觉get不到重点.经师兄建议用wireshark抓包分析看看. 我自己以前并没有做过抓包分析,所以这篇博文可能会有很多错误,只是我自己的一个记录,路过的亲们千万别当成教程,以免误入歧途.... TCP协议首部: 在Filter中设置为:ip.dst == 222.199.191.33 or ip.src == 222.199.191.33 这个地址是干什么的不知道,只是跟它的交互特别多,就选他了. 分析第一个包: 源地址:我自己电脑的IP,就不放上来

wireshark抓包分析

wireshark抓包分析 wireshark是非常流行的网络封包分析软件,功能十分强大.可以抓取各种网络包,并显示网络包的详细信息. 开始界面 wireshark是捕获机器上的某一块网卡的网络包,当你的机器上有多块网卡的时候,你需要选择一个网卡. 点击Caputre->Interfaces.. 出现下面对话框,选择正确的网卡.然后点击"Start"按钮, 开始抓包 Wireshark 窗口介绍 WireShark 主要分为这几个界面 1. Display Filter(显示过滤