Wireshark
獲取用於 Wireshark 的網路數據傳輸速率/吞吐量
我正在嘗試獲取 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。