DHCP,Dynamic Host Configuration Protocol,動態主機配置協議,簡單來說就是主機獲取IP地址的程序,屬于應用層協議,
DHCP采用UDP的68(客戶端)和67(服務器)埠進行通信,
【程序】
DHCP程序主要為DHCP Discover-->DHCP Offer-->DHCP Request-->DHCP Ack四個程序,
通過Wireshark抓取DHCP獲取IP程序的資料報文,
1、開Wireshark抓包
2、PC當前已有IP,使用cmd命令釋放IP(ipconfig /release),并重新獲取IP(ipconfig /renew)

3、停止抓包,使用bootp過濾報文,

4、可以看到圖中的5個報文,其中DHCP Release報文為PC釋放IP時發出的報文,

獲取IP時,PC會發送DHCP Discover廣播報文,由于當前PC沒有IP,故源IP為0.0.0.0;特別要注意到的是,PC會隨機出一個Transaction ID,如果之后收到的Offer報文中的Transaction ID與PC模擬出的不同,PC會將該Offer報文直接丟棄,

DHCP Offer報文

DHCP Request報文

DHCP Ack報文

【模擬服務器發送Offer報文的程序及注意事項】
1、保證服務器與客戶端的連通性
2、準備好一個Offer報文(可編輯)
3、使用Wireshark抓取客戶端發出的Discover報文,確定當前客戶端隨機出的Transaction ID
4、更改Offer報文中的Transaction ID與Discover報文中一致
5、使用發包軟體發送Offer報文
注:Transaction ID
【地址租期】
DHCP服務器提供的每個IP地址都有相應的租用期,在Offer報文中的IP Address Lease Time中可以看到,地址租期時間過長會導致地址資源長期被占用,租期過短會導致DHCP請求包過多,增加網路負擔,還要結合當前使用場景來設定,一般來說,對DHCP客戶端數量較大,且斷開網路比較頻繁的場所,如機場、商鋪等,一般把DHCP租期配置較短,這樣IP地址能很快被回收,
【IP續租程序】
客戶端會在地址租期還有1/2的時候,向DHCP服務器發送DHCP Request報文;如果收到服務器的DHCP Ack后,客戶端的IP地址租期重新回滿,
如果未收到Ack,可繼續使用該IP,在租期還有1/4時發出第二次Request報文;如果收到Ack,租期回滿;
如果未收到Ack,在租期還有1/8時發出第三次Request報文,如果收到Ack,租期回滿
如果未收到Ack,租期結束后IP被回收,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/27484.html
標籤:其他
