Wireshark

獲取用於 Wireshark 的網路數據傳輸速率/吞吐量

  • July 12, 2019

我正在嘗試獲取 VPS 上的乙太網 NIC 吞吐率/數據傳輸率,以便在 DOS/DDOS 攻擊期間開始對 Wireshark 進行擷取,以便我可以分析數據包的性質。

我知道我可以使用稱為環形緩衝區的東西來限制 Wireshark 文件的文件大小並保持 Wireshark 執行。但是,我只想在達到特定的網路流量門檻值後才開始擷取流量,因為這將使我在檢查文件之前更容易分離文件。

我查看了幾個命令行工具,例如 iftop、vnstat 和 nload,它們都可以很好地向終端提供輸出。

但是,有人可以幫助我使用這些工具中的一個命令或另一種簡單擷取 DTR 的好方法來啟動Wireshark 擷取嗎?否則,Tshark 中是否存在允許這種情況發生的現有命令?

您可以使用以下選項執行 TShark:

tshark -i 1 -a duration:30 -q -z io,stat,0

意義:

-i 1:在您的第一個界面上收聽。根據您所需的界面進行調整。(您可以使用tshark -D獲取可供選擇的介面列表。)

-a duration:30: 30秒後自動停止

-q:不顯示被擷取的數據包;只在最後顯示一個摘要

-z io,stat,0:在最後收集並顯示 IO 統計資訊,使用間隔為 0 秒。零間隔意味著將針對所有數據包計算統計資訊。

執行擷取。它將在 30 秒後停止(或者您可以提前結束,通常使用Ctrl+ C),您將獲得如下摘要:

12645 packets captured

=====================================
| IO Statistics                     |
|                                   |
| Duration: 29.1 secs               |
| Interval: 29.1 secs               |
|                                   |
| Col 1: Frames and bytes           |
|-----------------------------------|
|                |1                 |
| Interval       | Frames |  Bytes  |
|-----------------------------------|
| 0.000 <> 29.1  |  12645 | 8694272 |
=====================================

然後,您可以將 8694272 字節除以 29.1 秒,以查看在該擷取視窗期間每秒 298,772 字節的吞吐量。

要實現自動化,請按您希望的頻率執行一次(可能每五分鐘一次),然後使用您最喜歡的工具解析結果以提取持續時間和總字節數。執行除法,如果吞吐量超過指定門檻值,則啟動 Wireshark。

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