zoukankan      html  css  js  c++  java
  • Wireshark入门:分析DHCP协议的运行

    客户端主机使用DHCP动态获得IP地址主要分为以下4步:

    1,(Discover)

    客户端使用IP地址0.0.0.0(因为客户端还没有IP地址)发送一个广播(到255.255.255.255),来询问谁是DHCP服务器,广播域中的其他客户端主机会忽略收到的这个报文,因为他们不是DHCP服务器。

    用Wireshark抓到的这个报文包如下所示:

    可以看到客户端还没有IP地址

    (注:DHCP协议的前身是Bootstrap Protocol,所以这里看到的是Bootp)

    2,(Offer)
    DHCP服务器收到这条请求分配IP地址的数据包之后,会查看服务器维护的IP资源池,如果有可用IP,就会给主机提供一个IP地址

    如下所示:

    可以看到,DHCP服务器分配给主机的IP地址是192.168.0.164

    (注:这里DHCP服务器使用的是到192.168.0.164的单播数据包,因为客户端主机目前还没有IP地址,所以在这个单播IP发送之前,服务器会使用由ARP提供的客户端主机的MAC地址与之通信,这里可见使用MAC地址通信是成功的,如果MAC地址通信失败,那么服务器会使用广播的方式提供(Offer)数据包)

    3,(Request)

    客户端主机收到这个提供的IP地址之后,会再次请求服务器,询问自己可以使用这个IP地址吗,

    如下所示:

    这次客户端请求与第一次请求不同的是,这次请求已明确了想要获得的IP地址是192.168.0.164,

    4,(ACK)

    服务器收到这个请求之后,进行ACK确认

    至此,一次动态分配IP的过程结束。

    DHCP协议还有其他4中消息类型,分别是:拒绝、NAK、释放、通知。本文只是简单介绍DHCP的常规运行,这里就不再介绍这4种类型。

  • 相关阅读:
    css3的clip-path方法剪裁实现
    vue-cli3.0之vue.config.js的配置项(注解)
    用Canvas实现一些简单的图片滤镜
    转《图像处理之表面滤波》
    vue-axios的application/x-www-form-urlencod的post请求无法解析参数
    如何在linux中执行一个脚本
    列表、字典、元组小练习
    开发脚本自动部署及监控
    固化命令的方式、sed文本处理工具
    nginx服务、nginx反向代理和nfs共享服务
  • 原文地址:https://www.cnblogs.com/zhnhelloworld/p/4139960.html
Copyright © 2011-2022 走看看