Strace, utilita Cli na zachytávanie a zaznamenávanie systémových hovorov

stopové štatistiky

Strace je obslužný program CLI, ktorý sa používa na kontrolu chýb v systéme ako umožňuje sledovanie systémových volaní používaný určitým programom a všetkými signálmi, ktoré prijíma. Úžitkovosť umožňuje užívateľovi sledovať a (od verzie 4.15) zasahovať do procesu interakcie medzi programom a jadromvrátane prebiehajúcich systémových volaní, vyskakovacích okien a zmien stavu procesu

Jeho fungovanie umožňuje funkcia linuxového jadra s názvom ptrace. Je to podobné ako aplikácia krovu dostupná v iných systémoch Unix. Program Cygwin poskytuje podobný nástroj. Najčastejšie sa používa na spustenie spolu s programom, ktorý je sledovaný a ktorý vytlačí zoznam systémových volaní, ktoré vykonáva.

Je užitočné zistiť príčinu zlyhania určitého programualebo preto, že hlási situácie, v ktorých sa napríklad program pokúša získať prístup k súboru, ktorý neexistuje alebo na ktorý nemá povolenie na čítanie.

Z charakteristík, ktoré vyčnievajú zo Strace, vynikajú tieto:

  • Vedieť určiť filter názvov syscall, ktorý sa má vysledovať (pomocou možnosti -e trace =): podľa názvu, napríklad klon, vidlica, vfork; použitie jednej z preddefinovaných skupín, napríklad% ipc alebo% file; alebo (od verzie 4.17) pomocou syntaxe regulárneho výrazu, napríklad clock_ *.
  • Zadajte zoznam trás na sledovanie (napríklad -P /etc/ld.so.cache).
  • Zadajte zoznam deskriptorov súborov, ktorých I / O by sa mali vyradiť
  • Počítajte čas vykonania a počet volaní
  • Tlač relatívnych alebo absolútnych časových značiek
  • Upravte návratový a chybový kód špecifikovaných systémových volaní a po vykonaní zadajte signály
  • Extrakcia informácií o deskriptoroch súborov (vrátane zásuviek).
  • Stopovacia tlač, vrátane (od verzie 4.21) symbolu dopytu (-k).
  • Filtrovanie podľa návratového stavu systému Syscall
  • strace podporuje dekódovanie argumentov niektorých príkazových tried ioctl, ako sú BTRFS_ *, V4L2_ *, DM_ *, NSFS_ *, MEM *, EVIO *, KVM_ * a niekoľko ďalších.

Ako stopa iba podrobne popisuje systém, nemožno ho použiť na zistenie toľkých problémov ako debugger kódu, ako je GNU Debugger (gdb). Používanie je však jednoduchšie ako debugger kódu a pre správcov systému je to nesmierne užitočný nástroj. Vedci ho tiež používajú na generovanie stôp systémových volaní pre neskoršie prehranie.

O novej verzii Strace 5.3

Nedávno bola predstavená nová verzia strace 5.3 licencia na kód sa pre skúšobnú verziu zmenila z BSD na LGPLv2.1 + a GPLv2 +.

Aj v rámci zmien, ktoré vynikajú podpora filtrovania systémových volaní vytváraním filtrov seccomp („–Seccomp-bpf“), ako aj návratový kód („-e status = ...“).

Ďalšou zmenou, ktorá vyniká pri ohlásení tejto novej verzie, je pridanie vývojárov podpora systémových volaní dekódovania pidfd_open a clone3, plus vylepšené dekódovanie systémových volaní io_cancel, io_submit, s390_sthyi a syslog.

V reklame je tiež zdôraznené, že Zoznamy príkazov ioctl sa synchronizujú s jadrom Linuxu 5.3

Z ďalších zmien ktoré sú uvedené v reklame, sú:

  • Vylepšené dekódovanie protokolu NETLINK_ROUTE
  • Dekódovaný atribút sieťového spojenia UNIX_DIAG_UID a príkazy WDIOC_ * ioctl
  • Aktualizované zoznamy konštánt AUDIT_ *, BPF_ *, ETH_ *, KEYCTL_ *, KVM_ *, MAP_ *, SO_ *, TCP_ *, V4L2_ *, XDP_ * a * _MAGIC

Ako nainštalovať strace 5.3 na Ubuntu a deriváty?

Obslužný program Strace možno nájsť v úložiskách Ubuntu aj v jeho derivátoch, ale pokiaľ do tejto novej verzie nebol zahrnutý v úložiskách. Inštaláciu cez úložiská je možné vykonať vykonaním nasledujúceho príkazu:

sudo apt install strace

Teraz pre tých, ktorí si chcú nainštalovať túto novú verziu, by si mali stiahnuť zdrojový kód a skompilovať vo vašom systéme.

Stiahnu zdrojový kód pomocou:

git https://gitlab.com/strace/strace.git

Vstupujú s:

cd strace

A zostavujú s:

./configure && make && make install

Nakoniec týkajúce sa použitia nájdete na sieti niekoľko príručiek.


Buďte prvý komentár

Zanechajte svoj komentár

Vaša e-mailová adresa nebude zverejnená. Povinné položky sú označené *

*

*

  1. Zodpovedný za údaje: Miguel Ángel Gatón
  2. Účel údajov: Kontrolný SPAM, správa komentárov.
  3. Legitimácia: Váš súhlas
  4. Oznamovanie údajov: Údaje nebudú poskytnuté tretím stranám, iba ak to vyplýva zo zákona.
  5. Ukladanie dát: Databáza hostená spoločnosťou Occentus Networks (EU)
  6. Práva: Svoje údaje môžete kedykoľvek obmedziť, obnoviť a vymazať.