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:
request:廣播,確定與此dhcp建立關係,並協商租約(此處之所以廣播是因為要告知其他的dhcp server,選擇了該dhcp,其他可以釋放)
ack:確認應答。
報文分析
首次獲取TCP/IP引數
四步都是廣播發送。
報文摘要中 DHCP:request 和 DHCP: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