Gerade unter Windows fragt man sich gerne, was tut eine Software wirklich? Auf welche meiner Dateien greift diese zu, verbindet sich diese mit dem Internet und sendet Daten über mich? Wo speichert die Software Daten? …
Ja, unter Windows hat man es nicht immer einfach. Vieles ist keine freie Software, auch Freeware ist keine freie Software – meist nutzt man unter Windows Closed Source, also Software, bei der man nicht wirklich weiß, was diese tut.
Aber auch unter Linux kommt man zu solcher Software. Im Internet findet man haufenweise Software für Linux, bei der man nicht wirklich weiß, was diese wirklich macht. Einfachstes Beispiel sind Appimages, Snap-Software oder auch Flatpaks.
Mit der Software strace, stellen Sie fest, was welche Software wirklich macht.
Inhaltsverzeichnis
strace installieren
Unter auf Debian basierenden Linux-Distributionen installieren Sie diese Software wie üblich ganz einfach über die Paket-Verwaltung durch das Paket „strace„.
strace nutzen
strace wird auf dem Terminal genutzt, die Syntax lautet ganz einfach:
strace befehl
Als Befehl geben Sie den Befehl der zu startenden Anwendung an. Alles, was der genutzte Befehl tut, wird am Terminal ausgegeben – dies kann je nach Anwendung sehr viel sein. Darum sollten Sie die Ausgabe in eine Textdatei umleiten – etwa:
strace befehl > dateiname.txt
Nehmen wir ein einfaches Appimage, die Datei nennt sich in diesem Beispiel „Final2x-ubuntu-x64-AppImage.AppImage„, gestartet wird diese am Terminal mit dem Befehl:
./Final2x-ubuntu-x64-AppImage.AppImage
Um mit strace zu sehen, was diese Software alles macht, nutzt man den Befehl:
strace ./Final2x-ubuntu-x64-AppImage.AppImage > dateiname.txt
In der Ausgabe, oder eben auch am Terminal, sehen Sie alles, was die Software tut. Auf welche Dateien zugegriffen wird, welche Dateien gespeichert werden, welche Dateien und Daten an welche IP-Adressen gesendet werden und vieles, vieles mehr.
Die Software wird etwa von Entwicklern genutzt – dies bedeutet, Sie werden mit Ausgaben jeglicher Art beworfen. Und dies bedeutet wiederum – es ist keine Software nach Windows-Manieren, die erklärt – die Software hat jetzt auf diese Datei zugegriffen und darin dieses Passwort ausgelesen. Aber – selbst Einsteiger, die nicht nach der zweiten Zeile sagen – was soll ich mit diesem Scheiß? – werden das Wichtigste verstehen. Auf welche Dateien wird zugegriffen – und muss die Software darauf zugreifen? Wohin werden Daten geschickt? …
Mehr zur Software natürlich über deren Manpage mit dem Befehl:
man strace
und etwa auch auf Baeldung – strace (die Seite ist übrigens auch für so manche andere Linux-Dinge sehr interessant).
2 Reaktionen
Feine Sache, gleich eingebaut. 👍
Für Winblöd gibt’s das auch: https://learn.microsoft.com/de-de/sysinternals/
hat mir im Beruf so manches mal den Ar*** gerettet (Windoof 2xxx Server mit Thin-Clients – Auweia)
Ich möchte noch bemerken, dass dieses Programm auf anderen Unix-Systeme
1. u.a. als „truss“ oder anderem Namen aufgerufen wird.
2. Die Performance des Programmes stark gebremst wird bzw wen Interrupts-Probleme gesucht werden, diese nicht auftreten.
3. Der Parameter -f äußert nützlich ist, um die weiteren Pocesse (forks) zu beobachten und mit -p kann man auch Dauerläufer beobachten. z. B. den apachen-Webserver.
ein „stace -f -p 1“ würde alle Information geben, was init von diesem Zeitpunkt so treibt. Vorsicht das wird viel. Oder anders gesagt, man kann dies ohne Unterbrechung des System/Services durchführen.