日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

DHCP : 网络世界身份的获取

發布時間:2024/4/15 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 DHCP : 网络世界身份的获取 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

DHCP 協議


DHCP(Dynamic Host Configuration Protocol,動態主機配置協議)前身是 BOOTP 協議,是一個局域網的網絡協議。它是一種?服務器- 客戶端?的工作模式,使用 UDP 協議工作,常用的 2 個端口:67(DHCP server), 68(DHCP ?client)。

DHCP 通常被用于局域網環境,主要作用是集中的管理、分配 IP 地址,使 client 動態的獲得 IP 地址、Gateway 地址、DNS 服務器地址等信息,并能夠提升地址的使用率。

DHCP 報文種類


DHCP 一共有 8 種報文,分別為 DHCP Discover、DHCP Offer、DHCP Request、DHCP ACK、DHCP NAK、DHCP Release、DHCP Decline、DHCP Inform。各種類型報文的基本功能如下:

DHCP報文類型說明
DHCP DiscoverDHCP 客戶端在請求 IP 地址時并不知道 DHCP 服務器的位置,因此 DHCP 客戶端會在本地網絡內以廣播方式發送 Discover 請求報文,以發現網絡中的 DHCP 服務器。所有收到 Discover 報文的 DHCP 服務器都會發送應答報文,DHCP 客戶端據此可以知道網絡中存在的 DHCP 服務器的位置。
DHCP OfferDHCP 服務器收到 Discover 報文后,就會在所配置的地址池中查找一個合適的IP地址,加上相應的租約期限和其他配置信息(如網關、DNS服務器等),構造一個 Offer 報文,發送給 DHCP 客戶端,告知用戶本服務器可以為其提供 IP 地址。但這個報文只是告訴 DHCP 客戶端可以提供 IP 地址,最終還需要客戶端通過 ARP 來檢測該 IP 地址是否重復。
DHCP RequestDHCP 客戶端可能會收到很多 Offer 請求報文,所以必須在這些應答中選擇一個。通常是選擇第一個 Offer 應答報文的服務器作為自己的目標服務器,并向該服務器發送一個廣播的 Request 請求報文,通告選擇的服務器,希望獲得所分配的IP地址。另外,DHCP 客戶端在成功獲取 IP 地址后,在地址使用租期達到 50% 時,會向 DHCP 服務器發送單播 Request 請求報文請求續延租約,如果沒有收到 ACK 報文,在租期達到 87.5% 時,會再次發送廣播的 Request 請求報文以請求續延租約。
DHCP ACKDHCP 服務器收到 Request 請求報文后,根據 Request 報文中攜帶的用戶 MAC 來查找有沒有相應的租約記錄,如果有則發送 ACK 應答報文,通知用戶可以使用分配的 IP 地址。
DHCP NAK如果 DHCP 服務器收到 Request 請求報文后,沒有發現有相應的租約記錄或者由于某些原因無法正常分配 IP 地址,則向 DHCP 客戶端發送 NAK 應答報文,通知用戶無法分配合適的 IP 地址。
DHCP Release當 DHCP 客戶端不再需要使用分配 IP 地址時,就會主動向 DHCP 服務器發送 RELEASE 請求報文,告知服務器用戶不再需要分配 IP 地址,請求 DHCP 服務器釋放對應的 IP 地址。
DHCP Decline當客戶端發現服務器分配的IP地址無法使用(如IP地址沖突時),則會向 DHCP 服務器發送 Decline 請求報文,通知服務器所分配的 IP 地址不可用,以期獲得新的 IP 地址。
DHCP InformDHCP 客戶端如果需要從 DHCP 服務器端獲取更為詳細的配置信息,則向 DHCP 服務器發送Inform 請求報文;目前基本上已經棄用了。

正常的工作流程如下:

 ? ? ? ?  

? ? ? ? ? ? ? ? ? ? ? ? ? ? ?DHCP 工作過程

DHCP 報文格式


DHCP 服務的 8 種報文的格式是相同的,不同類型的報文只是報文中的某些字段取值不同。DHCP 報文格式基于 BOOTP 的報文格式,如下圖所示:

      

                              DHCP 報文格式

