網絡流量分析——基礎知識

文章目錄

  • 所需技能和知識
  • TCP/IP 堆棧和 OSI 模型
  • 基本網絡概念
  • 常用端口和協議
  • IP 數據包和子層的概念
  • 協議傳輸封裝
  • 環境與設備
  • 常見的流量分析工具
  • BPF 語法
  • 執行網絡流量分析
  • NTA工作流程
  • NTA工作流程
  • 網絡 - 第 1-4 層
  • OSI / TCP-IP 模型
  • 尋址機制
    • MAC地址
    • IP 尋址
      • IPv4
      • IPv6
      • IPv6 尋址類型
      • IPv6的采用
  • TCP/UDP,傳輸機制
  • TCP VS. UDP
  • TCP 三次握手
  • TCP 會話拆除
  • 網絡 - 第 5-7 層
  • HTTP
  • HTTP 方法
  • HTTPS
    • 通過 HTTPS 進行 TLS 握手
  • FTP
    • FTP 命令和響應示例
    • FTP 命令
  • SMB
    • SMB 線路

Network Traffic Analysis (NTA) 可以描述為檢查網絡流量以表征所使用的常見端口和協議的行為,為我們的環境建立基線,監控和應對威脅,并確保對我們組織的網絡有最大程度的了解。

此過程可幫助安全專家及早發現網絡中的異常情況(包括安全威脅),并有效地查明威脅。網絡流量分析還可以促進滿足安全準則的要求。攻擊者頻繁更新策略以規避檢測,并使用大多數公司允許在其網絡中使用的工具來利用合法憑據,這使得檢測和隨后的響應對防御者來說極具挑戰性。在這種情況下,網絡流量分析再次證明其作用。NTA 的日常用例包括:

在這里插入圖片描述
試想一下,一個威脅行為者瞄準并滲透我們的網絡。如果他們想要攻破網絡,攻擊者必然會與我們的基礎設施進行交互和通信。網絡通信通過許多不同的端口和協議進行,所有這些端口和協議都被員工、設備和客戶同時使用。為了發現惡意流量,我們需要利用我們對自身區域內典型網絡流量的了解。這樣做可以縮小搜索范圍,并幫助我們快速發現并阻止敵對通信。

例如,如果我們SYN在網絡中從未(或很少)使用的端口上檢測到許多數據包,我們就可以得出結論,這很可能是有人試圖確定我們主機上哪些端口是開放的。此類行為是典型的惡意行為portscan。進行此類分析并得出此類結論需要特定的技能和知識。

所需技能和知識

我們即將列出和描述的技能需要長期積累的理論和實踐知識。我們不必熟記所有內容,但當某些內容看起來不熟悉時,我們應該知道該尋找什么。這不僅適用于NTA,也適用于我們在網絡安全中處理的大多數其他主題。

TCP/IP 堆棧和 OSI 模型

這種理解將確保我們掌握網絡流量和主機應用程序如何交互。

基本網絡概念

要了解每個層級上會出現哪些類型的流量,需要理解構成 TCP/IP 和 OSI 模型的各個層級,以及交換和路由的概念。如果我們在骨干鏈路上接入網絡,會看到比平時多得多的流量,這與在辦公室交換機上接入網絡時看到的流量截然不同。

常用端口和協議

快速識別標準端口和協議并從功能上了解它們的通信方式將確保我們能夠識別潛在的惡意或畸形的網絡流量。

IP 數據包和子層的概念

了解 TCP 和 UDP 通信的基礎知識至少能確保我們理解所見或所搜索的內容。例如,TCP 是面向流的,使我們能夠輕松跟蹤主機之間的對話。UDP 速度很快,但不注重完整性,因此很難從這種數據包類型中重建某些內容。

協議傳輸封裝

每一層都會封裝上一層。能夠讀取或分析封裝何時發生變化將有助于我們更快地處理數據。根據封裝頭信息很容易找到提示。

環境與設備

以下列表包含許多可用于執行網絡流量分析的不同工具和設備類型。每種工具和設備都提供不同的流量捕獲或解析方式。有些工具提供復制和捕獲的方式,而另一些則提供讀取和提取的方式。本模塊將僅探討其中幾種(主要是Wireshark和tcpdump)。請記住,這些工具并非專門為管理員設計的。其中許多工具也可能被用于惡意目的。

