lsof perintah di Linux menampilkan informasi keluarannya tentang file yang dibuka oleh proses. Pada artikel ini, kita akan membahas alat lsof Linux menggunakan 15 contoh yang mudah dipahami. Harap dicatat bahwa semua contoh yang disebutkan dalam tutorial ini telah diuji pada Ubuntu 20.04 LTS, tetapi mereka akan bekerja pada distribusi Linux lain juga seperti Debian, Fedora, dan CentOS.
Tentang lsof Command
Jika Anda ingin cepat melihat nama file yang telah dibuka oleh proses tertentu (atau semua proses), perintah lsof memungkinkan Anda melakukannya. File terbuka bisa berupa file biasa atau direktori, perpustakaan, file khusus atau perangkat blok, file khusus karakter, referensi teks yang dieksekusi, atau bahkan file aliran atau jaringan. Anda juga dapat membuat daftar proses berdasarkan nomor port. Jika Anda tidak masuk sebagai pengguna root, maka Anda mungkin harus menambahkan 'sudo' ke perintah.
Instal perintah lsof Linux
Sebagian besar distribusi Linux datang dengan lsof pra-instal. Jika belum terinstal di sistem Anda, gunakan perintah berikut:
Di Ubuntu dan Debian:
$ sudo apt install lsof
Ond CentOS dan Fedora:
$ dnf install lsof
1. Cara membuat daftar semua file yang terbuka
Untuk membuat daftar semua file yang terbuka, jalankan perintah lsof tanpa argumen apa pun:
lsof
Sebagai contoh, Berikut adalah screengrab dari bagian dari output perintah di atas yang dihasilkan pada sistem saya:
Kolom pertama mewakili proses sedangkan kolom terakhir berisi nama file. Untuk detail tentang semua kolom, buka halaman manual perintah.
2. Cara membuat daftar file yang dibuka oleh proses milik pengguna tertentu
Alat ini juga memungkinkan Anda membuat daftar file yang dibuka oleh proses milik pengguna tertentu. Fitur ini dapat diakses dengan menggunakan -u opsi baris perintah.
lsof -u [nama pengguna]
Misalnya:
lsof -u administrator
3. Cara membuat daftar file berdasarkan alamat Internetnya
Alat ini memungkinkan Anda membuat daftar file berdasarkan alamat Internetnya. Ini dapat dilakukan dengan menggunakan -i opsi baris perintah. Misalnya, jika Anda mau, Anda dapat menampilkan file IPv4 dan IPv6 secara terpisah. Untuk IPv4, jalankan perintah berikut:
lsof -i 4
Misalnya:
Demikian pula, untuk IPv6, jalankan perintah berikut:
lsof -i 6
Misalnya:
lsof -i 6
4. Cara membuat daftar semua file berdasarkan nama aplikasi
Opsi baris perintah -c memungkinkan Anda membuka semua file dengan nama program.
$ lsof -c apache
Anda tidak harus menggunakan nama program lengkap karena semua program yang dimulai dengan kata 'apache' akan ditampilkan. Jadi dalam kasus kami, ini akan mencantumkan semua proses aplikasi 'apache2'.
Opsi -c pada dasarnya hanyalah jalan pintas untuk dua perintah:
$ lsof | grep apache
5. Cara membuat daftar file khusus untuk suatu proses
Alat ini juga memungkinkan Anda menampilkan file yang dibuka berdasarkan nomor identifikasi proses (PID). Ini dapat dilakukan dengan menggunakan -p opsi baris perintah.
lsof -p [PID]
Misalnya:
lsof -p 856
Selanjutnya, Anda juga dapat mengecualikan PID tertentu dalam output dengan menambahkan ^ simbol di depan mereka. Untuk mengecualikan PID tertentu, Anda dapat menjalankan perintah berikut:
lsof -p [^PID]
Misalnya:
lsof -p ^1
Seperti yang Anda lihat pada tangkapan layar di atas, proses dengan id 1 dikeluarkan dari daftar.
6. Cara membuat daftar ID proses yang telah membuka file tertentu
Alat ini memungkinkan Anda untuk membuat daftar ID proses yang telah membuka file tertentu. Ini dapat dilakukan dengan menggunakan -t opsi baris perintah.
$ lsof -t [file-name]
Misalnya:
$ lsof -t /usr/lib/x86_64-linux-gnu/libpcre2-8.so.0.9.0
7. Cara membuat daftar semua file yang terbuka di direktori
Jika mau, Anda juga dapat membuat lsof menelusuri semua instance direktori yang terbuka (termasuk semua file dan direktori yang ada di dalamnya). Fitur ini dapat diakses menggunakan +D opsi baris perintah.
$ lsof +D [directory-path]
Misalnya:
$ lsof +D /usr/lib/locale
8. Cara membuat daftar semua file jaringan Internet dan x.25 (HP-UX)
Hal ini dimungkinkan dengan menggunakan -i opsi baris perintah yang kami jelaskan sebelumnya. Hanya saja Anda harus menggunakannya tanpa argumen apa pun.
$ lsof -i
9. Cari tahu program mana yang menggunakan port
Tombol -i dari perintah memungkinkan Anda menemukan proses atau aplikasi yang mendengarkan nomor port tertentu. Pada contoh di bawah ini, saya memeriksa program mana yang menggunakan port 80.
$ lsof -i :80
Alih-alih nomor port, Anda dapat menggunakan nama layanan seperti yang tercantum di /etc/services mengajukan. Contoh untuk memeriksa aplikasi mana yang mendengarkan pada port HTTPS (443):
$ lsof -i :https
Hasil:
Contoh di atas akan memeriksa TCP dan UDP. Jika Anda ingin memeriksa TCP atau UDP saja, tambahkan kata 'tcp' atau 'udp'. Misalnya, aplikasi mana yang menggunakan port 25 TCP:
$ lsof -i tcp:25
atau aplikasi mana yang menggunakan port UDP 53:
$ lsof -i udp:53
10. Cara membuat daftar file yang terbuka berdasarkan rentang port
Utilitas ini juga memungkinkan Anda membuat daftar file yang dibuka berdasarkan port atau rentang port tertentu. Misalnya, untuk menampilkan file yang terbuka untuk port 1-1024, gunakan perintah berikut:
$ lsof -i :1-1024
11. Cara membuat daftar file yang terbuka berdasarkan jenis koneksi (TCP atau UDP)
Alat ini memungkinkan Anda membuat daftar file berdasarkan jenis koneksi. Misalnya, untuk file khusus UDP, gunakan perintah berikut:
$ lsof -i udp
Demikian pula, Anda dapat membuat lsof menampilkan file khusus TCP.
12. Cara membuat lsof list PID Induk dari proses
Ada juga opsi yang memaksa lsof untuk mencantumkan nomor Parent Process IDentification (PPID) di output. Opsi yang dimaksud adalah -R .
$ lsof -R
Untuk mendapatkan info PPID untuk PID tertentu, Anda dapat menjalankan perintah berikut:
$ lsof -p [PID] -R
Misalnya:
$ lsof -p 3 -R
13. Cara menemukan aktivitas jaringan menurut pengguna
Dengan menggunakan kombinasi opsi baris perintah -i dan -u, kita dapat mencari semua koneksi jaringan pengguna Linux. Ini dapat membantu jika Anda memeriksa sistem yang mungkin telah diretas. Dalam contoh ini, kami memeriksa semua aktivitas jaringan pengguna www-data:
$ lsof -a -i -u www-data
14. Daftar semua file yang dipetakan memori
Perintah ini mencantumkan semua file yang dipetakan memori di Linux.
$ lsof -d mem
15. Daftar semua file NFS
Opsi -N menampilkan daftar semua file NFS (Sistem File Jaringan).
$lsof -N
Kesimpulan
Meskipun lsof menawarkan banyak pilihan, yang telah kita bahas di sini seharusnya cukup untuk membantu Anda memulai. Setelah Anda selesai berlatih dengan ini, buka halaman manual alat untuk mempelajarinya lebih lanjut. Oh, dan jika Anda memiliki keraguan dan pertanyaan, berikan komentar di bawah.