Netflow

什麼是網流?

  • September 29, 2016

我對“NetFlow”意義的定義有點困惑。NetFlow 是否聲明,無論網路埠如何,兩個 IPv4 地址之間的總數據包交換或描述數據包的標頭(源 IP、目標 IP、源埠、目標埠、協議、時間資訊、TCP 標誌、字節資訊、數據包資訊,ICMP 資訊)?

NetFlow 作為一個術語現在包含了幾種不同的方法,這要歸功於可擴展的欄位,但基本上是這樣的:NetFlow 記錄是在 IP 協議編號 C 上從主機 A 發送到主機 B 的字節數和數據包數的定期摘要,並且 (在適當的情況下)從主機 A 上的埠 D 到主機 B 上的埠 E。通常有比這更多的資訊(例如有關流量經過的路由器介面的資訊),但或多或​​少就是這樣。

一個具體的例子可能會有所幫助。假設我從 192.168.0.10 開始一個 SSH 會話到 192.168.0.11。我的本地作業系統為我分配了臨時 TCP 埠 50000,當然我正在連接到埠 22。

我的路由器會定期(比如每分鐘一次)發送一個包含兩個更新的 NetFlow 數據報。一個將包含從 192.168.0.10:50000 發送到 192.168.0.11:22 的八位字節和數據包數量的時間戳計數,另一個將包含從 192.168.0.11:22 發送到 192.168.0.1 的八位字節和數據包的計數:50000。可能還有其他資訊,例如使用的 TCP 標誌、QoS、VLAN 編號和其他項目。一些路由器還會檢查有效負載以確定正在使用的應用程序,或者提取 URL 或使用者名。這些被放入附加欄位,通常不會產生全新的 NetFlow 記錄。

如果我在同一主機之間打開第二個連接,比如埠 80,或者另一個連接到埠 22,那麼我將獲得該連接的單獨更新,因為我將被分配新的源埠。因此,如果我有兩個 SSH 連接,一個來自埠 50000,另一個來自埠 50001,那麼 NetFlow 將區分它們,我將獲得兩組更新。如果我打開了 20 個連接,那麼我將根據所涉及的埠和主機獲得 20 對(每個方向一對)NetFlow 更新。

因此,為了更直接地回答您的問題:報告時確實會考慮標題資訊,因此報告不會與使用的埠無關。但是,正如其他評論者所說,它不一定僅限於標題資訊。

引用自:https://serverfault.com/questions/805941