常見的流量分析工具

在這里插入圖片描述

BPF 語法

上面提到的許多工具都有各自的語法和命令可供使用,但它們之間有一個共同點,那就是伯克利包過濾器 (BPF)語法。我們將主要使用這種語法。本質上,BPF 是一種允許原始接口從數據鏈路層進行讀寫的技術。考慮到所有這些,我們之所以關注 BPF,是因為它提供了過濾和解碼功能。我們將在本模塊中使用 BPF 語法,因此了解 BPF 過濾器的基本設置方法會很有幫助。有關 BPF 語法的更多信息,請參閱此參考資料。

執行網絡流量分析

執行分析可以像在我們的控制臺中觀看實時流量一樣簡單,也可以像使用水龍頭捕獲數據一樣復雜,將其發送回 SIEM 進行提取,并分析 pcap 數據以獲取與常見策略和技術相關的簽名和警報。

為了進行被動監聽,我們至少需要連接到想要監聽的網段。 在交換環境中尤其如此,因為 VLAN 和交換機端口不會將流量轉發到其廣播域之外。因此,如果我們希望捕獲特定 VLAN 的流量,我們的捕獲設備應該連接到同一網絡。諸如網絡分接頭之類的設備、Span 端口之類的交換機或路由器配置以及端口鏡像可以讓我們獲取流經特定鏈路的所有流量的副本,無論該流量屬于哪個網段或目標。

NTA工作流程

流量分析并非一門精確的科學。網絡流量分析 (NTA) 可能是一個非常動態的過程,并非一個直接的循環。它很大程度上受到我們所尋找的內容(網絡錯誤還是惡意操作)以及我們對網絡的可見性的影響。執行流量分析可以提煉出一些基本原則。

NTA工作流程

在這里插入圖片描述
在這里插入圖片描述

網絡 - 第 1-4 層

本節將快速回顧網絡知識,以及我們在執行流量捕獲時可以看到的一些標準協議的工作原理。 這些概念是捕獲和解析流量的核心。 如果不了解典型的網絡流程以及所使用的端口和協議,我們就無法準確分析捕獲的任何流量。

OSI / TCP-IP 模型

在這里插入圖片描述
上圖并排展示了開放系統互連 ( OSI) 模型和傳輸控制協議 - 互聯網協議 ( TCP-IP) 模型。這兩個模型以圖形方式展示了聯網計算機之間如何處理通信。讓我們花點時間比較一下這兩個模型:

在這里插入圖片描述

在研究這兩個模型時,我們會注意到 OSI 模型比 TCP-IP 模型更加細分。這是因為它被分解成更小的功能塊。OSI 模型的第一層到第四層專注于控制主機之間的數據傳輸。這種控制涵蓋了從用于傳輸的物理介質到用于管理數據傳輸過程中對話(或不對話)的協議的方方面面。 第五層到第七層負責對呈現給最終用戶的封裝數據進行解釋、管理和呈現。 OSI 模型可以理解為萬物運作背后的理論,而 TCP-IP 模型則更貼近網絡的實際功能。TCP-IP 模型則更加融合,規則也更加靈活。TCP-IP 模型包含四層,其中 OSI 模型的第五層、第六層和第七層與 TCP-IP 模型的第四層相對應第三層負責傳輸,第二層是互聯網層,與 OSI 模型中的網絡層相對應第一層是鏈路層,涵蓋了 OSI 模型的第二層和第一層。

在本模塊中,我們將學習許多不同的協議數據單元 ( PDU,Protocol Data Units),因此需要對其在理論上和實際應用中的功能性理解。PDU 是由 OSI 模型中各層封裝的控制信息和數據組成的數據包。下面的分解部分將展示這兩個模型中的各層如何與 PDU 進行匹配。

在這里插入圖片描述
在檢查 PDU 時,我們需要牢記封裝的概念。隨著數據在協議棧中向下移動,每一層都會將前一層的數據封裝在一個我們稱之為封裝的新氣泡中這個氣泡會將該層的必要信息添加到 PDU 的報頭中。這些信息可能因層級而異,但都包含前一層的數據、操作標志、協商通信所需的任何選項、源 IP 地址和目標 IP 地址、端口、傳輸層協議以及應用層協議。

