नेटवर्क पोर्ट खुला है, लेकिन कोई प्रक्रिया संलग्न नहीं है?


22

मेरे पास एक खुले नेटवर्क पोर्ट के साथ एक अजीब स्थिति चल रही है। मेरा मुख्य प्रश्न यह है कि एक खुले टीसीपी पोर्ट से जुड़ा कार्यक्रम क्यों नहीं होगा:

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      -  

मेरे विशिष्ट मामले के लिए, पोर्ट 5666 पर श्रवण करने के लिए एक nrpe डेमॉन (opsview स्थापित) माना जाता है, लेकिन कोई nrpe डेमॉन नहीं चल रहा है। अगर मैं इसे शुरू करने की कोशिश करता हूं, तो यह तुरंत बाहर निकल जाता है।

lsof -i :5666कोई भी आउटपुट नहीं दिखाता है। मेरे सिस्टम पर कोई (x) इनटीडी नहीं चल रहा है।

अद्यतन करें

हां, मैं उन कमांड्स को रूट के रूप में चला रहा था। टेलनेट कर सकता था, लेकिन कभी कोई प्रतिक्रिया नहीं हुई।

आगे की जांच के बाद, मुझे एक कर्नेल त्रुटि मिली dmesg: यह एक EC2 उदाहरण था (वास्तव में उनमें से कई) एक पुराने कर्नेल को चलाने (2.6.16 जाहिरा तौर पर अस्थिर है)। दुर्घटना को रोकने के लिए गुठली को अपग्रेड करना था ।

ऐसा लगता है कि जिस तरह से कर्नेल दुर्घटनाग्रस्त हो गया है वह प्रक्रिया को दूर जाने और बंदरगाह को खुला छोड़ने के लिए है।


2
क्या परिणाम है: lsof -i tcp: 5666? जब आप रिबूट करते हैं तो क्या पोर्ट वहां रहता है?
डेव Drager

क्या यह NRPE की एक नई स्थापना है?
fpmurphy

कार्यक्रम के विवरण देखने के लिए आपको
नेटस्टैट

बेझिझक अपने सवालों का जवाब
जोड़िए

जवाबों:


6

कर्नेल द्वारा खोले गए पोर्ट प्रोग्राम के नाम के साथ दिखाई नहीं देंगे। कुछ NFS और OCFS सामान दिमाग में आते हैं। शायद यह ऐसा कुछ है?

या यह कर्नेल बग हो सकता है। OOPS और BUG के लिए कर्नेल लॉग की जाँच करें।


24

क्या आपने netstat और lsof को रूट के रूप में या sudo के साथ चलाया है? अंतिम कॉलम पर ध्यान दें:

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

नेटस्टैट मैनपेज से:

आपके पास जो सॉकेट नहीं हैं, इस जानकारी को देखने के लिए आपको सुपरसुसर विशेषाधिकारों की भी आवश्यकता होगी।

तुम्हें कैसे पता कि वहाँ कोई नहीं चल रहा है? यदि पोर्ट उपयोग में है तो यह समझ में आता है कि यह 'सॉकेट इन यूज़' त्रुटि के साथ तुरंत बाहर निकल जाएगा। क्या होता है जब आप पोर्ट को टेलनेट करते हैं?

telnet localhost 5666

4

रूट यूजर के रूप में 'netstat --tcp --udp --listening --program' निष्पादित करें । अन्य बुद्धिमान आप इसे पीआईडी ​​/ कार्यक्रम का नाम नहीं देंगे

तो मार -9 पीआईडी ​​कमांड का उपयोग करें


3

मैंने वास्तव में इन समसामयिक सवालों को हल करने में मदद करने के लिए एक छोटी सी शेल स्क्रिप्ट लिखी है:

#! /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

/ usr / स्थानीय / बिन / अनुरेखक के रूप में सहेजें; उत्पादन:

root@mo-log:/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

इसका उपयोग करने के लिए आपको मूल विशेषाधिकारों की आवश्यकता होगी


अच्छा है, लेकिन मुझे और अधिक की आवश्यकता है, मुझे इसे नेटस्टैट में प्रत्येक कनेक्शन के लिए निष्पादित करने की आवश्यकता है। तब मैं पहचान सकता हूं कि एक एकल कार्यक्रम क्या कर रहा है। यह lsof / fstat या अन्य अच्छी उपयोगिताओं के बिना एक बॉक्स है, और मूल के रूप में मैं अन्य मुद्दों के कारण उन्हें स्थापित नहीं कर सकता।
अकी

3

मैं netstat के माध्यम से अपने इनोड प्राप्त करके और फिर उस इंसोड को lsof के साथ प्रयोग करके प्रक्रिया को ट्रैक करने में सक्षम था। Https://serverfault.com/a/847910/94376 में मेरा अधिक विस्तृत जवाब देखें


2

कभी-कभी, प्रोग्राम सूची में nfs संबंधित प्रोग्राम नहीं देखे जा सकते हैं।

इसके अलावा, LDAP pam मॉड्यूल और libnss_ldap, ldap सर्वर के लिए खुला कनेक्शन है, लेकिन कनेक्शन को खुला रखने वाली वास्तविक प्रक्रिया नहीं है, इसलिए netstat -tnp एक प्रक्रिया के बिना एक सक्रिय कनेक्शन दिखाता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.