自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

我們一起談?wù)凞HCP協(xié)議

網(wǎng)絡(luò) 通信技術(shù)
DHCP(DynamicHost ConfigurationProtocol),動(dòng)態(tài)主機(jī)配置協(xié)議,是一個(gè)應(yīng)用層協(xié)議。當(dāng)我們將客戶主機(jī)ip地址設(shè)置為動(dòng)態(tài)獲取方式時(shí),DHCP服務(wù)器就會(huì)根據(jù)DHCP協(xié)議給客戶端分配IP,使得客戶機(jī)能夠利用這個(gè)IP上網(wǎng)。

 [[375124]]

01DHCP協(xié)議簡介

DHCP(DynamicHost ConfigurationProtocol),動(dòng)態(tài)主機(jī)配置協(xié)議,是一個(gè)應(yīng)用層協(xié)議,具體可以參考《TCP/IP四層模型》文章。當(dāng)我們將客戶主機(jī)ip地址設(shè)置為動(dòng)態(tài)獲取方式時(shí),DHCP服務(wù)器就會(huì)根據(jù)DHCP協(xié)議給客戶端分配IP,使得客戶機(jī)能夠利用這個(gè)IP上網(wǎng)。

DHCP的幾個(gè)概念:

DHCPClient:DHCP客戶端,通過DHCP協(xié)議請求IP地址的客戶端。DHCP客戶端是接口級的概念,如果一個(gè)主機(jī)有多個(gè)以太接口,則該主機(jī)上的每個(gè)接口都可以配置成一個(gè)DHCP客戶端。交換機(jī)上每個(gè)Vlan接口也可以配置成一個(gè)DHCP客戶端。

DHCPServer:DHCP服務(wù)端,負(fù)責(zé)為DHCP客戶端提供IP地址,并且負(fù)責(zé)管理分配的IP地址。

DHCPRelay:DHCP中繼器,DHCP客戶端跨網(wǎng)段申請IP地址的時(shí)候,實(shí)現(xiàn)DHCP報(bào)文的轉(zhuǎn)發(fā)功能。

DHCPSecurity:DHCP安全特性,實(shí)現(xiàn)合法用戶IP地址表的管理功能。

DHCPSnooping:DHCP監(jiān)聽,記錄通過二層設(shè)備申請到IP地址的用戶信息。

02DHCP工作原理

DHCP使用UDP協(xié)議工作,采用67(DHCP服務(wù)器端)和68(DHCP客戶端)兩個(gè)端口號。546號端口用于DHCPv6Client,而不用于DHCPv4,是為DHCPfailover服務(wù)。DHCP客戶端向DHCP服務(wù)器發(fā)送的報(bào)文稱之為DHCP請求報(bào)文,而DHCP服務(wù)器向DHCP客戶端發(fā)送的報(bào)文稱之為DHCP應(yīng)答報(bào)文。

DHCP交互過程共分為4步

第一步

Client端在局域網(wǎng)內(nèi)發(fā)起一個(gè)DHCP Discover包,目的是想發(fā)現(xiàn)能夠給它提供IP的DHCPServer。

第二步

可用的DHCPServer接收到Discover包之后,通過發(fā)送DHCPOffer包給予Client端應(yīng)答,意在告訴Client端它可以提供IP地址。

第三步

Client端接收到Offer包之后,發(fā)送DHCPRequest包請求分配IP。

第四步

DHCPServer發(fā)送ACK數(shù)據(jù)包,確認(rèn)信息。

03Wireshark抓包分析

要想抓取到DHCP包,先要保證有可用的DHCP服務(wù)器,然后將主機(jī)IP地址獲取方式設(shè)置為自動(dòng)獲取。我們的測試環(huán)境是,筆記本設(shè)置為DHCP模式,路由開啟DHCP服務(wù)。由于筆記本在開機(jī)時(shí)想路由DHCP去獲取IP,開機(jī)時(shí)無法迅速打開wireshark軟件進(jìn)行抓包,我們使用以下命令先斷開主機(jī)的網(wǎng)絡(luò)連接,然后再連接網(wǎng)絡(luò)。

  1. ipconfig /release 
  2. ipconfig /renew 

在cmd中可以使用ipconfig/?查看各參數(shù)的含義:

命令詳解:

(1)ipconfig /release

斷開當(dāng)前的網(wǎng)絡(luò)連接,主機(jī)IP變?yōu)?.0.0.0,主機(jī)與網(wǎng)絡(luò)斷開,不能訪問網(wǎng)絡(luò)。

(2)ipconfig /renew

更新適配器信息,請求連接網(wǎng)絡(luò),這條命令結(jié)束之后,主機(jī)會(huì)獲得一個(gè)可用的IP,再次接入網(wǎng)絡(luò)。

抓取的數(shù)據(jù)包如下,注意使用dhcp過濾條件。