在這里插入圖片描述
上圖并排展示了 PDU 的構成以及 Wireshark 數據包詳細信息窗格中數據包的分解。請注意,在 Wireshark 中查看分解時,順序是相反的。Wireshark 反向顯示 PDU,因為它的順序與解封裝時的順序一致。

尋址機制

既然我們已經了解了驅動網絡行為的基本概念,接下來讓我們花點時間討論一下如何將數據包傳送到正確的主機。我們首先從媒體訪問控制 (MAC) 地址開始。

MAC地址

連接到主機的每個邏輯或物理接口都有一個媒體訪問控制 ( MAC) 地址。該地址是一個 48 位six octet地址,以十六進制格式表示。如下圖所示,紅色箭頭處就是一個示例

在這里插入圖片描述

MAC 尋址用于the data-link or link-layer depending on which model you look at主機之間的第二層 ( ) 通信。它通過廣播域內的主機間通信實現。如果第二層流量需要跨越第三層接口,則該 PDU 將被發送到第三層出口接口,并路由到正確的網絡。在第二層,這看起來像是將 PDU 發送到路由器接口,路由器在確定下一步將其發送到何處時會考慮第三層地址。一旦做出選擇,它會剝離第二層的封裝,并用指示路由中下一個物理地址的新信息替換它。

IP 尋址

互聯網協議 ( IP) 的開發是為了跨越網絡邊界,將數據從一個主機傳送到另一個主機。IP 負責路由數據包、封裝數據,以及在數據報到達目標主機后對其進行分片和重組IP 本質上是一種無連接協議,無法保證數據一定能夠到達預期的接收者。為了確保數據傳輸的可靠性和有效性,IP 依賴于 TCP 等上層協議。目前,IP 主要有兩個版本:IPv4(當前主流標準)和 IPv6(旨在取代 IPv4)。

IPv4

最常見、最熟悉的尋址機制是互聯網協議地址版本 4 (IPv4)。IPv4 尋址是跨網絡將數據包路由到我們周邊區域以外的主機的核心方法。下圖中綠色箭頭所示的是一個 IPv4 地址示例。
在這里插入圖片描述

IPv4 地址由一個 32 位的四字節數字組成,以十進制格式表示。在我們的示例中,我們可以看到地址 192.168.86.243。IP 地址的每個八位字節可以用一個從 0 到 255 的數字表示。在檢查 PDU 時,我們會在 OSI 模型的第三層(網絡層)和 TCP-IP 模型的第二層(互聯網層)找到 IP 地址。我們不會在這里深入探討 IPv4,但為了本模塊的目的,我們先了解一下這些地址是什么,它們的作用是什么,以及它們在哪一層使用。

IPv6

在使用 IPv4 十多年后,我們發現可用的 IP 地址池很快就耗盡了。由于大量地址被劃分為特殊用途或私有地址,全球的可用空間很快就被耗盡了。為了解決這個問題,我們采取了兩項措施。首先是實施可變長度子網掩碼 (VLSM) 和無類別域間路由 (CIDR)。這使我們能夠重新定義 v4 格式的可用 IP 地址,從而改變地址分配給用戶的方式。其次是創建并持續開發 IPv6 作為 IPv4 的后續版本。

IPv6 為我們提供了更大的地址空間,可用于任何網絡用途。IPv6 是一個 128 位地址,以十六進制格式表示,包含 16 個八位字節。下圖中藍色箭頭所示的是一個縮短的 IPv6 地址示例。
在這里插入圖片描述
除了更大的地址空間外,IPv6 還提供:更好地支持多播(將流量從一個設備發送到多個設備);每臺設備全局尋址;以 IPSec 形式實現的協議內部安全性;簡化的數據包報頭,使處理和在連接之間移動更加輕松,而無需重新分配地址。 IPv6 在其架構中使用四種主要類型的地址:

IPv6 尋址類型

在這里插入圖片描述
在思考每種地址類型時,記住單播流量是主機到主機的,多播是一對多的,而任播是群組中的一對多,只有一個會應答數據包(類似負載平衡)。 盡管 IPv6 目前比 IPv4 具有許多優勢,但其普及速度卻很慢。

IPv6的采用

在這里插入圖片描述
在這里插入圖片描述
在撰寫本文時,根據谷歌發布的統計數據,全球采用率僅為 45% 左右。

TCP/UDP,傳輸機制

