GNU/Linux >> Belajar Linux >  >> Linux

CentOS / RHEL :Bagaimana cara mengetahui apakah port jaringan terbuka atau tidak?

Sambungan jaringan TCP/IP dapat diblokir, dijatuhkan, dibuka, atau difilter. Tindakan ini umumnya dikendalikan oleh firewall IPtables yang digunakan sistem dan tidak bergantung pada proses atau program apa pun yang mungkin mendengarkan pada port jaringan. Di luar firewall, program atau proses (server atau daemon) mungkin mendengarkan di port atau tidak mendengarkan. Ini dapat diperiksa menggunakan program netstat atau ss. Memeriksa untuk melihat apakah port terbuka, diblokir, dijatuhkan, atau difilter di firewall tidaklah mudah. Ada dua cara untuk melakukannya:

  • menguji port secara eksternal
  • daftar konfigurasi firewall dan periksa hasilnya

1. Menggunakan netstat untuk melihat proses mendengarkan

Untuk melihat apakah program atau proses mendengarkan pada port, siap menerima paket, gunakan perintah netstat.

# netstat -tulnp

Argumen untuk perintah netstat tercantum di bawah ini:

t – Tampilkan TCP
u – Tampilkan UDP
l – Hanya tampilkan proses mendengarkan (netstat dapat menampilkan mendengarkan dan semua koneksi yang dibuat, yaitu sebagai klien juga)
n – Jangan menyelesaikan nama alamat IP jaringan atau nomor port
p – Tampilkan nama proses yang mendengarkan di port

Misalnya :

# netstat -tulnp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address               Foreign Address             State       PID/Program name
tcp        0      0 0.0.0.0:111                 0.0.0.0:*                   LISTEN      1254/rpcbind
tcp        0      0 0.0.0.0:22                  0.0.0.0:*                   LISTEN      1484/sshd
tcp        0      0 127.0.0.1:631               0.0.0.0:*                   LISTEN      1355/cupsd
tcp        0      0 127.0.0.1:25                0.0.0.0:*                   LISTEN      1562/master
tcp        0      0 0.0.0.0:44349               0.0.0.0:*                   LISTEN      1274/rpc.statd
udp        0      0 0.0.0.0:111                 0.0.0.0:*                               1254/rpcbind
udp        0      0 0.0.0.0:631                 0.0.0.0:*                               1355/cupsd
udp        0      0 0.0.0.0:44165               0.0.0.0:*                               1274/rpc.statd
udp        0      0 0.0.0.0:602                 0.0.0.0:*                               1274/rpc.statd
udp        0      0 0.0.0.0:1001                0.0.0.0:*                               1254/rpcbind

2. Menggunakan ss untuk melihat proses mendengarkan

Untuk melihat apakah suatu program atau proses mendengarkan pada port, siap menerima paket, gunakan program ss.

# ss -nutlp

Argumen untuk program ss tercantum di bawah ini:

t – Menampilkan soket TCP.
u – Menampilkan soket UDP.
l – Menampilkan soket pendengar
n – Sekarang coba selesaikan nama
p – Tampilkan proses menggunakan soket

Contoh :

# ss -nutlp
Netid State      Recv-Q Send-Q                                                        Local Address:Port                                                          Peer Address:Port
udp   UNCONN     0      0                                                                         *:111                                                                      *:*      users:(("rpcbind",1254,6))
udp   UNCONN     0      0                                                                         *:631                                                                      *:*      users:(("cupsd",1355,9))
udp   UNCONN     0      0                                                                         *:44165                                                                    *:*      users:(("rpc.statd",1274,8))
udp   UNCONN     0      0                                                                         *:602                                                                      *:*      users:(("rpc.statd",1274,5))
udp   UNCONN     0      0                                                                         *:1001                                                                     *:*      users:(("rpcbind",1254,7))
tcp   LISTEN     0      128                                                                       *:111                                                                      *:*      users:(("rpcbind",1254,8))
tcp   LISTEN     0      128                                                                       *:22                                                                       *:*      users:(("sshd",1484,3))
tcp   LISTEN     0      128                                                               127.0.0.1:631                                                                      *:*      users:(("cupsd",1355,7))
tcp   LISTEN     0      100                                                               127.0.0.1:25                                                                       *:*      users:(("master",1562,12))
tcp   LISTEN     0      128                                                                       *:44349                                                                    *:*      users:(("rpc.statd",1274,9))

