Saya tahu saya dapat melihat file terbuka dari suatu proses menggunakan lsof
pada saat itu di mesin Linux saya. Namun, suatu proses dapat membuka, mengubah, dan menutup file dengan sangat cepat sehingga saya tidak akan dapat melihatnya ketika memantau menggunakan skrip shell standar (misalnya watch
) seperti yang dijelaskan dalam "monitor file proses terbuka di linux (real-time)" .
Jadi, saya pikir saya sedang mencari cara sederhana untuk mengaudit suatu proses dan melihat apa yang telah dilakukannya dari waktu ke waktu. Akan lebih bagus jika juga memungkinkan untuk melihat koneksi jaringan apa yang dibuatnya (mencoba) dan agar audit dimulai sebelum proses mendapat waktu untuk berjalan tanpa audit dimulai.
Idealnya, saya ingin melakukan ini:
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
Apakah ini mungkin menggunakan strace
dan beberapa bendera untuk tidak melihat setiap panggilan sistem?