1. 程式人生 > >NCRE-3 計算機等級考試三級網路技術搶救方略:DHCP報文分析相關

NCRE-3 計算機等級考試三級網路技術搶救方略:DHCP報文分析相關

DHCP報文分析

DHCP,Dynamic Host Configuration Protocol,動態主機配置協議,是用來進行ip地址的動態分配的一種方式。由網路站點提出DHCP請求,從DHCP伺服器上自動獲取一個TCP/IP屬性資訊,如ip地址,預設閘道器,域名,dns伺服器等。網路站點登出以後,就將地址釋放,從而每次的ip地址都可能是不同的。動態地址分配可以有效的利用ip地址資源。

考核方式是通過ipconfig /… 相關命令得到的結果進行分析

ipconfig /all 檢視本地連線的tcp/ip引數
ipconfig /release 釋放動態獲取的tcp/ip引數
ipconfig
/renew 重新獲取tcp/ip引數

physical addr:48bit,分成6組,每組一個byte,寫成兩個十六進位制數hex,如:1c:1b:0d:e5:04:55
DHCP enable:yes 表示動態獲取ip
DHCP server:DHCP伺服器的地址

DHCP工作流程

Client / Server

這裡寫圖片描述

客戶端 首次獲取 TCP/ip的過程:discover,offer,request,ack

這4次互動都是用廣播的方式進行,因為這個過程中client還沒有ip地址,要進行獲取。

discover:源地址0.0.0.0,目的255.255.255.255,找dhcp伺服器

offer:

源地址伺服器地址,目的255.255.255.255,提供tcp/ip配置引數

request:廣播,確定與此dhcp建立關係,並協商租約(此處之所以廣播是因為要告知其他的dhcp server,選擇了該dhcp,其他可以釋放)

ack:確認應答。

報文分析

首次獲取TCP/IP引數

四步都是廣播發送。

報文摘要中 DHCP:requestDHCP:reply 分別代表客戶端發起和伺服器的回覆。Type中是具體的是哪一種,discover,offer,request,ack。

boot record type = 2 (reply) , 1 (request)
分別表示伺服器迴應和客戶端的請求

Client self-assigned address = [ 0.0.0.0 ]
由於是首次分配,所以沒有ip地址,用0.0.0.0

Client address 根據用ipconfig查到的資訊,就是ip address。

客戶端重新整理TCP/IP引數

首先Client發一個DHCP request,然後伺服器DHCP ack。
這兩次互動都是單播發送 。(因為已有ip地址)

執行ipconfig /renew 以後的報文分析:

目的地址單播,所以request是從Client ip到DHCP server ip,reply反之。

hardware address length : 6 bytes

客戶端硬體地址可以在ipconfig /all中可以找到,這裡注意DHCP報文中是無短橫線連線的,直接十六進位制數排好即可。

客戶端重新獲取TCP/IP引數

先釋放 /release 再 /renew。

由於首先需要請求釋放,所以有五次互動: request,discover,offer,request,ack

這裡的第一個request是從已有的客戶端ip到伺服器的ip,是一個單播報文。

之後和首次獲取一樣,廣播,並且客戶端源地址為0.0.0.0

舉個栗子:

這裡寫圖片描述

執行了release 和 renew以後的報文:

這裡寫圖片描述

只要還能在雨後的蘋果樹下呼吸,就還可以生活。 —— 作家,亞歷山大 索爾仁尼琴

2018年03月23日15:44:36