3. menggunakan lsof untuk menemukan port yang terbuka

Untuk membuat daftar semua port yang terbuka pada suatu sistem, gunakan perintah berikut untuk mencantumkan nama proses dan nomor yang telah membuka port tersebut.

# lsof -i

Berikut adalah contoh keluarannya:

# lsof -i
COMMAND    PID    USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
rpcbind   1254     rpc    6u  IPv4  12592      0t0  UDP *:sunrpc
rpcbind   1254     rpc    7u  IPv4  12596      0t0  UDP *:1001
rpcbind   1254     rpc    8u  IPv4  12597      0t0  TCP *:sunrpc (LISTEN)
rpc.statd 1274 rpcuser    5r  IPv4  12784      0t0  UDP *:xmlrpc-beep
rpc.statd 1274 rpcuser    8u  IPv4  12788      0t0  UDP *:44165
rpc.statd 1274 rpcuser    9u  IPv4  12792      0t0  TCP *:44349 (LISTEN)
cupsd     1355    root    7u  IPv4  13147      0t0  TCP localhost:ipp (LISTEN)
cupsd     1355    root    9u  IPv4  13150      0t0  UDP *:ipp
sshd      1484    root    3u  IPv4  13707      0t0  TCP *:ssh (LISTEN)
master    1562    root   12u  IPv4  13923      0t0  TCP localhost:smtp (LISTEN)
sshd      1657    root    3r  IPv4  14745      0t0  TCP 192.168.1.50:ssh->192.168.1.101:49549 (ESTABLISHED)

Menguji port secara eksternal

Aplikasi telnet dapat digunakan untuk menguji konektivitas soket jaringan sederhana, tetapi hanya untuk koneksi TCP, bukan UDP. Misalnya, jika saya ingin melihat apakah port TCP 80 pada sistem siap menerima koneksi, saya menentukan alamat IP dan port untuk telnet:

# telnet 192.168.1.55 80
Trying 192.168.1.55...
Connected to example.redhat.com (192.168.1.55).
Escape character is '^]'.

Jika server tidak mendengarkan, responsnya berbeda:

# telnet 10.0.0.25 80
Trying 10.0.0.25...
telnet: connect to address 10.0.0.25: Connection refused
telnet: Unable to connect to remote host: Connection refused
  • Ini menunjukkan bahwa koneksi ditolak secara aktif. Subsistem TCP menerima paket, memeriksanya, dan menemukan bahwa itu adalah permintaan untuk membuka soket di port 80, melihat bahwa tidak ada proses yang siap menerima koneksi dan merespons dengan penolakan.
  • Jika firewall dikonfigurasi untuk memblokir atau memfilter koneksi, telnet akan menampilkan sesuatu yang sangat mirip dengan di atas, meskipun ada proses yang siap menerima koneksi.
  • Jika firewall dikonfigurasi untuk memutuskan koneksi, kami tidak akan melihat respons sama sekali dan telnet akan habis waktu sebagai gantinya:
# telnet 10.0.0.25 80
Trying 10.0.0.25...
telnet: connect to address 10.0.0.25: Connection timed out

Mencantumkan aturan firewall

Di Red Hat Enterprise Linux, aturan firewall dapat dicantumkan dengan menggunakan perintah layanan:

# service iptables status

Atau dengan menggunakan perintah iptables:

# iptables -xvn -L


Linux
  1. Cara Membuat Jembatan Jaringan di CentOS 7 / RHEL 7

  2. Cara Memulai Ulang Layanan Jaringan di CentOS 8 atau RHEL 8

  3. Cara Membuka port Http ( 80 ) di Iptables di CentOS

  1. CentOS / RHEL 7 :Bagaimana cara membuka port di firewall dengan firewall-cmd?

  2. Cara menonaktifkan NetworkManager di CentOS / RHEL 7

  3. Cara Membuka Port Di CentOS / RHEL 7

  1. Cara Mengonfigurasi Teaming Jaringan di CentOS/RHEL 7

  2. Cara menemukan perangkat ethernet spesifik mana yang sesuai dengan port tertentu pada kartu jaringan multi-antarmuka di CentOS/RHEL

  3. Cara Menghapus Printer Jaringan di CentOS/RHEL