各種場景的ARP攻擊描述筆記(超詳細)

1、ARP報文限速?

????????上一章我們說過ARP報文也是需要上送CPU進行處理的協議報文,如果設備對收到的大量ARP報文全部進行處理,可能導致CPU負荷過重而無法處理其他業務。因此,在處理之前需要對ARP報文進行限速,以保護CPU資源。

1.根據源MAC地址或源IP地址進行ARP限速

? ? ? ? 當設備檢測到某一個用戶在短時間內發送大量的ARP報文,可針對該用戶配置基于源MAC地址或源IP地址的ARP報文限速。在1s時間內,如果該用戶的ARP報文數目超過設定閾值(全局配置,適用于所有接口),則丟棄超出閾值部分的ARP報文。

  • 根據源MAC地址進行ARP報文限速時,如果指定MAC地址,則針對指定源MAC地址的ARP報文,根據限速值進行限速;如果不指定MAC地址,則針對每一個源MAC地址的ARP報文,根據限速值進行限速。(僅S5720EI、S5720HI、S6720EI、S6720HI和S6720S-EI子系列,以及框式系列交換機支持該功能
  • 根據源IP地址進行ARP報文限速時,如果指定IP地址,則針對指定源IP地址的ARP報文,根據限速值進行限速;如果不指定IP地址,則針對每一個源IP地址的ARP報文,根據限速值進行限速。

根據任意源MAC進行限速

SW1
system
sysname SW1
arp speed-limit source-mac maximum 100 //對任意源MAC限速

根據指定源MAC進行限速

arp speed-limit source-mac 0003-0f8c-1011 maximum 100 //對指定源MAC進行限速

根據任意源IP進行限速

arp speed-limit source-ip maximum 100 //對任意源IP進行限速

根據指定源IP進行限速

arp speed-limit source-ip 1.1.1.1 maximum 100

2.針對全局、VLAN和接口的ARP報文限速
? ? ? ? 設備支持在全局、VLAN和接口下配置ARP報文的限速值和限速時間,接口下的配置優先級最高,其次是VLAN下的配置,最后是全局的配置。

配置基于全局的ARP報文限速

arp anti-attack rate-limit enable

配置基于VLAN的ARP報文限速

vlan 1
arp anti-attack rate-limit enable

配置基于接口的ARP報文限速

interface g0/0/1
arp anti-attack rate-limit enable

我們也可以配置ARP報文的限速時間以及指定持續丟棄超過ARP報文限速值的接口下收到的所有ARP報文的時長。

arp anti-attack rate-limit 200 block timer 200

我們還可以配置告警閾值,當丟棄的ARP報文數超過告警閾值時,設備將產生告警信息。

arp anti-attack rate-limit alarm enable
arp anti-attack rate-limit alarm threshold 200

? ? ? ? 另外,如果設備的某個接口在ARP報文限速時間內接收到的ARP報文數目超過了設定閾值(ARP報文限速值),則丟棄超出閾值部分的ARP報文,并在接下來的一段時間內(即阻塞ARP報文時間段)持續丟棄該接口下收到的所有ARP報文。

  • 針對全局的ARP報文限速;在設備出現ARP攻擊時,限制全局處理的ARP報文數量。
  • 針對VLAN的ARP報文限速;在某個VLAN內的所有接口出現ARP攻擊時,限制處理收到的該VLAN內的ARP報文數量,配置本功能可以保證不影響其他VLAN內所有接口的ARP學習。
  • 針對接口的ARP報文限速;在某個接口(二層或三層物理接口)出現ARP攻擊時,限制處理該接口收到的ARP報文數量,但不影響其他接口的ARP學習。

2、ARP Miss消息限速

? ? ? ? 如果網絡中有用戶向設備發送大量目標IP地址不能解析的IP報文(即路由表中存在該IP報文的目的IP地址所對應的路由表項,但設備上卻沒有該路由表項下一跳對應的ARP表項),這樣就沒辦法對報文進行幀封裝了,于是會導致設備觸發大量的ARP Miss消息來解析下一跳IP地址對應的MAC地址。

? ? ? ? 這種觸發ARP Miss消息的IP報文(即ARP Miss報文)會被上送到CPU進行處理,設備會根據ARP Miss消息生成和下發大量臨時ARP表項(這類表項中的MAC地址的顯示的是incomplete)并向目的網絡發送大量的ARP請求報文,這樣就增加了設備CPU的負擔,同時嚴重消耗目的網絡的帶寬資源。

? ? ? ? 為了避免這種IP報文攻擊所帶來的危害,設備提供了如下幾類針對ARP Miss消息的限速功能(其實與上節介紹的針對ARP報文的限速功能即配置方法都差不多)。

1.基于源IP地址進行ARP Miss消息限速

? ? ? ? 當設備檢測到某一源IP地址的IP報文在1s內觸發的ARP Miss消息數量超過了ARP Miss消息限速值,就認為此源IP地址存在攻擊。此時如果設備對ARP Miss報文的處理方式是block(阻止方式),設備會丟棄超出限速值部分的ARP Miss報文,并下發一條ACL來丟棄該源IP地址的后續所有ARP Miss報文;如果是none-block方式,設備只會通過軟件限速的方式丟棄超出限速值部分的ARP Miss報文。

? ? ? ? 根據源IP地址進行ARP Miss消息限速,如果指定了IP地址,則針對指定源IP地址的ARP Miss消息,根據限速值進行限速;如果不指定IP地址,則針對任意源IP地址的ARP Miss消息,根據限速值進行限速。僅S5720EI、S5720HI、S5720S-SI、S520SI、S5730-EI、S5730SI、S6720EI、S6720HI、S6720LI、S6720-EI、S6720S-LI、S6720S-SI和S6720S,以及框式系列交換機支持該功能。


根據任意源IP進行ARP Miss消息限速

arp-miss speed-limit source-ip maximum 100

根據指定源IP進行ARP Miss消息限速并設置處理方式

arp-miss speed-limit source-ip 1.1.1.1 maximum 100 block timer 200

2.針對全局、VLAN和接口的ARP Miss消息限速

? ? ? ? 設備支持在全局、VLAN和接口下配置ARP Miss消息限速。這3個位置的配置的有效順序為接口優先,VLAN其次,最后為全局。(與ARP報文限速一致)

配置基于全局的ARP Miss消息限速功能

arp-miss anti-attack rate-limit enable

配置基于VLAN的ARP Miss消息限速功能

vlan 1
arp-miss anti-attack rate-limit enable

?配置基于接口的ARP Miss消息限速功能

interface g0/0/1
arp-miss anti-attack rate-limit enable

同樣我們也可以配置告警信息

arp-miss anti-attack rate-limit alarm enable
arp-miss anti-attack rate-limit alarm threshold 200
  • 針對全局的ARP Miss消息限速:在設備出現目標IP地址不能解析的IP報文攻擊時,限制全局處理的ARP Miss消息數量。
  • 針對VLAN的ARP Miss消息限速:在某個VLAN內的所有接口出現目標IP地址不能解析的IP報文攻擊時,限制處理該VLAN內報文觸發的ARP Miss消息數量,配置本功能可以保證不影響其他VLAN內所有接口的IP報文轉發。
  • 針對接口的ARP Miss消息限速:在某個接口(同樣可以是二層或三層物理接口)出現目標IP地址不能解析的IP報文攻擊時,限制處理該接口收到的報文觸發的ARP Miss消息數量,配置本功能可以保證不影響其他接口的IP報文轉發。

3.配置臨時ARP表項的老化時間

? ? ? ? 當IP報文觸發ARP Miss消息時,設備會根據ARP Miss消息生成臨時ARP表項,并且向目的網段發送ARP請求報文。臨時ARP表項有老化時間,而且可以基于三層接口(可以時VLANIF接口或三層物理接口)手動配置。

? ? ? ? 1.在臨時ARP表項老化時間范圍內:

  • 設備收到ARP應答報文前,匹配臨時ARP表項的IP報文將被丟棄并且不會觸發ARP Miss消息;
  • 設備收到ARP應答報文后,則生成正確的ARP表項來替換臨時ARP表項。

? ? ? ? 2.當老化時間超時過后,設備會清楚臨死ARP表項。此時如果設備轉發IP報文匹配不到對應的ARP表項,則會重新觸發ARP Miss消息并生成臨時ARP表項,如此循環重復。

? ? ? ? 當判斷設備收到攻擊時,可以增大臨時ARP表項的老化時間,減小設備ARP Miss消息的觸發頻率,從而減小攻擊對設備的影響。

配置臨時ARP表項的老化時間

int vlan 1
arp-fake expire-time 100

3、ARP表項嚴格學習

? ? ? ? ?如果大量用戶在同一時間段內向設備發送大量的ARP報文,或者攻擊者偽造正常用戶的ARP報文發送給設備,則會造成如下傷害。

  • 設備因處理大量ARP報文而導致CPU負荷過重,同時設備學習大量的ARP報文可能導致設備ARP表項資源被無效的ARP表項耗盡,造成合法用戶的ARP報文不能繼續生成ARP表項,導致用戶無法正常通信。
  • 偽造的ARP報文將錯誤地更新設備ARP表項,導致合法用戶無法正常通信。

? ? ? ? 為避免上述危害,可以在網關設備上配置ARP表項嚴格學習功能。配置該功能后,只有本設備主動發送的ARP請求報文的應答報文才能觸發本設備學習ARP,其他設備主動向本設并發送的ARP報文不能觸發本設備學習。這樣,可以拒絕大部分的ARP報文攻擊。

? ? ? ? ARP表項嚴格學習功能可以在全局和三層接口(三層VLANIF接口或三層物理接口)視圖下進行配置。如果全局使能該功能,則設備的所有三層接口均進行ARP表項嚴格學習;如果接口下使能該功能,則只有該三層接口進行ARP表項嚴格學習,接口下配置的優先級高于侵權劇配置的優先級。

全局下配置ARP表項嚴格學習

arp learning strict

接口下配置ARP表項嚴格學習

int vlan 1
arp learning strict force-enable

4、ARP表項限制

? ? ? ? ARP表項限制功能應用在網關設備上,可以限制設備的某個接口(二層或三層物理接口、三層以太網子接口和VLANIF接口都可以)學習動態ARP表項的數目。

接口下配置ARP表項限制

interface g0/0/1
arp-limit vlan 1 maximum 100

VLANIF接口下配置ARP表項限制

interface vlanif 1
arp-limit maximum 100

????????默認情況下,接口可以學習的動態ARP表項數目規格與全局的ARP表項規格保持一致。當部署完ARP表項限制功能后,如果指定接口下的動態ARP表項達到了允許學習的最大數目,將不再允許該接口繼續學習動態ARP表項,以保證當嚴格接口所接入的某一用戶主機發起ARP攻擊時,不會導致整個設備的ARP表資源都被耗盡。


5、禁止接口學習ARP表項

? ? ? ? 當某接口(僅可是VLANIF接口)下學習了大量動態ARP表項時,出于安全考慮,可以通過配置禁止該接口的動態ARP表項學習功能,以防止該接口下所接入的用戶主機發起ARP攻擊使整個設備的ARP表資源都被耗盡。

? ? ? ? 禁止接口學習ARP表項功能和ARP表項嚴格學習功能配置起來使用,可以使設備對接口下動態ARP的學習進行更加細致的控制。

VLANIF接口下配置禁止ARP學習表項

interface vlanif 1
arp learning disable

6、ARP表項固化

? ? ? ? 為了防止網關欺騙攻擊,可在網關上配置ARP表項固化功能,這樣網關設備在第一次學習到某IP地址的ARP表項以后,不再允許用戶更新此ARP表項,或只允許更新此ARP表項的部分信息,或者通過發送單播ARP請求報文的方式對更新ARP條目的報文進行合法性確認。

? ? ? ? 華為設備提供了以下3種ARP表項固化模式,且是互斥關系。

  • fixed-mac方式:這種固化模式是以報文中源MAC地址與ARP表中現有對應IP地址表項中的MAC地址是否匹配為審查的關機依據。當這兩個MAC地址不匹配時,則直接丟棄該ARP報文;如果這兩個MAC地址是匹配的,但是報文中的接口或VLAN信息與ARP表中對應表項不匹配時,則可以更新對應ARP表項中的接口和VLAN信息。這種模式適用于靜態配置IP地址,但網絡存在冗余鏈路(這樣可以改變出接口和VLAN)的情況。當鏈路切換時,ARP表項中的接口信息可以快速改變。
  • fixed-all方式:這種固化方式是僅當ARP報文對應的MAC地址、接口、VLAN信息和ARP表中對應表項的信息完全匹配時,設備才可以更新ARP表項的其他內容。這種模式匹配最嚴格,適用于靜態配置IP地址,網絡沒有冗余鏈路(這樣不可以改變出接口和VLAN),且同一IP地址用戶不會從不同接口接入的情況。
  • send-ack方式:這種模式是當設備收到嚴格涉及MAC地址、VLAN、接口修改的ARP報文時,不會立即更新ARP表項,而是向待更新的ARP表項現有MAC地址對應的用戶發送一個單播的ARP請求報文,再根據用戶的確認結果決定是否更新ARP表項中的MAC地址、VLAN和接口信息。此方式適用于動態分配IP地址,有冗余鏈路的網絡。

? ? ? ? 可以在全局和VLANIF接口下配置ARP表項固化功能。全局配置該功能后,缺省設備上所有VLNAIF接口的ARP表項固化功能均已使能。當全局和VLANIF接口下同時配置了該功能時,VLNAIF接口下的配置優先生效。

全局下配置ARP表項固化

arp anti-attack entry-check fixed-mac enable

接口下配置ARP表項固化

int vlan 1
arp anti-attack entry-check fixed-mac enable

7、動態ARP檢測(DAI)

? ? ? ? ?中間人攻擊(Man-int-the-middle attack)是常見的ARP欺騙攻擊防止之一。所謂"中間人攻擊"是指攻擊者與通信的兩端分別創建獨立的聯系,并交換其所收到的數據,使通信的兩端認為與對方直接對話,但事實上整個會話都被攻擊者完全控制。在中間人攻擊中,攻擊者可以攔截通信雙方的通話并插入新的內容。

PC2與PC3在互相訪問時都會先將報文轉發給PC1,在由PC1轉發給對方,這樣數據在交互過程中都會先經過PC1。

? ? ? ? 為了防御中間人攻擊,避免合法用戶的數據被中間人竊取,可以使能DAI(Dynamic ARP Inspection,動態ARP檢測)功能,僅適用于啟用了DHCP Snooping的場景。這樣,設備會將ARP報文中的源IP、源MAC、接口、VLNA信息和DHCP Snooping中的綁定表(或者手動添加靜態綁定表)信息進行比較,如果匹配,說明發送該ARP報文的用戶是合法用戶,允許此用戶的ARP報文通過,否則就認為是攻擊,丟棄該ARP報文。

注意:設備使能DHCP Snooping功能后,當DHCP用戶上線時設備會自動生成DHCP Snooping綁定表。對于靜態配置IP地址的用戶,設備不會生成DHCP Snooping綁定表,所以需要手動添加靜態綁定表。可用user-bind static命令配置IP地址、MAC地址、接口和內/外層VLNA的靜態用戶綁定表項。

? ? ? ? 如果希望僅匹配綁定表中某一項或某兩項內容的特俗ARP報文也能夠通過,則可用配置對ARP報文進行綁定表匹配檢查時只檢查某一項或某兩項內容。如果希望設備在丟棄不匹配綁定表的ARP報文數量較多時能夠以告警的方式提醒網絡管理員,則可以使能動態ARP檢查丟棄報文告警功能。這樣,當丟棄的ARP報文數超過告警閾值時,設備將產生告警信息。

? ? ? ? 可在接口(僅限二層物理接口,Eth-Trunk接口和端口組)視圖或VLAN視圖下配置動態ARP檢查功能,在接口視圖下使能時,對該接口收到的所有ARP報文進行綁定表匹配檢查:在VLAN視圖下使能時,對加入該VLAN的接口收到的屬于該VLAN的ARP報文進行綁定表匹配檢查。

接口或VLAN上使能動態ARP檢查功能

interface g0/0/1
arp anti-attack check user-bind enable
vlan 1
arp anti-attack check user-bind enable

接口或VLAN上使能動態ARP部分檢查功能

interface g0/0/1
arp anti-attack check user-bind check-item ip-address
vlan 1
arp anti-attack check user-bind check-item ip-address

默認情況下對ARP報文的IP地址、MAC地址和接口信息都進行檢查?

接口使能動態ARP告警功能

interface g0/0/1
arp anti-attack check user-bind alarm enable
arp anti-attack check user-bind alarm threshold 200

8、ARP防網關沖突

? ? ? ? 如果攻擊者仿冒網關,在局域網內部發送源IP地址是網關IP地址的ARP報文,就會導致局域網內其他用戶主機的ARP表記錄錯誤的網關地址映射關系。這樣,其他用戶主機就會把發往網關的流量均發送給了攻擊者,攻擊者可輕易地竊取聽到他們發送的數據內容,并且最終會造成這些用戶主機無法訪問網絡。這就是我們最常見的一種ARP攻擊類型--網關欺騙ARP攻擊

????????

我們將SW1的VLAN1的IP設置為192.168.1.254,然后讓PC1去訪問192.168.1.254,PC1就會形成關于這個地址的ARP表項

此時我們再將AR1的接口配置為192.168.1.254/24就會發送一份免費ARP,則會刷新PC1的ARP表項

????????攻擊者B將偽造網關的ARP報文發送給用戶A,使用戶A誤以為攻擊者即為網關。用戶A的ARP表中會記錄錯誤的網關地址映射關系,使得用戶A跟網關的正常數據通信中斷。

? ? ? ? 為了防范攻擊者仿冒網關,可以在網關設備上使能ARP防網關沖突功能。僅S5720EI、S5720HI、S5720S-SI、S5720SI、S5730S-EI、S5730SI、S6720EI、S6720HI、S6720LI、S6720S-EI、S6720S-LI、S6720S-SI和S6720SI,以及框式系列交換機支持該功能。

? ? ? ? 當設備收到的ARP報文存在下列情況之一,設備就認為該ARP報文是與網關地址沖突的ARP報文,設備將生成ARP防攻擊表項,并在后續一段時間內丟棄該接口收到的同VLAN以及同源MAC地址的ARP報文,這樣可以防止與網關地址沖突的ARP報文在VLAN內廣播。此時,還可以在設備上通過下面介紹的使能發送免費ARP報文功能,通過廣播發送正確的免費ARP報文到所有用戶,迅速將已經被攻擊的用戶記錄的錯誤網關地址映射關系修正正確。

在全局模式下配置ARP防網關沖突

arp anti-attack gateway-duplicate enable

9、配置發送免費ARP報文

? ? ? ? 如果有攻擊者向其他用戶發送仿冒網關的ARP報文,會導致其他用戶的ARP表中記錄錯誤的網關地址映射關系,從而造成其他用戶的正常數據不能被網關接收。

????????此時可以在網關設備上配置發送免費ARP報文的功能,用來定期更新合法用戶的ARP表項,使得合法用戶ARP表項中記錄正確的網關地址映射關系。

? ? ? ? 可在網關設備上全局或VLANIF接口下配置發送免費ARP報文功能。全局配置該功能后,則缺省設備上所有接口的發送ARP免費報文功能均已使能。當全局和VLANIF接口下同時配置了該功能時,VLANIF接口下的配置優先生效。

全局或接口下使能發送免費ARP報文功能

arp gratuitous-arp send enable
interface vlanif 1
arp gratuitous-arp send enable

全局或接口下配置免費ARP報文發送時間間隔

arp gratuitous-arp send interval 200
interface vlanif 1
arp gratuitous-arp send interval 200

上面我們說了一般情況下我們都會使用ARP防網關沖突和發送免費ARP報文兩個功能來實現安全防護,這是因為ARP防網關沖突在第一次網關欺騙時不能起到防護的效果。我們可以通過以下實驗來進一步了解。

?這里我們先讓PC1去訪問網關形成ARP表項

形成ARP表項之后我們在路由器的接口上配置一個與網關同一個IP的地址并發出免費ARP

?

我們能看到PC1的ARP表項更新了,網關的MAC變為了路由器的MAC,這就是網關欺騙攻擊

現在我們在交換機上配置ARP防網關沖突看看能不能防止這種攻擊,我們先把路由器上的IPundo掉,再讓PC1重新去ping一次網關學習到正確的ARP表項。

隨后我們去交換機上配置網關沖突的相關指令,隨后去路由器上配置IP地址發出免費ARP報文

可以看到PC1的ARP表項還是刷新了,我們再去看看交換機上的防網關沖突表項有沒有記錄這條IP地址

我們發現交換機是有記錄的那為什么PC1的ARP表項還是刷新了呢?

這是因為路由器的免費ARP在第一次到達交換機時還沒有形成相應的表項,所以免費ARP可以被轉發到PC1,所以如果只配置防網關沖突的話,只能夠防止第二次的攻擊,第一次的攻擊防止不了。此時就需要結合我們的發送免費ARP報文來實現安全防護。


10、ARP網關保護功能

? ? ? ? 當網絡中存在攻擊者Attacker仿冒網關或用戶誤配主機IP地址為網關地址時,其發送的ARP報文會使得網絡中其他用戶誤以為Attacker是網關設備,造成正常用戶跟網關的數據通信中斷。在設備與網關相連的接口上配置ARP網關保護功能,可以防止偽造網關攻擊,僅盒式交換機系列交換機支持。當來自網關的ARP報文到達設備時:

  • 開啟了對網關地址保護功能的接口,正常接收轉發該ARP報文;
  • 未開啟對網關地址保護功能的接口,丟棄該ARP報文;

  • 開啟了對網關IP地址:192.168.1.254保護功能的接口,正常接收轉發該ARP報文;
  • 未開啟對網關IP地址:192.168.1.254保護功能的接口,丟棄該ARP報文;

ARP網關保護功能是在二層物理接口下配置

interface g0/0/1
arp trust source 192.168.1.254

11、ARP報文內MAC地址一致性檢查

? ? ? ? ARP報文內MAC地址一致性檢查功能主要應用于網關設備上,可以防御以太網數據幀頭部中的源/目的MAC地址和ARP報文數據區中的源/目的MAC地址不同的ARP攻擊。配置該功能后,網關設備在進行ARP表項學習前將對ARP報文進行檢查。如果以太網幀頭部中的源/目的MAC地址和ARP報文數據區中的源/目的MAC地址不同,則認為是攻擊報文,將其丟棄;否則,繼續進行ARP學習。

ARP報文內MAC地址一致性檢查配置

interface g0/0/1
arp validate source-mac destination-mac

12、ARP報文合法性檢查

? ? ? ? 為了防止非法ARP報文的攻擊,可以在接入設備或網關設備上配置ARP報文合法性檢查功能,用來對MAC地址和IP地址不合法的ARP報文進行過濾。設備提供以下3中可以任意組合的檢查項配置。

  • IP地址檢查:設備會檢查ARP報文中的源IP和目的IP地址,全0、全1或者組播IP地址都是不合法的,需要丟棄。對于ARP應答報文,源IP和目的IP地址都進行檢查;對于ARP請求報文,只檢查源IP地址。
  • 源MAC地址檢查:設備會檢查ARP報文中的源MAC地址和以太網數據幀頭部中的源MAC地址是否一致,一致則認為合法,否則丟棄該報文。
  • 目的MAC地址檢查:設備會檢查ARP應答報文中的目的MAC地址是否和以太網數據幀頭部中的目的MAC地址一致,一致則認為合法,否則丟棄報文。

ARP報文合法性檢查配置

arp anti-attack packet-check sender-mac

全局使能ARP報文合法性檢查功能(作用于所有接口接收的ARP報文)。


13、DHCP觸發ARP學習

? ? ? ? 在DHCP用戶場景下,當DHCP用戶數目很多時,設備進行大規模ARP表項的學習和老化會對設備性能和網絡環境形成沖擊。為了避免此問題,可以在網關設備上使能DHCP觸發ARP學習功能。當DHCP服務器給用戶分配了IP地址,網關設備會根據VLANIF接口上收到的DHCP ACK報文直接生成該用戶的ARP表項。

注意:DHCP觸發ARP學習功能生效的前提是已在二層交換設備全局和對應二層接口上通過dhcp snooping enable命令使能了DHCP Snooping功能。

? ? ? ? DHCP觸發ARP學習的配置方法僅在網關設備對應的VLANIF接口視圖下執行。缺省情況下,沒有使能DHCP觸發ARP學習功能。

DHCP觸發ARP學習配置
?

arp learning dhcp-trigger

以上就是本章的全部內容了,覺得博主做的還可以的可以給博主點一個關注,我們下一章來介紹ARP安全實驗經典使用場景實驗配置,部分內容可能與教材雷同,有意可聯系博主刪除,謝謝你的流量觀看!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/77339.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/77339.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/77339.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Django 創建CSV文件

Django使用Python內置的CSV庫來創建動態的CSV(逗號分隔值)文件。我們可以在項目的視圖文件中使用這個庫。 讓我們來看一個例子,這里我們有一個Django項目,我們正在實現這個功能。創建一個視圖函數 getfile() 。 Django CSV例子 …

HTTPS為何仍有安全漏洞?解析加密協議下的攻擊面

本文深度剖析HTTPS協議在傳輸層、證書體系、配置管理三個維度的安全盲區,揭示SSL/TLS加密掩蓋下的11類攻擊路徑。基于Equifax、SolarWinds等重大事件的技術復盤,提供包含自動化證書巡檢、動態協議升級、加密流量威脅檢測的立體防御方案。 HTTPS不等于絕…

MyBatis 動態 SQL 使用詳解

&#x1f31f; 一、什么是動態 SQL&#xff1f; 動態 SQL 是指根據傳入參數&#xff0c;動態拼接生成 SQL 語句&#xff0c;不需要寫多個 SQL 方法。MyBatis 提供了 <if>、<choose>、<foreach>、<where> 等標簽來實現這類操作 ? 二、動態 SQL 的優點…

樂觀鎖與悲觀鎖的使用場景

悲觀鎖的應用場景 悲觀鎖的基本思想是假設并發沖突會發生&#xff0c;因此在操作數據時會先鎖定數據&#xff0c;直到完成操作并提交事務后才釋放鎖。這種方式適用于寫操作較多、并發沖突可能性較高的場景。 高寫入比例的數據庫操作&#xff1a;如果系統中有很多寫操作&#x…

cpp(c++)win 10編譯GDAL、PROJ、SQLite3、curl、libtiff

cpp&#xff08;c&#xff09;編譯GDAL、PROJ、SQLite3 Sqlite3libtiffcurlprojGDAL Sqlite3 1、下載 Sqlite3 源碼、工具、二進制預編譯 exe Sqlite3 官網&#xff1a;https://www.sqlite.org/download.html 下載 sqlite-amalgamation-3430200.zipsqlite-dll-win64-x64-3430…

【愚公系列】《高效使用DeepSeek》062-圖書庫存管理

??【技術大咖愚公搬代碼:全棧專家的成長之路,你關注的寶藏博主在這里!】?? ??開發者圈持續輸出高質量干貨的"愚公精神"踐行者——全網百萬開發者都在追更的頂級技術博主! ?? 江湖人稱"愚公搬代碼",用七年如一日的精神深耕技術領域,以"…

鏈表算法中常用操作和技巧

目 1.常用技巧 1.1.畫圖 1.2.添加虛擬頭節點 1.3.大膽引入中間變量 1.4.快慢雙指針 1.4.1判斷鏈表是否有環 1.4.2找鏈表中環的入口 ?2.常用操作 2.1. 創建一個新節點 2.2.尾插 2.3.頭插 1.常用技巧 1.1.畫圖 畫圖可以讓一些抽象的文字語言更加形象生動 畫圖&#…

【9】數據結構的串篇章

目錄標題 串的定義順序串的實現初始化賦值打印串求串的長度復制串判斷兩個串長度是否相等連接兩個串比較兩個串內容是否相等插入操作刪除操作調試與代碼合集 串的模式匹配算法樸素的模式匹配算法KMP算法實現模式匹配 串的定義 定義&#xff1a;由0個或多個字符組成的有限序列&…

GMSL Strapping Pins CFG0/CFG1 應用

GMSL device 使用起來還是比較簡單 ADI 已經充分考慮了用戶的需求&#xff0c;盡可能的降低的芯片的使用和配置復雜度 一對加串器和解串器&#xff0c;只要工作模式匹配得當&#xff0c;Link Locked&#xff0c;便能夠正常工作 如果遇到 Link 無法建立&#xff08;Locked&…

`uia.WindowControl` 是什么:獲取窗口文字是基于系統的 UI 自動化接口,而非 OCR 方式

uia.WindowControl 是什么:獲取窗口文字是基于系統的 UI 自動化接口,而非 OCR 方式 uia.WindowControl 通常是基于 Windows 系統的 UI 自動化框架(如 pywinauto 中的 uia 模塊)里用于表示窗口控件的類。在 Windows 操作系統中,每個應用程序的窗口都可以看作是一個控件,ui…

Easysearch VS Opensearch 數據寫入與存儲性能對比

本文記錄 Easysearch 和 Opensearch 數據寫入和數據存儲方面的性能對比。 準備 壓測工具&#xff1a;INFINI Loadgen 對比版本&#xff1a; Easysearch 1.11.1&#xff08;lucene 8.11.4&#xff09;Opensearch 2.19.1&#xff08;lucene 9.12.1&#xff09; 節點 JVM 配置…

力扣題解:142. 環形鏈表 II

在鏈表學習中&#xff0c;我們已經了解了單鏈表和雙鏈表&#xff0c;兩者的最后一個結點都會指向NULL&#xff1b;今天我們介紹的循環列表則不同&#xff0c;其末尾結點指向的這是鏈表中的一個結點。 循環鏈表是一種特殊類型的鏈表&#xff0c;其尾節點的指針指向頭節點&#…

區間 dp 系列 題解

1.洛谷 P4342 IOI1998 Polygon 我的博客 2.洛谷 P4290 HAOI2008 玩具取名 題意 某人有一套玩具&#xff0c;并想法給玩具命名。首先他選擇 W, I, N, G 四個字母中的任意一個字母作為玩具的基本名字。然后他會根據自己的喜好&#xff0c;將名字中任意一個字母用 W, I, N, G …

天基光學圖像仿真原理簡介

一、原理簡介 天基光學圖像仿真通過數學模型和算法模擬空間目標在光學系統中的成像過程&#xff0c;核心原理可歸納為以下四部分&#xff1a; 1. 目標與背景建模? 目標運動建模?&#xff1a;利用軌道動力學模型&#xff08;如SGP4&#xff09;解析空間目標軌跡&#xff0c;…

Jetpack Compose 狀態保存機制全面解析:讓UI狀態持久化

在Android開發中&#xff0c;Jetpack Compose 的狀態管理是一個核心話題&#xff0c;而狀態保存則是確保良好用戶體驗的關鍵。本文將深入探討Compose中各種狀態保存技術&#xff0c;幫助你在配置變更和進程重建時保持UI狀態。 一、基礎保存&#xff1a;rememberSaveable reme…

【Json-Rpc #1】項目背景及環境搭建

&#x1f4c3;個人主頁&#xff1a;island1314 &#x1f525;個人博客&#xff1a;island ?? 歡迎關注&#xff1a;&#x1f44d;點贊 &#x1f442;&#x1f3fd;留言 &#x1f60d;收藏 &#x1f49e; &#x1f49e; &#x1f49e; 生活總是不會一帆風順&#xff0c;前進…

WPF輪播圖動畫交互 動畫縮放展示圖片

WPF輪播圖動畫交互 動畫縮放展示圖片 效果如下圖&#xff1a; XAML代碼&#xff1a; <Window x:Class"Caroursel.MainWindow"xmlns"http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x"http://schemas.microsoft.com/winfx/20…

為什么 npm list -g 沒顯示 node_modules??

揭秘&#xff1a;為什么 npm list -g 沒顯示 node_modules&#xff1f;&#x1f575;??♂?? 嗨&#xff0c;各位代碼探險家&#xff01;&#x1f44b; 今天我們要破解一個 npm 小謎團&#xff1a;運行 npm list -g --depth0 時&#xff0c;為什么輸出的路徑里看不到 node_…

都江堰與鄭國渠

目錄標題 一、歷史背景&#xff1a;地緣博弈下的水利突圍都江堰&#xff1a;化水患為天府的千年大計鄭國渠&#xff1a;間諜引發的戰略反轉 二、工程智慧&#xff1a;超越時代的科技奇跡都江堰&#xff1a;生態治水的典范鄭國渠&#xff1a;泥沙資源化的創舉 三、后世影響&…

鏈路聚合+vrrp

1.鏈路聚合 作用注意事項將多個物理接口&#xff08;線路&#xff09;邏輯上綁定在一起形成一條邏輯鏈路&#xff0c;起到疊加帶寬的作用1.聚合接口必須轉發速率一致。2.聚合設備兩端必須一致 配置命令 方法一 [Huawei]interface Eth-Trunk 0----先創建聚合接口&#xff0c;…