傳輸層擁有多種機制,有助于確保數據從源到目標的無縫傳輸。不妨將傳輸層視為一個控制中心。來自較高層級的應用數據必須沿著協議棧向下傳輸到傳輸層。該層指示如何封裝流量并將其發送到較低層級的協議(IP 和 MAC)數據到達目標接收者后,傳輸層將與網絡層協議協同工作,按正確的順序重新組裝封裝的數據。用于完成此任務的兩種機制是傳輸控制協議 (TCP) 和用戶數據報協議 (UDP)。

TCP VS. UDP

在這里插入圖片描述
通過查看上表,我們可以看到 TCP 和 UDP 提供了兩種截然不同的數據傳輸方式。TCP 被認為是一種更可靠的協議,因為它允許將錯誤檢查和數據確認作為常規功能。相比之下,UDP 是一種快速、即發即棄的協議,最適合于我們更注重速度而非質量和驗證的情況。

具體來說,TCP 用于傳輸對完整性而非速度要求更高的數據。例如,當我們使用安全外殼 (SSH) 從一個主機連接到另一個主機時,會打開一個連接,該連接在您發出命令和執行操作時保持活動狀態。這是 TCP 的一項功能,確保我們與遠程主機的對話不會中斷。如果由于某種原因中斷,TCP 不會重新組裝數據包的部分片段并將其發送給應用程序。我們可以通過這種方式避免錯誤。如果我們在遠程主機上執行類似 sudo passwd user 的命令來更改用戶密碼,并且在更改過程中部分消息丟失,會發生什么情況?如果通過 UDP 進行傳輸,我們將無法知道該消息的其余部分發生了什么,并可能弄亂用戶的密碼,甚至發生更糟的情況TCP 協議通過確認收到的每個數據包來幫助防止這種情況發生,以確保目標主機在組裝命令并將其發送給應用程序執行操作之前已獲取每個數據包。

另一方面,當我們需要快速響應或使用對速度而非完整性要求更高的應用程序時,UDP 就是我們的答案。以流式傳輸視頻為例。用戶不會注意到流式傳輸視頻中丟失了一兩個像素。 我們更關心的是觀看視頻,而不是讓它不斷停下來緩沖下一個片段。另一個例子是 DNS。當主機請求 inlanefreight.com 的記錄條目時,該主機希望快速響應以繼續其正在執行的進程。如果 DNS 請求被丟棄,最糟糕的情況是它會被重新發出。這沒有損害,也沒有犯規。用戶不會因為這種丟棄而收到損壞的數據UDP 流量看起來像常規流量;它是一個單獨的數據包,沒有響應或確認已發送或接收,因此這里沒有太多可展示的內容。但是,我們可以看看 TCP 以及它是如何建立連接的。

TCP 三次握手

TCP 確保數據從服務器傳輸到客戶端的方法之一是利用會話。這些會話通過所謂的三次握手建立。為了實現這一點,TCP 在 TCP 報頭中使用了一個名為“標志”的選項。我們現在不會深入探討 TCP 標志;只需了解三次握手中常見的標志是同步 ( SYN) 和確認 ( ACK)。當主機請求通過 TCP 與服務器進行對話時;

在這里插入圖片描述
讓我們快速看一下它的運行情況,以便在模塊稍后出現在數據包輸出中時熟悉它。

在這里插入圖片描述

檢查此輸出時,我們可以在第一行看到握手的開始。查看紅框中突出顯示的信息,我們可以看到初始 Syn 標志已設置。如果我們查看綠色下劃線的端口號,我們可以看到兩個數字:57678 和 80。第一個數字是客戶端正在使用的隨機高端口號,第二個數字是服務器用于監聽傳入 Web 請求連接的 HTTP 公認端口在第二行,我們可以看到服務器向客戶端發送了一個 SYN/ACK 數據包,該數據包發送到相同的端口。在第三行,我們可以看到客戶端確認了服務器的同步數據包以建立連接

數據包 4 顯示 HTTP 請求已發送,并且已建立會話以流式傳輸所請求圖像的數據。我們可以看到,隨著數據流的繼續,TCP 會對發送的每個數據塊發送確認。這是一個典型的 TCP 通信示例

我們已經了解了如何使用 TCP 建立會話;現在,讓我們研究一下如何結束會話。

TCP 會話拆除

