Questa guida copre come utilizzare LTRACE e gli esempi di installazione e utilizzo per iniziare.
Installazione di LTRACE in Linux
Per i sistemi Debian, LTRACE viene installato utilizzando APT tramite il comando in basso.
$ sudo apt install ltrace
Per Rhel o CentOS, il comando è:
$ sudo yum installa ltrace
Come usare ltrace
È possibile utilizzare facilmente LTRACE con un programma utilizzando la sintassi di seguito.
$ ltrace [programma] [opzioni]
Ad esempio, creiamo file casuali usando il tocco comanda e usa ltrace per vedere come si comportano.
$ ltrace touch file1.txt 2.txt 3 4
Restituisce solo uno stato di uscita di 0 per dimostrare che i file sono stati creati. Qui, non si stanno verificando molta attività, ma se proviamo a creare un file di archivio in cui sono coinvolte diverse chiamate dinamiche, otterremo maggiori dettagli.
Useremo il -F Flag, che traccia il bambino elabora quando vengono creati dal processo. Iniziamo creando un file di archivio e quindi comprimendolo mentre tracciano i processi del bambino, come nell'immagine seguente.
Con ltrace, il -P l'opzione consente di tracciamento delle chiamate dinamiche di un processo in esecuzione utilizzando il suo ID processo.
$ ltrace -p [Process -id]
Nell'esempio seguente, utilizziamo LTRACE su un processo in esecuzione con un ID di 47168.
IL -R L'opzione LTRACE visualizza il timestamp relativo associato a ciascuna linea di traccia. Ad esempio, quando si utilizza il gatto comando per creare un file, possiamo usare il -R Opzione come nell'output di seguito.
Il timestamp viene visualizzato di seguito dopo l'interrupt. Simile al timestamp relativo è il -T, che aggiunge l'ora del giorno associato a ciascuna linea di traccia. Puoi usare -tt per includere i microsecondi.
Nel nostro caso, stiamo eseguendo un semplice processo LTRACE, ma puoi vedere che il tempo del giorno viene visualizzato a sinistra.
Usa il -S flag per visualizzare le chiamate della libreria e del sistema associate a un processo.
Finora, abbiamo visto come utilizzare LTRACE e visualizzare i risultati sull'output di errori standard. Se è necessario reindirizzare l'output in un file, il -o La bandiera ha le spalle. Ad esempio, per archiviare le chiamate della libreria e del sistema recuperate nell'esempio sopra in un file chiamato Demo1.TXT, Il comando sarà:
$ ltrace -o demo1.txt -s ls
Il file viene creato una volta eseguito LTRACE e, se lo apriamo, vediamo che il contenuto è simile all'esecuzione dello stesso comando nell'output di errori standard. Il reindirizzamento dell'output ai file è un buon modo per archiviare i risultati per riferimento e mantenere il terminale pulito.
A volte è necessario specificare quali chiamate libreria utilizzare con LTRACE. È possibile farlo usando il -e opzione. È solo necessario utilizzare una catena di regole e specificare le regole usando modelli che identificano la libreria Sonames o il Nomi dei simboli. Puoi vedere la pagina manuale per capire di più sul lavoro con una catena di regole e schemi, ma la sintassi generale è la seguente.
$ ltrace -e [catena -rule] [programma]
Sostituisci il catene-rule con il modello e aggiungere il programma per intercettare le chiamate di libreria dinamica; Dovresti essere a posto.
Incartare
Il comando LTRACE Linux è ottimo per l'intercettazione e la registrazione di tutte le chiamate della libreria dinamica sul sistema. Questa guida ha coperto i diversi modi di utilizzare LTRACE usando vari esempi. Usando questa guida, ora puoi facilmente aggirare LTRACE.