GNU/Linux >> Belajar Linux >  >> Linux

Port jaringan terbuka, tetapi tidak ada proses yang terpasang?

Solusi 1:

Sudahkah Anda menjalankan netstat dan lsof sebagai root atau dengan sudo? Perhatikan kolom terakhir:

netstat -ln --program
tcp        0      0 192.168.21.1:53         0.0.0.0:*               LISTEN      -               
tcp        0      0 127.0.0.1:53            0.0.0.0:*               LISTEN      -               
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      -

sudo netstat -ln --program
tcp        0      0 192.168.21.1:53         0.0.0.0:*               LISTEN      2566/named      
tcp        0      0 127.0.0.1:53            0.0.0.0:*               LISTEN      2566/named      
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      3125/sshd

Dari halaman manual netstat:

Anda juga memerlukan hak istimewa pengguna super untuk melihat informasi ini di soket yang tidak Anda miliki.

Bagaimana Anda tahu tidak ada yang berjalan? Jika port sedang digunakan, masuk akal jika port tersebut akan segera keluar dengan kesalahan 'soket sedang digunakan'. apa yang terjadi saat Anda melakukan telnet ke port?

telnet localhost 5666

Solusi 2:

Port yang dibuka oleh kernel tidak akan muncul dengan nama program. Beberapa hal NFS dan OCFS muncul di pikiran. Mungkin seperti itu?

Atau bisa juga bug kernel. Periksa log kernel untuk OOPS dan BUG.

Solusi 3:

jalankan 'netstat --tcp --udp --listening --program' sebagai pengguna root . jika tidak, Anda tidak akan memberikan PID/Nama Program

lalu gunakan perintah kill -9 PID

Solusi 4:

Saya sebenarnya menulis skrip shell kecil untuk membantu menjawab pertanyaan sesekali ini:

#! /bin/bash
([ "$1" = "" ] || [ "$2" = "" ]) && echo "Usage: tracer <space> <port>" && exit 0
for i in `fuser -n $1 $2`
 do
  ps aux | grep $i | grep -v 'grep'
 done

simpan sebagai /usr/local/bin/tracer; keluaran:

[email protected]:/usr/flows# tracer tcp 80
80/tcp:             
root     27904  0.0  0.0 111668  3292 ?        Ss   Aug04   0:03 /usr/sbin/apache2 -k start
www-data 32324  0.0  0.0 335332  3560 ?        Sl   Aug05   0:00 /usr/sbin/apache2 -k start
www-data 32327  0.0  0.0 335324  3560 ?        Sl   Aug05   0:00 /usr/sbin/apache2 -k start

Anda memerlukan hak akses root untuk menggunakannya

Solusi 5:

Saya dapat melacak prosesnya dengan mendapatkan inode-nya melalui netstat dan kemudian menggunakan inode tersebut dengan lsof. Lihat jawaban saya yang lebih mendetail di https://serverfault.com/a/847910/94376.


Linux
  1. 14 port jaringan umum yang harus Anda ketahui

  2. Telnet ke Port untuk Menguji Konektivitas Jaringan

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

  1. Menguji secara efisien apakah port terbuka di Linux?

  2. Cara membuka port di Linux

  3. Bagaimana cara menutup atau (melepaskan ikatan?) Port yang dibiarkan terbuka oleh aplikasi nakal?

  1. Cara Membuka Port 80 &443 di FirewallD

  2. Linux – Blokir Akses Jaringan Suatu Proses?

  3. Pantau Lalu Lintas TCP pada port tertentu