如何給 SAP Fiori Elements 應用的欄位新增 value help
學習起因
由於面試問到DHCP,然後一臉懵逼了, 還向面試官確認了下說的是啥?然後面試官直接寫了出來,還是不知道...... 下來後決心好好看看除了http和tcp以外的協議,這幾天的面試下來覺得自己確實基礎不紮實,希望自己不要太急,慢慢來。
DHCP
定義
DHCP(Dyncamic Host Configuration Protrocl),動態主機配置協議,屬於應用層的協議。如果客戶端機器的IP地址設定為動態獲取方式,DHCP伺服器會根據DHCP協議向客戶端主機分配一個IP地址,客戶端主機就可以使用這個IP地址上網。DHCP的前身是BOOTP,作用也是向客戶端動態分配IP地址,但是BOOTP的功能沒有DHCP複雜和強大。
注意
如果客戶端主機此時已經有IP地址時,如果要獲得DHCP分配的IP地址時,需要先使用命令 ipconfig /release 釋放當前的ip地址,並將獲取ip地址的方式改為自動獲取。
具體流程
DHCP實現的具體流程可以分為4步:
第一步:客戶端在區域網內發出一個DHCP DISCOVER包,用來讓DHCP伺服器發現客戶端。
第二步:DHCP在區域網中接收到discover包,然後發出一個DHCP OFFER包對客戶端做出響應。
第三步:客戶端主機向這個DHCP伺服器發出DHCP REQUEST包,目的是向DHCP伺服器請求分配客戶端主機。
第四步:DHCP伺服器向客戶端主機發送DHCP ACK包,用來告訴客戶端ip地址,以及一些確認資訊。
具體分析
首先使用ipconfig /release斷開當前網路(如果有網路的話),會發送一個DHCP REALEASE包,地址變成0.0.0.0。再使用ipconfig /renew 更新介面卡,請求網路連線,這樣主機會獲得一個可用的IP地址。而ipconfig /renew這條命令會產生4個DHCP包(包含客戶端和服務端)。四個資料包分別是:DHCP Discover、DHCP Offer、DHCP Request、DHCP ACK四個包。
DHCP Disover包:客戶端使用ip地址0.0.0.0通過廣播形式傳送disvoer包,客戶端向通過這個包發現可以分配地址的DHCP伺服器。在傳輸層使用的是UDP協議,埠為67。
DHCP Offer包:DHCP伺服器在收到discover包後,廣播發出一個offer包,告訴了客戶端這是一個可用的DHCP伺服器,裡面包含了可以分配的ip地址和子網掩碼、閘道器等資訊,因為此時可能有多個客戶端用0.0.0.0作為IP地址發出discover,所以伺服器不能以0.0.0.0作為目的地址,只能通過廣播的形式將offer包傳送出去。
DHCP Request包:客戶端主機在收到伺服器的Offer包後,確認可以和它進行互動的DHCP伺服器存在,於是Client向伺服器傳送DHCP Request包。此時源地址依然為0.0.0.0,目標地址為255.255.255.255,所以也是廣播的形。
DHCP ACK包:伺服器使用ACK包對Request包進行響應。ACK包主要包含分配的ip地址,後面包括一些option資訊,包括伺服器傳送的請求訊息型別為ACK和身份標識,後面子網掩碼和路由器,域名伺服器,和域名等資訊。
DHCP飢餓攻擊
主要是偽造合法MAC地址,不斷髮出Request包,將DHCP分配的IP地址用完,因此這臺DHCP伺服器就不能為其他客戶端主機分配IP地址了,此時再偽造出一臺DHCP伺服器,向其他客戶端主機分配ip地址,將客戶端的預設閘道器和DNS都設定成自己的機器於是便可以對客戶端進行中間人攻擊。