• DHCP服务器的搭建及抓包分析DHCP的实现


    原文:http://blog.51cto.com/liwenhui/105129



    1、环境搭建:
         DC&DHCP SERVER
         IP:192.168.1.254 ( 这是一台DC兼DHCP服务器,设静态IP )
         Mask:255.255.255.0
         DG:192.168.1.7(DHCP中继代理“本地连接”的IP)
         作用域 (IP地址范围) : 192.168.2.1~192.168.2.254(在此仅为2.0网段做DHCP)
         作用域选项:“003路由器”---添加IP:192.168.1.7,这是为所有2.0网段的客户机添加默认网关;“006DNS服务器”---添加IP:192.168.1.254,这是客户机的首选DNS服务器,因为要加入域。
         添加排除:192.168.1.7~192.168.1.8(排除DHCP中继代理“本地连接2”的IP地址)
         DHCP中继代理(用一台双网卡的windows2003机器做中继代理)
         本地连接
         IP:192.168.1.7(static)
         Mask:255.255.255.0
        本地连接2
         IP:192.168.2.7 (satic)
         Mask:255.255.255.0 
       DHCP CLIENT
       设置IP地址自动获取,若在工作组的状态,加入域前必须先获得IP地址和DNS等信息。
           
    2、起路由:管理工具---路由和远程访问---VPC2---配置并启用路由和远程访问---自定义配置,下一步---LAN路由,下一步---要开始服务吗?是。
         开中继:打开管理工具---路由和远程访问---VPC2(本地)---IP路由选择下面的“常规”---新增路由协议---选择“DHCP中继代理程序”,确定;
         指定服务:右键单击“DHCP中继代理程序”----属性----添加DHCP服务器地址:192.168.1.254----点“确定”,定位到DHCP服务器;
         指定接口:右键单击“DHCP中继代理程序”----“新增接口”--选择“本地连接2”,使该路由协议在“本地连接2”这个接口上运行。

    3、在DHCP中继代理上抓包并分析DHCP实现的过程:
    在客户机上执行ipconfig /release、ipconfig/renew后,在DHCP中继代理“本地连接2”上抓包(图1):

    在 客户机上执行ipconfig /release、ipconfig/renew后,在DHCP中继代理“本地连接”上抓包(图2):

    看图说话(注意,由于图 1和图2并不是同时抓取生成,所以两图的time项没有直接联系):
    图1NO.1:由于客户机此时没有IP地址,所以执行ipconfig /renew后它发出一个DHCP Discover广播包以请求IP地址,该包包括源地址(客户机)0.0.0.0,目标地址255.255.255.255,客户机的MAC地址和计算机名;
    图2NO.1:DHCP中继代理与客户机相连的本地连接2接口收到客户机的DHCP Discovery广播包后,直接转发给DHCP服务器(源地址192.168.2.7,目标地址192.168.1.254),为什么?因为我们在“DHCP中继代理程序”里给“本地连接2”配置了路由协议。
    图2NO.2:DHCP服务器收到192.168.2.7转发过来的IP请求后,给本地连接2做出DHCP Offer应答,所以图2NO.2中的Source(源地址)变成了192.168.1.254,Destination(目标地址)变成192.168.2.7;
    图2NO.3:192.168.2.7(本地接口2)转发DHCP Offer广播包,因为是广播,所以,在客户机收到的同时,本地连接也同样收到,为什么本地连接无法直接收到客户机发送的图1NO.1广播包?很简单,我们的DHCP中继代理是一个路由器,本地连接和本地连接2属于不同的广播域;
    图1NO.2:第一个Discovery包广播出去后没有及时得到回应(实际上192.168.2.7正在帮它转发,也就是图2NO.1和NO.2的过程),所以它不甘心的发出了第二个。
    图1NO.3:同图2NO.3,不再废话;
    图1NO.4:客户机收到192.168.2.7(本地接口2)转发DHCP Offer广播包选择IP地址后做出DHCP Request回应,同样采取广播的形式;
    图2NO.4:192.168.2.7(本地接口2)替客户机转发转发DHCP Request广播包,目标192.168.1.254;
    图2NO.5:DHCP服务器收到DHCP Request包后确认IP租约,以DHCP ACK消息的形式发送给192.168.2.7,由本地连接2广播给客户机(因为此时客户机还是没有IP地址),图2NO.6和图1NO.5就是便是这个广播,客户机收到该包后,将配置IP地址,完成TCP/IP的初始化,从而可以在TCP/IP网络上通讯了。
           有意思的是,IP为192.168.1.7的本地连接似乎从头到尾都没参与这个过程,它看着数据从它面前匆忙的来回流动却不能参与其中,从图1图2中,我们看不到它的影子。其实,如果没有它的存在,也就是说,本地连接没有IP,所有的一切都将不可能实现。也许这也是一个网络管理员在公司所处位置真实的写照吧。

  • 相关阅读:
    webservice呈现调用导致呈现当机.
    【ES6】Promise用法
    腾讯地图JavaScript API调用
    【微信小程序】微信开发者工具快捷键汇总
    【微信小程序】小程序模拟调用本地json接口数据
    【微信小程序】小程序系统API
    【git和GitHub】分布式版本控制Git和代码远程仓库GitHub
    【微信小程序】组件化开发
    【微信小程序】小程序开发注意事项
    【微信小程序】引入外部js 方法
  • 原文地址:https://www.cnblogs.com/liuchaogege/p/8080588.html
Copyright © 2020-2023  润新知