Bagaimana Mendaftar Port Terbuka di Linux?

How List Open Ports Linux



Dalam jaringan, port adalah fitur yang menarik. Ini adalah cara lalu lintas jaringan untuk mengidentifikasi aplikasi atau layanan tujuan. Setiap proses/layanan mendapatkan port uniknya. Sebuah port akan selalu dikaitkan dengan alamat IP dari host bersama dengan protokol.

Ini adalah metafora favorit saya untuk menggambarkan apa itu port. Bayangkan sebuah kapal sarat dengan kargo, yang akan melakukan perjalanan ke negeri yang jauh. Informasi apa yang dibutuhkan untuk mencapai tujuan dengan benar? Demi kesederhanaan, katakanlah itu membutuhkan negara (alamat IP) dan Pelabuhan kapal akan berlabuh.







Dalam panduan ini, lihat cara membuat daftar port terbuka di Linux.



Port di Linux

Port bertindak sebagai titik akhir komunikasi. Ini adalah angka 16-bit (0 hingga 65535 dalam desimal). Meskipun jangkauannya besar, untuk kemudahan penggunaan, port dikategorikan ke dalam tiga kategori. Setiap kategori diberi label sebagai rentang nilai port:



  • 0 hingga 1023: Ini adalah port terkenal, juga dikenal sebagai port Sistem, yang dicadangkan untuk proses sistem yang menawarkan berbagai layanan jaringan. Untuk mengikat dengan port yang terkenal, suatu proses harus memiliki hak superuser.
  • 1024 hingga 49151: Ini adalah port Terdaftar, juga dikenal sebagai port Pengguna, yang ditunjuk oleh IANA untuk layanan tertentu. Atas permintaan, suatu proses mungkin memiliki akses ke sana. Dalam kasus sebagian besar sistem, tidak memerlukan hak pengguna super untuk menggunakan port ini.
  • 49152 hingga 65535: Ini adalah port Dinamis, juga dikenal sebagai port Pribadi. Port ini tidak dapat didaftarkan dengan IANA. Port ini terbuka untuk digunakan untuk layanan pribadi atau khusus dan juga dapat secara otomatis dialokasikan sebagai port ephemeral (port berumur pendek yang digunakan oleh IP).

Di Linux, ada beberapa cara untuk memeriksa port yang terbuka. Secara default, port apa pun akan tetap tertutup kecuali aplikasi sedang menggunakannya. Jika port terbuka, maka port tersebut harus ditetapkan ke layanan/proses.





Daftar Port Terbuka

Lebih mudah untuk mengidentifikasi port mana yang digunakan daripada port mana yang terbuka. Itu sebabnya bagian berikut akan menampilkan metode untuk mendaftar semua port yang sedang digunakan. Di Linux, ada beberapa alat yang tersedia untuk tugas tersebut. Kebanyakan dari mereka datang built-in di distro Linux apa pun.

Mempelajari port mana yang saat ini terbuka dapat berguna dalam berbagai skenario. Dimungkinkan untuk mengonfigurasi port khusus untuk aplikasi tertentu. Port yang terbuka juga dapat menjadi indikasi kuat adanya penyusupan dalam jaringan.



Metode berikut ditunjukkan di Ubuntu 20.04.1 LTS.

Daftar protokol dan port terbuka dari /etc/services

File /etc/services berisi informasi tentang layanan yang sedang berjalan. Ini file besar, jadi siap untuk kewalahan.

$kucing /dll/jasa| lebih sedikit

Daftar port terbuka menggunakan netstat

Alat netstat adalah utilitas untuk menampilkan koneksi jaringan untuk TCP, tabel perutean, dan berbagai antarmuka jaringan. Ia juga menawarkan statistik protokol jaringan. Dengan menggunakan netstat, kita dapat membuat daftar semua port yang terbuka dari sistem.

Jalankan perintah netstat berikut:

$status bersih -atu

Mari kita perincian cepat semua flag yang kita gunakan dalam perintah ini.

  • ke : Memberi tahu netstat untuk menampilkan semua soket
  • T : Memberitahu netstat untuk membuat daftar port TCP
  • kamu : Memberitahu netstat untuk membuat daftar port UDP