在這里插入圖片描述
在這里插入圖片描述
實際上應該是四次揮手
在這里插入圖片描述
詳細可以看我的這篇文章Nginx開發實戰——網絡通信(一)Wireshark監視數據包
在這里插入圖片描述
在這里插入圖片描述

網絡 - 第 5-7 層

我們已經了解了底層網絡的功能,現在讓我們看看一些處理應用程序的上層協議。維護網絡連接并確保數據在主機之間傳輸需要許多不同的應用程序和服務。本節將概述其中幾個重要的協議。

HTTP

超文本傳輸協議 (HTTP) 是一種無狀態的應用層協議,自 1990 年開始使用。HTTP 支持通過 TCP 在客戶端和服務器之間以明文傳輸數據。客戶端會向服務器發送 HTTP 請求,請求資源。會話建立后,服務器會響應請求的媒體(HTML、圖像、超鏈接、視頻)HTTP 在正常操作期間通過 TCP 使用端口 80 或 8000。在特殊情況下,可以修改為使用其他端口,有時甚至使用 UDP。

HTTP 方法

要執行諸如獲取網頁、請求下載項目或發布最新推文等操作,都需要使用特定的方法。這些方法定義了請求 URI 時執行的操作。方法:

在這里插入圖片描述
請注意,我們在每個方法旁邊都列出了必需或可選。根據標準要求,GET 和 HEAD 必須始終與標準 HTTP 實現兼容并存。這僅適用于它們。trace、options、delete、put 和 post 方法則是可選功能,可以允許使用。例如,只讀網頁(例如博客文章)。客戶端 PC 可以從頁面請求資源,但不能修改、添加或刪除資源。

有關 HTTP 作為協議及其運作方式的更多信息,請參閱 RFC:2616。
在這里插入圖片描述

HTTPS

HTTP 安全協議 (HTTPS) 是對 HTTP 協議的一種改進,旨在利用傳輸層安全性 (TLS,Transport Layer Security) 或安全套接字層 (SSL,Secure Sockets Layer) 與舊應用程序配合使用,以保障數據安全。TLS 是一種加密機制,用于保護客戶端和服務器之間的通信。TLS 可以將常規 HTTP 流量封裝在 TLS 中,這意味著我們可以加密整個會話,而不僅僅是發送或請求的數據。在 TLS 機制出現之前,我們很容易受到中間人攻擊和其他類型的偵察或劫持攻擊,這意味著與客戶端或服務器位于同一局域網中的任何人如果在線監聽,都可以查看網絡流量。現在,我們可以在瀏覽器中實施安全措施,使每個人都可以加密他們的網絡行為、搜索請求、會話或數據傳輸、銀行交易等等。

盡管 HTTPS 是基于 HTTP 的,但它使用 443 和 8443 端口,而不是標準的 80 端口。這是一種客戶端向服務器發出信號以表明其希望建立安全連接的方式。讓我們看一下 HTTPS 流量的輸出,并了解一下 TLS 握手是如何運作的。

通過 HTTPS 進行 TLS 握手

在這里插入圖片描述

在前幾個數據包中,我們可以看到客戶端使用藍色方框中標示的 443 端口與服務器建立了會話。這向服務器發出信號,表明它希望使用 HTTPS 作為應用程序通信協議

通過 TCP 發起會話后,接下來會發送 TLS ClientHello 消息,開始 TLS 握手。在握手過程中,雙方會協商幾個參數,包括會話標識符、對端 x509 證書、要使用的壓縮算法、密碼規范加密算法(如果會話可恢復),以及客戶端和服務器之間共享的用于驗證會話的 48 字節主密鑰。

會話建立后,所有數據和方法都將通過 TLS 連接發送,并顯示為紅色方框中所示的 TLS 應用程序數據。 TLS 仍然使用 TCP 作為傳輸協議,因此我們仍然會看到來自流的確認數據包通過端口 443 發送。 握手過程總結:

在這里插入圖片描述

加密本身是一個復雜而冗長的話題,值得專門寫一個模塊來闡述。本節簡單概述了 HTTP 和 TLS 如何在 HTTPS 應用協議中提供安全性。有關 HTTPS 的工作原理以及 TLS 如何執行安全操作的更多信息,請參閱 RFC:2246。
在這里插入圖片描述

FTP

