Я знаю, что могу просматривать открытые файлы процесса, lsof
который в данный момент используется на моей машине с Linux. Однако процесс может открывать, изменять и закрывать файл так быстро, что я не смогу увидеть его при мониторинге с использованием стандартных сценариев оболочки (например watch
), как описано в разделе «Отслеживание открытых файлов процессов в Linux (в режиме реального времени)». ,
Итак, я думаю, что я ищу простой способ аудита процесса и посмотреть, что он сделал за прошедшее время. Было бы здорово, если бы можно было также увидеть, какие сетевые подключения он (пытался) установить, и запустить аудит до того, как процесс успеет запустить без запуска аудита.
В идеале я хотел бы сделать это:
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
Возможно ли это с помощью strace
некоторых флагов, чтобы не видеть каждый системный вызов?