Berikut variasi lain dari perintah netstat:

$status bersih -lntu

Ada dua flag baru yang digunakan dalam perintah. Apa yang mereka maksud?

  • NS : Memberi tahu netstat untuk mencetak hanya soket pendengar
  • n : Memberitahu netstat untuk menunjukkan nomor port

Untuk menampilkan PID dari proses yang menggunakan port, gunakan flag -p:

$status bersih -lntup

Daftar port terbuka menggunakan ss

Alat ss adalah utilitas untuk menyelidiki soket. Penggunaannya mirip dengan netstat.

Untuk membuat daftar port yang terbuka, jalankan perintah ss berikut:

$ss-lntu

Benderanya mirip dengan netstat. Fungsi yang mereka gambarkan juga sangat mirip.

  • NS : Memberi tahu ss untuk menampilkan soket pendengar
  • n : Memberi tahu ss untuk tidak mencoba menyelesaikan nama layanan
  • T : Memberitahu ss untuk menampilkan soket TCP
  • kamu : Memberitahu ss untuk menampilkan soket UDP

Daftar port terbuka menggunakan lsof

Perintah lsof adalah untuk membuat daftar file yang terbuka. Namun, itu juga dapat digunakan untuk menampilkan port yang terbuka.

Jalankan perintah lsof berikut:

$lsof-Saya

Untuk mendapatkan port terbuka dari protokol tertentu (TCP, UDP, dll.) lalu tentukan setelah flag -i, gunakan:

$lsof-Saya <protokol>

Daftar port terbuka menggunakan nmap

Alat nmap adalah alat yang ampuh untuk eksplorasi jaringan dan pemindaian keamanan/port. Itu dapat melaporkan semua port yang terbuka di sistem.

Untuk membuat daftar port TCP yang terbuka, jalankan perintah nmap berikut. Di sini, alamat IP dari komputer host:

$sudo nmap -NS -P-localhost

Di sini, ada dua bagian dari argumen perintah.

  • -NS : Bagian ini memberitahu nmap untuk memindai port TCP.
  • -P- : Ini memberitahu nmap untuk memindai semua 65535 port. Jika tidak digunakan, maka nmap hanya akan memindai 1000 port secara default.

Jika Anda perlu membuat daftar port UDP yang terbuka, jalankan perintah nmap berikut:

$sudo nmap -nya -P-localhost

Untuk mendapatkan port TCP dan UDP yang terbuka, gunakan perintah berikut:

$sudo nmap -n -PN -NS -nya -P-localhost

Daftar port terbuka menggunakan netcat

Alat netcat adalah utilitas baris perintah untuk membaca dan menulis data di seluruh koneksi jaringan melalui protokol TCP dan UDP. Alat ini juga dapat digunakan untuk membuat daftar port terbuka. Itu dapat melakukan tes pada port tertentu atau berbagai port.

Perintah netcat berikut akan memindai port dari 1 hingga 1000. Perintah netcat akan melakukan pemindaian pada protokol TCP secara default:

$nc-Dengan -vlocalhost1-1000

Itu juga dapat diperluas ke seluruh daftar kemungkinan port:

$nc-Dengan -vlocalhost1-65535

Mari kita perincian bendera dengan cepat.

  • Dengan : Memberi tahu netcat untuk memindai hanya port yang terbuka tanpa mengirim data apa pun
  • v : Memberitahu netcat untuk berjalan dalam mode verbose

Untuk mendapatkan hanya port yang terbuka dari daftar ini, filter output dengan grep untuk istilah berhasil.

$nc-Dengan -vlocalhost0-65535 2> &1 | peganganberhasil

Jika Anda ingin melakukan pemindaian pada protokol UDP, tambahkan flag -u.

$nc-Dengan -v -ulocalhost0-65535 2> &1 | peganganberhasil

Pikiran Akhir

Seperti yang ditunjukkan, ada banyak cara untuk memindai port terbuka di Linux. Saya sarankan mencoba semua metode sebelum Anda memutuskan mana yang harus dikuasai. Jika Anda menggunakan alat tertentu seperti netcat atau nmap secara teratur, maka menguasai metode terkait akan menjadi yang paling bermanfaat.

Selamat menghitung!