文件傳輸協議 (FTP) 是一種應用層協議,支持在計算設備之間快速傳輸數據。FTP 可以通過命令行、Web 瀏覽器或圖形化 FTP 客戶端(例如 FileZilla)使用。FTP 本身被認為是一種不安全的協議,大多數用戶已轉而使用 SFTP 等工具通過安全通道傳輸文件。展望未來,大多數現代 Web 瀏覽器已于 2020 年逐步停止支持 FTP。

當我們考慮主機之間的通信時,我們通常會想到客戶端和服務器通過單個套接字進行通信。通過此套接字,客戶端和服務器都通過同一條鏈路發送命令和數據。在這方面,FTP 的獨特之處在于它同時使用多個端口。FTP 通過 TCP 使用端口 20 和 21。端口 20 用于數據傳輸,而端口 21 用于發出控制 FTP 會話的命令。在身份驗證方面,FTP 支持用戶身份驗證,并且如果已配置,還允許匿名訪問。

FTP 能夠以兩種不同的模式運行:主動模式和被動模式。主動模式是 FTP 的默認操作方式,這意味著服務器會監聽來自客戶端的控制命令 PORT,該命令指示使用哪個端口進行數據傳輸。被動模式使我們能夠訪問位于防火墻后面或啟用了 NAT 的鏈路(這些鏈路無法建立直接 TCP 連接)的 FTP 服務器。在這種情況下,客戶端會發送 PASV 命令,并等待服務器的響應,告知客戶端使用哪個 IP 地址和端口進行數據傳輸通道連接。

FTP 命令和響應示例

在這里插入圖片描述
上圖展示了幾個通過 FTP 命令通道發出的請求(綠色箭頭)以及從 FTP 服務器返回的響應(藍色箭頭)的示例。這些都是非常標準的操作。要查看每個命令及其功能的列表,請查看下表。

查看 FTP 流量時,我們可以看到通過端口 21 傳遞的一些常見命令包括:

FTP 命令

在這里插入圖片描述
以上并非可能出現的 FTP 控制命令的詳盡列表。這些命令可能因所使用的 FTP 應用程序或 Shell 而異。有關 FTP 的更多信息,請參閱 RFC:959。

在這里插入圖片描述

SMB

服務器消息塊 (SMB) 是 Windows 企業環境中最常用的協議,它支持通過常見的網絡架構在主機之間共享資源。SMB 是一種面向連接的協議,要求主機向資源進行用戶身份驗證,以確保用戶擁有使用該資源或執行操作的正確權限。過去,SMB 使用 NetBIOS 作為通過 UDP 端口 137 和 138 的傳輸機制。經過現代化的改進,SMB 現在支持通過端口 445 的直接 TCP 傳輸、通過 TCP 端口 139 的 NetBIOS 傳輸,甚至支持 QUIC 協議。

作為用戶,SMB 使我們能夠輕松便捷地訪問打印機、共享驅動器、身份驗證服務器等資源。因此,SMB 對潛在攻擊者也極具吸引力。

與任何其他使用 TCP 作為傳輸機制的應用程序一樣,它會執行標準功能,例如三次握手和確認收到的數據包。讓我們花點時間了解一些 SMB 流量,以便熟悉它。

SMB 線路

在這里插入圖片描述

從上圖可以看出,每次建立會話時,橙色框中的端口都會執行 TCP 握手查看藍色框中的源端口和目標端口,可以看到端口 445 正在被使用,這表明 SMB 流量通過 TCP 進行。查看綠色框中的信息字段,可以了解到 SMB 通信中發生的情況。此示例中存在許多錯誤,值得深入研究。用戶身份驗證失敗一兩次的情況比較常見,但大量錯誤重復出現可能表明潛在的未經授權的用戶試圖訪問用戶的帳戶或使用其憑據進行移動。這是攻擊者常用的策略,他們會獲取已通過身份驗證的用戶,竊取其憑據,利用這些憑據進行橫向移動,或訪問通常被拒絕訪問的資源。

這只是 SMB 使用情況的一個例子。我們經常看到的另一個情況是服務器和主機之間的文件共享訪問。在大多數情況下,這是常規通信。但是,如果我們看到一個主機訪問其他主機上的文件共享,則這種情況并不常見。請注意誰在請求連接、去往何處以及他們在做什么。

在這里插入圖片描述
在這里插入圖片描述

