Yandex opublikował skbtrace, narzędzie do śledzenia operacji sieciowych w systemie Linux

Yandex opublikował kod źródłowy narzędzia skbtrace, które udostępnia narzędzia do monitorowania działania stosu sieciowego i śledzenia wykonywania operacji sieciowych w systemie Linux. Narzędzie jest zaimplementowane jako dodatek do systemu dynamicznego debugowania BPFtrace. Kod napisany jest w Go i rozpowszechniany na licencji MIT. Obsługuje pracę z jądrami Linuksa 4.14+ i zestawem narzędzi BPFTrace 0.9.2+.

Podczas działania narzędzie skbtrace generuje skrypty w wysokopoziomowym języku BPFtrace, które dynamicznie śledzą i analizują czas wykonania operacji związanych ze stosem sieciowym i gniazdami sieciowymi systemu Linux. Skrypty są następnie tłumaczone na formularz aplikacji eBPF i wykonywane na poziomie jądra.

Do specyficznych możliwości skbtrace zalicza się pomiar czasu wysyłania pakietów pomiędzy przychodzącym i wychodzącym interfejsem sieciowym, czas życia połączenia TCP od otrzymania sygnału SYN do nadejścia FIN/RST, opóźnienia pomiędzy różnymi zdarzeniami przetwarzania pakietów oraz czas dotyczące negocjowania połączenia TCP. Skbtrace może być również używany do wykrywania retransmisji pakietów TCP, nawet jeśli są one hermetyzowane w innych pakietach, i działa jako prosty odpowiednik narzędzia tcpdump, zdolnego do analizowania wykonywania pewnych procedur jądra, takich jak wywoływanie kfree_skb w celu zwolnienia pamięci podczas odrzucania pakietów.

Źródło: opennet.ru

Dodaj komentarz