下面是各字段的說明。

  • OP?: 報文的操作類型。若是 client 送給 server 的封包,設為 1 ,反向為 2。

  • htype?: 客戶端的MAC地址類型 ,Ethernet 為 1。

  • hlen?: 客戶端的 MAC 地址長度 , Ethernet 為 6。

  • hops?: DHCP 報文經過的 DHCP 中繼的數目,默認為 0。DHCP 請求報文每經過一個 DHCP 中繼,該字段就會增加 1。沒有經過 DHCP 中繼時值為 0。

  • **xid **: 隨機生成的一段字符串,兩個數據包擁有相同的 xid 說明他們屬于同一次會話

  • secs?: DHCP 客戶端從獲取到 IP 地址或者續約過程開始到現在所消耗的時間,以秒為單位。

  • flags?: 標志位,只使用第 0 比特位,是廣播應答標識位,用來標識 DHCP 服務器應答報文是采用單播還是廣播發送,0 表示采用單播發送方式,1 表示采用廣播發送方式。其余位尚未使用。

  • **ciaddr **: 客戶端的 IP 地址。僅在 DHCP 服務器發送的ACK報文中顯示,在其他報文中均顯示0

  • **yiaddr **: DHCP 服務器分配給客戶端的 IP 地址。僅在 DHCP 服務器發送的 Offer 和 ACK 報文中顯示,其他報文中顯示為 0。

  • siaddr?: 若 client 需要透過網絡開機,從 server 送出之 DHCP OFFER、DHCPACK、DHCPNACK封包中,此欄填寫開機程序代碼所在 server 之地址。

  • **giaddr **: 若需跨網域進行 DHCP 發放,此欄為 relay agent 的地址,否則為 0。

  • chaddr?: DHCP 客戶端的 MAC 地址

  • sname?: DHCP 服務器的名稱(DNS域名格式)。在 Offer 和 ACK 報文中顯示發送報文的 DHCP 服務器名稱,其他報文顯示為0。

  • file?: 若 client 需要透過網絡開機,此欄將指出開機程序名稱,稍后以 TFTP 傳送。

  • options?: 允許廠商定義選項(Vendor-Specific Area),以提供更多的設定信息(如:Netmask、Gateway、DNS、等等)。長度可變,格式為"代碼+長度+數據"。

列出 options 部分可選的選項:

代碼長度(字節)說明
14子網掩碼
3長度可變,必須是4個字節的倍數。默認網關(可以是一個路由器IP地址列表)
6長度可變,必須是4個字節的整數倍。DNS服務器(可以是一個DNS服務器IP地址列表)
15長度可變域名稱(主DNS服務器名稱)
44長度可變,必須是4個字節的整數倍。WINS服務器(可以是一個WINS服務器IP列表)
514有效租約期(以秒為單位)
531報文類型1: DHCP Discover2: DHCP Offer3: DHCP Request4: DHCP Decline5: DHCP ACK6: DHCP NAK7: DHCP Release8: DHCP Inform
584續約時間

?

抓包分析


QEMU 在剛開始運行的時候就會自動運行 DHCP,只要在開始運行 QEMU 之前開啟抓包就能抓到 DHCP 的包

  • 打開 wireshark 軟件 開啟抓包,設定過濾條件為 bootp,只顯示 DHCP 相關的包。

  • 運行 QEMU

  • 查看 wireshark ,發現已經抓到了 DHCP 協議 的數據包,已經抓取到的DHCP協議的數據包

        

    ?

    其中的 1-6 就對應著上面的工作流程的那 6 個過程。

    我們也可以點開封包詳細信息然后和上面的 DHCP 的報文格式做對比

    點開 DHCP Discover 數據包, 從下圖可以看出,DHCP 屬于應用層協議,它在傳輸層使用 UDP 協議,目的端口是 67。

          

    ?

            DHCP Discover 數據包

    當然還有回復 DHCP 服務器響應請求的數據包,如下圖所示:

        

                  DHCP 服務器響應請求的數據包

    其他的一些選項對照著上面的報文格式做對比,就可以很容易的了解 DHCP 協議的工作過程了。

    轉載于:https://www.cnblogs.com/jiangzhaowei/p/10186585.html

    總結

    以上是生活随笔為你收集整理的DHCP : 网络世界身份的获取的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。