So di poter visualizzare i file aperti di un processo usando lsof
in quel momento sulla mia macchina Linux. Tuttavia, un processo può aprire, alterare e chiudere un file così rapidamente che non sarò in grado di vederlo quando lo monitoro usando lo script di shell standard (ad es. watch
) Come spiegato in "monitorare i file di processo aperti su Linux (in tempo reale)" .
Quindi, penso di essere alla ricerca di un modo semplice per controllare un processo e vedere cosa ha fatto nel tempo. Sarebbe bello se fosse anche possibile vedere quali connessioni di rete ha (tentato) di fare e far iniziare il controllo prima che il processo abbia il tempo di essere eseguito senza che il controllo venga avviato.
Idealmente, vorrei fare questo:
sh $ audit-lsof /path/to/executable
4530.848254 OPEN read /etc/myconfig
4530.848260 OPEN write /var/log/mylog.log
4540.345986 OPEN read /home/gert/.ssh/id_rsa <-- suspicious
4540.650345 OPEN socket TCP ::1:34895 -> 1.2.3.4:80 |
[...]
4541.023485 CLOSE /home/gert/.ssh/id_rsa <-- would have missed
4541.023485 CLOSE socket TCP ::1:34895 -> 1.2.3.4:80 | this when polling
Questo sarebbe possibile utilizzando strace
e alcuni flag per non vedere tutte le chiamate di sistema?