A Strace, egy Client segédprogram a rendszerhívások elfogására és rögzítésére

strace-stats

A Strace egy CLI segédprogram, amelyet a rendszer hibáinak ellenőrzésére használnak óta lehetővé teszi a rendszerhívások nyomon követését amelyet egy bizonyos program és az összes kapott jel használ. Hasznosság lehetővé teszi a felhasználó számára, hogy figyelemmel kísérje és (a 4.15-ös verzió óta) beavatkozni a program és a mag közötti interakció folyamatábabeleértve a folyamatban lévő rendszerhívásokat, előugró ablakokat és a folyamatállapot-változásokat

Működését a linux kern ptrace nevű szolgáltatása teszi lehetővé. Hasonló a többi Unix rendszeren elérhető rácsos alkalmazáshoz. A Cygwin program hasonló segédprogramot nyújt. Leggyakoribb felhasználása az elindítása a nyomon követett programmal együtt, amely kinyomtatja a végrehajtott rendszer listáját.

Hasznos kideríteni egy adott program meghibásodásának okátvagy mert beszámol azokról a helyzetekről, amikor például a program olyan fájlhoz próbál hozzáférni, amely nem létezik, vagy amelyre nincs olvasási engedélye.

A Strace -ből kiemelkedő jellemzők közül a következők emelkednek ki:

  • Tudjon meghatározni egy nyomon követhető syscall névszűrőt (az -e trace = opció használatával): név szerint, például klón, villa, vfork; az egyik előre definiált csoport, például a% ipc vagy a% file használata; vagy (a 4.17-es verzió óta) a reguláris kifejezés szintaxisa, például az óra_ *.
  • Adja meg a nyomon követhető útvonalak listáját (például -P /etc/ld.so.cache).
  • Adja meg azoknak a fájlleíróknak a listáját, amelyek I / O-t ki kell dobni
  • Számolja a végrehajtási időt és a syscall számot
  • Relatív vagy abszolút időbélyegek nyomtatása
  • Módosítsa a megadott rendszerhívások visszatérési és hibakódját, és végrehajtás után jeleket adjon be
  • Információ kinyerése fájlleírókban (beleértve a foglalatokat is).
  • Verem nyomkövetés, a (4.21-es verzió óta) igény-szimbólummal (-k).
  • Szűrés a syscall visszatérési állapota szerint
  • A strace támogatja néhány ioctl parancsosztály argumentumainak dekódolását, mint például a BTRFS_ *, V4L2_ *, DM_ *, NSFS_ *, MEM *, EVIO *, KVM_ * és még sok más argumentumát.

Mivel a strace csak részletezi a rendszer hívásait, nem használható annyi probléma felderítésére, mint egy kódhiba-elhárító, mint például a GNU Debugger (gdb). Ez azonban könnyebben használható, mint egy kódhiba-elhárító, és rendkívül hasznos eszköz a rendszergazdák számára. A kutatók arra is használják, hogy rendszerhívás-nyomokat hozzanak létre a későbbi visszajátszáshoz.

A Strace 5.3 új verziójáról

Nemrégiben bemutatták az 5.3-as verzió új verzióját, amelyben a kód licenc BSD-ről LGPLv2.1 + és GPLv2 + -ra változott a próbaverzióhoz.

A meglévő változásokon belül is támogatás a rendszerhívások szűrésére seccomp szűrők létrehozásával ("–Seccomp-bpf"), valamint a visszatérési kód ("-e status = ...").

Egy másik változás, amely kiemelkedik az új verzió bejelentésében, az, hogy a fejlesztők hozzáadták a pidfd_open és a clone3 dekódoló rendszerhívások támogatása, plusz az io_cancel, io_submit, s390_sthyi és a syslog rendszerhívások továbbfejlesztett dekódolása.

A hirdetésben is ki van emelve Az ioctl parancs felsorolja a szinkronizálást a Linux 5.3 kernellel

A többi változás közül amelyek a hirdetésben szerepelnek, a következők:

  • Továbbfejlesztett NETLINK_ROUTE protokoll dekódolás
  • A dekódolt hálózati hivatkozás UNIX_DIAG_UID attribútum és a WDIOC_ * ioctl parancsok
  • Frissítette az AUDIT_ *, BPF_ *, ETH_ *, KEYCTL_ *, KVM_ *, MAP_ *, SO_ *, TCP_ *, V4L2_ *, XDP_ * és * _MAGIC konstanslistákat

Hogyan telepítsük az 5.3-as verziót az Ubuntu és a derivatívákra?

A Strace segédprogram megtalálható az Ubuntu tárolókban, valamint annak származékai, de amennyire ehhez az új verzióhoz még nem került fel a tárakba. A tárolókon keresztüli telepítés a következő parancs végrehajtásával történhet:

sudo apt install strace

Most azoknak, akik szeretnék telepíteni ezt az új verziót, töltsék le a forráskódot és fordítsák le a rendszerén.

Letöltik a forráskódot:

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

Belépnek:

cd strace

És összeállítják:

./configure && make && make install

Végül a felhasználással kapcsolatban találhat néhány útmutatót a neten.


Legyen Ön az első hozzászóló

Hagyja megjegyzését

E-mail címed nem kerül nyilvánosságra. Kötelező mezők vannak jelölve *

*

*

  1. Az adatokért felelős: Miguel Ángel Gatón
  2. Az adatok célja: A SPAM ellenőrzése, a megjegyzések kezelése.
  3. Legitimáció: Az Ön beleegyezése
  4. Az adatok közlése: Az adatokat csak jogi kötelezettség alapján továbbítjuk harmadik felekkel.
  5. Adattárolás: Az Occentus Networks (EU) által üzemeltetett adatbázis
  6. Jogok: Bármikor korlátozhatja, helyreállíthatja és törölheti adatait.