Alat baris arahan LSOF sangat bermanfaat untuk pentadbir sistem dan pembangun dengan membenarkan mereka:
- Tentukan proses yang sedang menggunakan fail atau port tertentu, terutamanya penting sekiranya berlaku konflik port
- Kesan fail yang telah dipadam tetapi masih dibuka oleh proses yang boleh membawa kepada penggunaan ruang yang tidak perlu; arahan LSOF berfungsi untuk mengenal pasti dan menangani keadaan sedemikian
- Membantu dalam menyelesaikan ralat, seperti 'port sudah digunakan', dengan berkesan
- Jejaki aktiviti rangkaian dan sambungan rangkaian terbuka untuk tujuan pemantauan
- Menyiasat corak akses fail, menyumbang kepada pengenalpastian kemungkinan pelanggaran keselamatan
Dalam tutorial ini, anda akan belajar cara menggunakan arahan LSOF untuk memantau port masa nyata.
Sintaks Asas Perintah LSOF
Sintaks arahan LSOF adalah seperti berikut:
$ lsof [ pilihan ] [ nama ]
Pilihan ialah bendera yang digunakan dengan arahan LSOF. Nama mewakili nama fail, PID (ID Proses), nama pengguna atau fail rangkaian (IPv4, IPv6). Bergantung pada pilihan yang disediakan, arahan LSOF memaparkan senarai fail terbuka yang sepadan dengan nama ini.
Pantau Port dalam Masa Nyata Menggunakan Perintah LSOF
LSOF disertakan secara lalai dalam banyak sistem Linux. Anda perlu memuat turun dan memasang salah satu pakej yang tersedia secara manual jika ia tidak dipasang. Untuk menyemak pemasangan LSOF pada sistem anda, gunakan arahan berikut untuk memaparkan versi yang dipasang:
$ lsof -dalam
Adalah penting untuk ambil perhatian bahawa untuk menggunakan arahan LSOF dengan kebenaran yang sesuai, beberapa maklumat tentang proses dan sambungan rangkaian mungkin memerlukan keistimewaan superuser yang tinggi, dan anda mungkin perlu menggunakan 'sudo' untuk menjalankan perintah dengan hak pentadbiran.
Senaraikan Fail Rangkaian
Apabila anda menjalankan arahan LSOF dengan pilihan '-i', ia memaparkan maklumat tentang proses yang mempunyai sambungan rangkaian seperti soket mendengar atau sambungan yang telah ditetapkan.
$ lsof –iPerintah sebelumnya memaparkan maklumat tentang nama proses (COMMAND), ID proses (PID), pengguna (USER), deskriptor fail (FD), jenis sambungan (TYPE), alamat setempat dan jauh serta keadaan sambungan. Anda sepatutnya melihat output berikut:
Senaraikan Sambungan TCP
Anda boleh menapis output berdasarkan kriteria tertentu seperti jenis sambungan atau port tertentu. Sebagai contoh, anda boleh menggunakan 'lsof -i tcp' untuk menyenaraikan hanya proses yang dikaitkan dengan sambungan TCP.
$ lsof -i tcp: 1 - 1024Perintah sebelumnya menapis maklumat tentang proses yang mempunyai sambungan TCP terbuka dalam julat port yang ditentukan dari 1 hingga 1024. Ini boleh berguna untuk mengenal pasti proses yang menggunakan port terkenal yang dikaitkan dengan perkhidmatan biasa.
Pantau Pelabuhan Tertentu dalam Masa Nyata
Menggunakan LSOF, anda boleh memantau port tertentu dalam masa nyata. Sebagai contoh, anda ingin memantau proses yang berkaitan dengan 'HTTP' pada port 80 yang dikemas kini setiap 3 saat. Untuk melakukan ini, pantau port 80 dalam masa nyata dengan arahan berikut:
$ lsof -i : 80 -r3
Pantau Pelabuhan SSHD 22 dalam Masa Nyata
Untuk memantau semua sambungan SSHD yang dijalankan pada port 22, jalankan arahan berikut:
$ sudo lsof -i : 22 -r3Perintah ini sentiasa memantau dan memaparkan maklumat masa nyata tentang sambungan rangkaian pada port 22 setiap 3 saat. Ini amat berguna untuk menjejaki perubahan, seperti sambungan SSH baharu atau pemutusan sambungan, kerana ia berlaku dalam masa nyata.
Pantau Julat Pelabuhan dalam Masa Nyata
Untuk memantau maklumat tentang proses dalam masa nyata yang mempunyai sambungan TCP terbuka dalam julat port yang ditentukan dari 1 hingga 1024, anda boleh menggunakan arahan berikut:
$ lsof -i tcp: 1 - 1024 -r3
Pantau Semua Port dalam Masa Nyata
Anda boleh memantau semua sambungan rangkaian dalam masa nyata menggunakan arahan LSOF. Sebagai contoh, anda ingin menjalankan secara berterusan memantau dan memaparkan maklumat masa nyata tentang sambungan rangkaian setiap 5 saat.
$ lsof -i -r5Output berikut termasuk butiran tentang proses dan soket rangkaian yang berkaitan dalam masa nyata selepas setiap 5 saat:
Begitu juga, anda juga boleh memantau hanya sambungan 'ditubuhkan' dengan arahan LSOF:
$ lsof -i -DAN -r10
Kesimpulan
Dalam tutorial ini, kami belajar cara memantau port dalam masa nyata menggunakan arahan LSOF. Perintah ini juga boleh membantu pentadbir sistem dan pengguna Linux lain untuk memantau sambungan rangkaian, termasuk semua port aktif atau terbuka. Kami berharap panduan ini akan membantu anda memahami cara menggunakan arahan LSOF dengan pilihan yang berbeza dan memantau port dan proses yang berbeza dalam masa nyata.