之后我會持續更新,如果喜歡我的文章,請記得一鍵三連哦,點贊關注收藏,你的每一個贊每一份關注每一次收藏都將是我前進路上的無限動力 !!!↖(▔▽▔)↗感謝支持!

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

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

相關文章

ansible playbook 實戰案例roles | 實現基于 IHS 的 AWStats 訪問監控系統

文章目錄一、核心功能描述二、roles內容2.1 文件結構2.2 主配置文件2.3 tasks文件內容三、files文件內容四、關鍵價值免費個人運維知識庫,歡迎您的訂閱:literator_ray.flowus.cn 一、核心功能描述 這個 Ansible Role 的核心功能是:?實現 ?…

DELL服務器 R系列 IPMI的配置

1、iDRAC功能默認都是關閉,需要在BIOS面啟用,首先重啟計算機,按F2然后進入BIOS,選擇iDRAC Setting進行iDRAC配置 2、重置一下idrac卡-重置才能恢復默認密碼 3、進入iDRAC Setting之后,選擇設置網絡Network 4、啟用iDRA…

模式組合應用-橋接模式(一)

寫在前面Hello,我是易元,這篇文章是我學習設計模式時的筆記和心得體會。如果其中有錯誤,歡迎大家留言指正!文章為設計模式間的組合使用,涉及代碼較多,個人覺得熟能生巧,希望自己能從中學習到新的…

【clion】visual studio的sln轉cmakelist并使用clion構建32位

我想在linux上運行,所以先轉為cmake工程 例如可以把exe mfc 部分不構建,這樣ubuntu就不用移植。 先轉cmakelist,而后clion完成win32的構建,與vs構建對比,驗證腳本正確性。 Vcxproj2CMake https://github.com/gns333/Vcxproj2CMake cmakeconverter https://github.com/pave…

MySQL之分區功能

序言 隨著業務發展,我們維護的項目數據庫中的數據可能會越來越大,那么單張表的數據變多后,接口查詢效率可能會變慢,那我們就直接照抄大廠常見的分庫分表嗎?—— 當然不是的,分庫分表不是萬能的。 分庫分表…

java_spring boot 中使用 log4j2 及 自定義layout設置示例

