Saya memiliki situasi aneh yang terjadi dengan port jaringan terbuka. Pertanyaan utama saya adalah, mengapa tidak ada program yang terkait dengan port TCP terbuka:
netstat -ln --program
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:5666 0.0.0.0:* LISTEN -
Untuk kasus khusus saya, seharusnya ada daemon nrpe (opsview install) mendengarkan pada port 5666, tetapi tidak ada daemon nrpe yang berjalan. Jika saya mencoba memulainya, ia segera keluar.
lsof -i :5666
tidak menunjukkan output apa pun. Tidak ada (x) inetd yang berjalan di sistem saya.
MEMPERBARUI
Ya, saya menjalankan perintah itu sebagai root. Telnet akan bisa, tetapi tidak pernah ada jawaban.
Setelah penyelidikan lebih lanjut, saya menemukan kesalahan kernel di dmesg
: ini adalah contoh EC2 (sebenarnya beberapa dari mereka) menjalankan kernel yang lebih tua (2.6.16 tampaknya tidak stabil). Perbaikan untuk menghentikan crash adalah meng - upgrade kernel .
Sepertinya cara crash kernel menyebabkan proses untuk pergi dan membiarkan port terbuka.
Jawaban:
Port yang dibuka oleh kernel tidak akan muncul dengan nama program. Beberapa hal NFS dan OCFS datang ke pikiran. Mungkin sesuatu seperti itu?
Atau bisa juga berupa bug kernel. Periksa log kernel untuk OOPS dan BUG.
sumber
Sudahkah Anda menjalankan netstat dan lsof sebagai root atau dengan sudo? Perhatikan kolom terakhir:
Dari manual netstat:
Bagaimana Anda tahu tidak ada yang berlari? Jika port sedang digunakan, masuk akal bahwa port itu akan segera keluar dengan kesalahan 'socket in use'. apa yang terjadi ketika Anda melakukan telnet ke port?
sumber
jalankan 'netstat --tcp --udp --listening --program' sebagai pengguna root . selain itu Anda tidak akan memberikan PID / Nama Program
kemudian gunakan perintah kill -9 PID
sumber
Saya sebenarnya menulis skrip shell kecil untuk membantu id pertanyaan sesekali ini:
simpan sebagai / usr / local / bin / tracer; keluaran:
Anda akan membutuhkan hak akses root untuk menggunakannya
sumber
Saya bisa melacak proses dengan mendapatkan inode-nya melalui netstat dan kemudian menggunakan inode itu dengan lsof. Lihat jawaban saya yang lebih terperinci di /server//a/847910/94376 .
sumber
Terkadang, program terkait nfs tidak dapat dilihat pada daftar program.
Juga, modul pam LDAP dan libnss_ldap membuka koneksi ke server ldap, tetapi tidak ada proses aktual yang menahan koneksi terbuka, jadi netstat -tnp menunjukkan koneksi aktif tanpa proses.
sumber