Yandex 發布了 skbtrace,一個用於追蹤 Linux 中網路操作的實用程式

Yandex 發布了 skbtrace 實用程式的原始程式碼,該實用程式提供了用於監視網路堆疊操作並追蹤 Linux 中網路操作執行情況的工具。 此實用程式作為 BPFtrace 動態偵錯系統的附加元件實作。 該程式碼是用 Go 編寫的,並根據 MIT 許可證分發。 支援使用 Linux 核心 4.14+ 和 BPFTrace 0.9.2+ 工具包。

執行時,skbtrace 實用程式會產生高階 BPFtrace 語言的腳本,動態追蹤和分析與 Linux 網路堆疊和網路套接字相關的操作的執行時間。 然後,腳本被轉換為 eBPF 應用程式形式並在核心層級執行。

skbtrace的具體功能包括測量傳入和傳出網路介面之間發送資料包的時間、TCP連接從接收SYN到FIN/RST到達的生命週期、不同資料包處理事件之間的延遲以及時間註釋用於協商TCP 連線。 Skbtrace 還可以用於檢測 TCP 封包的重傳,即使它們封裝在其他封包中,並且充當 tcpdump 實用程式的簡單模擬,能夠分析某些核心例程的執行情況,例如調用 kfree_skb 來釋放記憶體丟棄數據包時。

來源: opennet.ru

添加評論