wireshark抓包文件

鏈接:https://pan.baidu.com/s/1RzvISOkzkVoWOzJDRi5NwQ

提取碼:lpg9

(提示:公眾號不支持外鏈接,請復(fù)制鏈接到瀏覽器下載)

可以清楚看到DHCP的四個(gè)步驟。

DHCP Discover數(shù)據(jù)包

在Discover階段,可以看出客戶端發(fā)出的是廣播復(fù)制,MAC地址廣播相關(guān)內(nèi)容請看《802.3以太網(wǎng)幀》,IP地址廣播相關(guān)內(nèi)容請看《IP協(xié)議詳解》。從下圖也可以看出DHCP是基于UDP協(xié)議的,采用67(DHCP服務(wù)器端)和68(DHCP客戶端)兩個(gè)端口號,這個(gè)上文講過了,在抓包文件中證實(shí)了。DHCP報(bào)文格式基于BOOTP的報(bào)文格式,DHCP具體的報(bào)文格式并不是本文重點(diǎn),本文并不會(huì)詳細(xì)講解DHCP報(bào)文中每個(gè)字節(jié)的含義。

DHCP Offer包

當(dāng)DHCP服務(wù)器收到一條DHCPDiscover數(shù)據(jù)包時(shí),用一個(gè)DHCPOfferr包給予客戶端響應(yīng)。 這一數(shù)據(jù)報(bào)中客戶客戶端獲取到了最重要的IP地址信息。除此之外,服務(wù)器還發(fā)送了子網(wǎng)掩碼,路由器,DNS,域名,IP地址租用期等信息。

DHCP服務(wù)器仍然使用廣播地址作為目的地址,因?yàn)榇藭r(shí)請求分配IP的Client并沒有自己ip,而可能有多個(gè)Client在使用0.0.0.0這個(gè)IP作為源IP向DHCP服務(wù)器發(fā)出IP分配請求,DHCP也不能使用0.0.0.0這個(gè)IP作為目的IP地址,于是依然采用廣播的方式,告訴正在請求的Client們,這是一臺可以使用的DHCP服務(wù)器。

DHCP Request包

當(dāng)Client收到了DHCPOffer包以后(如果有多個(gè)可用的DHCP服務(wù)器,那么可能會(huì)收到多個(gè)DHCPOffer包),確認(rèn)有可以和它交互的DHCP服務(wù)器存在,于是Client發(fā)送Request數(shù)據(jù)包,請求分配IP。

此時(shí)的源IP和目的IP依然是0.0.0.0和255.255.255.255。

DHCP ACK包

服務(wù)器用DHCPACK包對DHCP請求進(jìn)行響應(yīng)。 

04DHCP缺點(diǎn)

DHCP可以很好的進(jìn)行IP地址的分配,但是DHCP協(xié)議已存在一些缺點(diǎn),如:

1、DHCP協(xié)議不支持跨網(wǎng)段進(jìn)行地址分配

2、DHCP協(xié)議不能獲取非DHCP客戶端的IP地址,在地址池設(shè)置不合理的情況下可能會(huì)造成地址沖突。

基于上述的缺陷,我們需要合理對IP地址池進(jìn)行設(shè)置,并預(yù)留一些IP地址,分配給需要固定IP的服務(wù)器。

本文轉(zhuǎn)載自微信公眾號「 知曉編程」,可以通過以下二維碼關(guān)注。轉(zhuǎn)載本文請聯(lián)系 知曉編程公眾號。

 

責(zé)任編輯:武曉燕 來源: 知曉編程
相關(guān)推薦

2021-12-16 12:01:21

區(qū)塊鏈Libra貨幣

2022-02-23 08:41:58

NATIPv4IPv6

2022-11-02 08:41:40

2022-04-07 11:43:24

UPnPDLNA協(xié)議

2021-08-27 07:06:10

IOJava抽象

2024-02-20 21:34:16

循環(huán)GolangGo

2021-07-28 07:53:20

Github ActiDotnet 應(yīng)用

2022-01-17 06:59:40

Grep指令linux

2021-12-29 08:27:05

ByteBuffer磁盤服務(wù)器

2022-03-08 17:52:58

TCP格式IP

2023-08-04 08:20:56

DockerfileDocker工具

2021-08-27 07:06:09

DubboDocker技術(shù)

2022-03-31 18:59:43

數(shù)據(jù)庫InnoDBMySQL

2022-05-24 08:21:16

數(shù)據(jù)安全API

2023-08-10 08:28:46

網(wǎng)絡(luò)編程通信

2022-10-18 07:33:57

Maven構(gòu)建工具

2023-09-10 21:42:31

2023-06-30 08:18:51

敏捷開發(fā)模式

2021-07-02 20:46:06

Go接口動(dòng)態(tài)

2022-12-07 09:01:14

布局容器VStack?
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號