Equivalente di SysInternals FileMon per Linux?


Risposte:


7

Stai cercando strace. Dai un'occhiata qui: https://wiki.ubuntu.com/Strace


2
A quanto ho capito, l'esecuzione di filemon consente all'utente di vedere tutti gli accessi ai file. invece, è necessario specificare quale app aprire per prima. Ciò richiede di conoscere in anticipo l'app che accede a tali file. Che cosa succede se non sai quale app sta accedendo ai file che ti interessano?
chuacw,

8

Dipende da cosa vuoi:

  • In generale, si desidera guardare inotify per vedere tutti gli accessi ai file effettuati da qualsiasi processo.

  • Nel piccolo, lo strace ti permetterà di guardare le syscalls che un particolare processo fa. Strace è davvero fantastico. È possibile tracciare le chiamate di un processo per "aprirle" strace -f -eopen $cmd, ad esempio. La pagina man ha tutti i dettagli sulla sintassi, ovviamente.


Grazie PJZ. Per essere molto specifici, ho qualche problema ad iniziare con Ogre3d su Ubuntu. La mia applicazione di prova sembra cercare alcuni file .cfg durante l'avvio. Voglio ascoltare tutti i tentativi di apertura dei file in modo da poter garantire che siano disponibili i file corretti e che dispongano delle autorizzazioni corrette.
chickeninabiscuit

strace -e open ./app
Justin

2

stracedavanti a un'applicazione di avvio è bene vedere cosa sta facendo l'app.
lsofè bello vedere quali file sta utilizzando un'app già in esecuzione.

A proposito:
lsof -ni:22 mostra quale processo sta usando la porta 22.



1

Ecco un esempio dell'uso di strace per tenere traccia delle modifiche ai file:

strace -f -e trace=file -p7546 -o /tmp/outputfile

-fassicura che gli eventi dei processi secondari vengano acquisiti.
-e trace=filedice che dovremmo acquisire i syscall relativi ai file (ad es stat. open, futexecc.)
-pè l'ID del processo (recuperato da ps -auxo altri mezzi) -ospecificato il file di output (potrebbero esserci molti dati e si potrebbe invece usare grep come filtro.




0

Questo è vecchio, ma penso che sia una buona idea aggiornarlo per la realtà di oggi.

Per il debug di un solo processo e dei loro figli, lo strace è ancora il modo migliore. Può mostrare facilmente tutti gli accessi ai file, anche sui file mancanti.

Per il debug di sistema generico, la funzione di controllo nel kernel può farlo ed è il modo consigliato. Non ha bisogno di alcuna patch sui kernel recenti, solo il pacchetto di controllo è installato

ecco una semplice interfaccia per usarlo:

Audit-gui

Questo replica il filemon di Windows, monitorando l'accesso ai file per tutti i luoghi, processi, ecc

controlla anche questo post


0

Questo è ciò che ha funzionato bene per me (Linux Mint 19.1):

sudo lsof 2>&1 | grep programnamehere

Non sono sicuro del perché 2>&1fosse necessario, ma non ha filtrato se non l'ho usato.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.