Pengantar
Sebuah pelabuhan adalah titik akhir komunikasi. Pada tingkat perangkat lunak, dalam sistem operasi, port adalah konstruksi logis yang mengidentifikasi proses tertentu atau jenis layanan jaringan. Sebuah port diidentifikasi untuk setiap protokol transport dan kombinasi alamat dengan nomor unsigned 16-bit, yang dikenal sebagai nomor port . Protokol transport paling umum yang menggunakan nomor port adalah Transmission Control Protocol (TCP) dan User Datagram Protocol (UDP).
Juga port adalah entitas logis yang mewakili titik akhir komunikasi dan dikaitkan dengan proses atau layanan tertentu dalam sistem operasi. Pada artikel sebelumnya, kami telah menjelaskan cara mengetahui daftar semua port yang terbuka di Linux dan cara memeriksa apakah port jarak jauh dapat dijangkau menggunakan perintah Netcat.
1. Menggunakan Perintah lsof
lsof perintah (List Open Files) digunakan untuk membuat daftar semua file yang terbuka di Linux
Untuk menginstalnya di sistem Anda, jalankan
$ sudo apt-get install lsof #for Debian, Ubuntu and Mint
$ sudo yum install lsof #for RHEL/CentOS/Fedora and Rocky Linux
$ sudo emerge -a sys-apps/lsof #for Gentoo Linux
$ sudo pacman -S lsof #for Arch Linux
$ sudo zypper install lsof #for OpenSUSE
Untuk menemukan proses/layanan yang mendengarkan pada port tertentu, jalankan perintah di bawah ini:
[root@unixcop ~]# lsof -i :80
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
httpd 12289 root 4u IPv6 70310 0t0 TCP *:http (LISTEN)
httpd 24040 apache 4u IPv6 70310 0t0 TCP *:http (LISTEN)
httpd 24041 apache 4u IPv6 70310 0t0 TCP *:http (LISTEN)
httpd 24042 apache 4u IPv6 70310 0t0 TCP *:http (LISTEN)
[root@unixcop ~]#
2. Menggunakan Perintah netstat
Jadi netstat perintah mengacu pada (statistik jaringan) yang digunakan untuk menampilkan informasi termasuk koneksi jaringan, tabel perutean, dan statistik antarmuka.
Untuk menginstal netstat:
$ sudo apt-get install net-tools #for Debian/Ubuntu & Mint
$ sudo dnf install net-tools #for CentOS/RHEL/Fedora and Rocky Linux
$ pacman -S netstat-nat #for Arch Linux
$ emerge sys-apps/net-tools #for Gentoo
$ sudo dnf install net-tools #for Fedora
$ sudo zypper install net-tools #for openSUSE
Anda dapat menggunakannya dengan grep perintah untuk menemukan proses atau layanan yang mendengarkan pada port tertentu di Linux seperti dengan perintah di bawah ini:
$ netstat -ultnp | grep -w ':80'
Pada perintah di atas, bendera.
l
– memberi tahu netstat untuk hanya menampilkan soket pendengar.p
– memungkinkan menampilkan ID proses dan nama proses.n
– menginstruksikannya untuk menunjukkan alamat numerik.t
– memberitahunya untuk menampilkan koneksi tcp.grep -w
– menunjukkan pencocokan string yang tepat (:80).
3. Menggunakan Perintah fuser
pelebur perintah menunjukkan PID proses menggunakan file atau sistem file yang ditentukan .
Anda dapat menginstalnya dengan:
$ sudo apt-get install psmisc #for Debian, Ubuntu and Mint
$ sudo yum install psmisc #for RHEL/CentOS/Fedora and Rocky Linux
$ sudo emerge -a sys-apps/psmisc #for Gentoo Linux
$ sudo pacman -S psmisc #for Arch Linux
$ sudo zypper install psmisc #for OpenSUSE
Anda dapat menemukan proses/layanan yang mendengarkan pada port tertentu dengan menjalankan perintah:
[root@unixcop ~]# fuser 80/tcp
80/tcp: 12289 24040 24041 24042
[root@unixcop ~]#
Untuk menemukan nama proses menggunakan nomor PID dengan perintah ps :
$ ps -p 2053 -o comm=
$ ps -p 2381 -o comm=
[root@unixcop ~]# fuser 80/tcp
80/tcp: 12289 24040 24041 24042
[root@unixcop ~]# ps -p 12289 -o comm=
httpd
[root@unixcop ~]# ps -p 24040 -o comm=
httpd
[root@unixcop ~]
Kesimpulan
Dalam panduan ini Anda mengetahui cara terbaik untuk menemukan proses/layanan yang mendengarkan pada port tertentu di Linux.