1. log4j2對比 原始Logback 優勢 對于 Spring Boot 3.x,Logback 是默認日志框架,但在高并發、異步日志場景下,Log4j2 通常表現更優。當業務百萬級用戶、微服務、日志量大時: ? 1. Logback(默認 Spring Boot 集成&am…

記錄Webapi Excel 導出

文章目錄1、helper2、control3、前端 axios記錄webapi excel 導出File示例.NET8.0 NPOI2.731、helper using NPOI.SS.UserModel; using NPOI.XSSF.UserModel; using System.Data; using System.IO; /// <summary> /// 導出EXCEL /// </summary> public class Exce…

VPS服務器安全審計方案:從風險評估到防護實施

隨著云計算技術的快速發展&#xff0c;VPS服務器已成為企業信息化建設的重要基礎設施。隨之而來的安全威脅也日益增多&#xff0c;如何通過專業的安全審計方案保障VPS服務器的穩定運行成為關鍵課題。本文將系統闡述從漏洞掃描到應急響應的全周期安全審計實施策略&#xff0c;幫…

libmicrohttpd 入門

libmicrohttpd 是一個小型的 C 庫&#xff0c;用于在項目中嵌入 HTTP 服務器功能。它設計簡單、輕量級&#xff0c;適合需要 HTTP 接口但不想要大型 Web 服務器開銷的應用程序。 安裝 libmicrohttpd Linux 系統 在基于 Debian/Ubuntu 的系統上&#xff1a; bash sudo apt-…

【網絡】使用 DNAT 進行負載均衡時,若未配置配套的 SNAT,回包失敗

【網絡】iptables 1 概念 【網絡】iptables 2 查看規則 【網絡】使用 DNAT 進行負載均衡時&#xff0c;若未配置配套的 SNAT&#xff0c;回包失敗 【網絡】回包路由原理 使用 DNAT 進行負載均衡時&#xff0c;若未配置配套的 SNAT&#xff0c;后端服務器將直接回包給客戶端&am…

深入解析GCC:從編譯原理到嵌入式底層實戰

繼續更新編譯器底層系列&#xff01;&#xff01;&#xff01;硬核C語言的屠龍之術&#xff1a;從GCC到匯編的底層征途&#xff08;一&#xff09;總綱&#xff1a; 恭喜你&#xff0c;決定踏上這條通往嵌入式大佬的硬核之路。這條路的起點&#xff0c;不是C語言的語法書&#…

最新MySQL面試題(2025超詳細版)

2025最新超詳細MySQL面試題 文章目錄2025最新超詳細MySQL面試題[toc]一、 SQL 和基本操作1. SQL的執行順序2. 如何優化MySQL查詢3. 常用的聚合函數4. 數據庫事務5. 事務的四大特性(ACID)6. 視圖7. MySQL中使用LIMIT子句進行分頁8. MySQL中使用變量和用戶定義的函數9. MySQL中的…

Spring Retry實戰指南_讓你的應用更具韌性

1 Spring Retry概述 1.1 什么是Spring Retry Spring Retry是Spring生態系統中的一個重要組件,專門用于處理應用程序中的重試邏輯。在分布式系統和微服務架構中,網絡通信、外部服務調用、數據庫訪問等操作都可能因為各種原因而失敗,如網絡抖動、服務暫時不可用、資源競爭等…

大數據畢業設計選題推薦-基于大數據的1688商品類目關系分析與可視化系統-Hadoop-Spark-數據可視化-BigData

?作者主頁&#xff1a;IT畢設夢工廠? 個人簡介&#xff1a;曾從事計算機專業培訓教學&#xff0c;擅長Java、Python、PHP、.NET、Node.js、GO、微信小程序、安卓Android等項目實戰。接項目定制開發、代碼講解、答辯教學、文檔編寫、降重等。 ?文末獲取源碼? 精彩專欄推薦?…

【Grafana】grafana-image-renderer配合python腳本實現儀表盤導出pdf

背景 os&#xff1a;centos7Grafana&#xff1a;v12grafana-image-renderer&#xff1a;v4.0.10插件&#xff1a;否grafana-image-renderer可以以插件形式啟動&#xff0c;也可以以單獨服務啟動&#xff0c;在centos7插件啟動時&#xff0c;報錯glibc版本太低&#xff0c;未找到…

靜/動態庫 IIC(arm) day58

十七&#xff1a;動態庫和靜態庫 庫&#xff1a;一堆可執行二進制文件的集合&#xff0c;由若干個.o文件歸并生成 一&#xff1a;靜態(鏈接)庫&#xff1a;libxxx.a 生成一個獨立的可執行程序(運行時僅需要一個文件即可) 使用方便 不需要安裝 文件比較大 多個程序使用同一個靜態…

uniapp 手寫簽名組件開發全攻略

引言在移動應用開發中&#xff0c;手寫簽名功能是一個常見的需求&#xff0c;特別是在電子合同、審批流程、金融交易等場景中。本文將詳細介紹如何基于uni-app框架開發一個高性能、功能豐富的手寫簽名組件&#xff0c;并分享開發過程中的技術要點和最佳實踐。組件概述這個簽名組…

理解JavaScript中的函數賦值和調用

&#x1f468; 作者簡介&#xff1a;大家好&#xff0c;我是Taro&#xff0c;全棧領域創作者 ?? 個人主頁&#xff1a;唐璜Taro &#x1f680; 支持我&#xff1a;點贊&#x1f44d;&#x1f4dd; 評論 ??收藏 文章目錄前言一、函數賦值二、函數調用三、 代碼示例總結前言…

交叉編譯 手動安裝 SQLite 庫 移植ARM

# 下載源碼 wget https://www.sqlite.org/2023/sqlite-autoconf-3420000.tar.gz tar -xzf sqlite-autoconf-3420000.tar.gz cd sqlite-autoconf-3420000cd /home/lxh/sqlite-autoconf-3420000 make distclean //清除下&#xff0c;因為我安裝失敗過。 ./configure --hostarm-…

翻譯記憶庫(TMX)與機器翻譯的結合應用

更多內容請見: 機器翻譯修煉-專欄介紹和目錄 文章目錄 一、核心概念解析 1.1 翻譯記憶庫 (Translation Memory, TM) 1.2 翻譯記憶交換格式 (Translation Memory eXchange, TMX) 二、為何要將兩者結合? 2.1 TM和MT的優勢是高度互補的 2.2 TMX在結合中的關鍵作用 2.3 TMX與MT的…