2012-12-22 10 views
6

मैं एक लिनक्स प्लेटफ़ॉर्म पर वेबसर्वर-अपाचे स्थापित करना चाहता हूं जो पोर्ट नंबर 80 का उपयोग करता है लेकिन मुझे यकीन नहीं है कि बंदरगाह खुला है या नहीं, और किसी अन्य एप्लिकेशन द्वारा उपयोग किया जा रहा है या नहीं।कैसे जांचें कि कोई निश्चित बंदरगाह खुला है और अप्रयुक्त है?

  1. grep 80 /etc/services का आउटपुट है:

http 80/tcp www www-http #World Wide web Http

http 80/udp www www-http #Hypertext transfer protocol

2. netstat -an | grep 80 | more:

यह देता है कुछ आईपी के जिनमें से एक है आईपी: 80 TIME_WAIT

क्या आप कृपया मदद कर सकते हैं और बता सकते हैं कि पोर्ट 80 खुला और अप्रयुक्त है या नहीं, ताकि मैं इंस्टॉलेशन शुरू कर सकूं। ग्रेप में

+2

धारण की & नाम pid देना चाहिए , '/ etc/services' पूरी तरह स्थैतिक है। Grepping यह आपको बता सकता है कि क्या एक बंदरगाह आधिकारिक तौर पर आईएएनए या कुछ ऐसे द्वारा नामित किया गया है, लेकिन यह नहीं बताता कि यह स्थानीय उपयोग में है या नहीं। – tripleee

उत्तर

2

कोशिश पाइपिंग lsof और एक पोर्ट संख्या के लिए खोज:

lsof|grep <port> 

कुछ भी नहीं दिखाई देती है कि बंदरगाह का मतलब उपयोग

में नहीं है आप

का उपयोग कर एक विशिष्ट पोर्ट पर एक प्रक्रिया को मार सकता है
kill -9 <pid> 

जहां पिड पहली कमांड से प्राप्त प्रक्रिया आईडी है।

+0

अरे डिलन: यह मुझे आउटपुट दे रहा है ... कुछ क्रॉन्ड, httpd .... आदि जैसे कुछ रास्ते के साथ/sbin/klogd ...बहुत सारे – Richa

+0

आपको बहुत सारे परिणाम क्यों मिल रहे हैं क्योंकि आप पोर्ट 80 का उपयोग कर रहे हैं। उस पोर्ट पर कई अन्य प्रक्रियाएं चल रही हैं। –

+0

ओह ठीक है, तो इसका मतलब है कि मैं अपाचे के लिए पोर्ट 80 का उपयोग नहीं कर सकता !! :(वैसे भी आपकी मदद के लिए धन्यवाद – Richa

4
 netstat -tln | tail -n +3 | awk '{ print $4 }' 

यह एक टीसीपी श्रवण एंडपॉइंट के बाध्य पते प्रदर्शित करता है। अन्य सभी अंतराल मुक्त हैं; सब सुन -

netstat -tln: भी यूनिक्स पर है और आप नहीं जड़ हैं, तो आप एक 'विशेषाधिकार प्राप्त' पोर्ट नंबर करने के लिए बाध्य नहीं कर सकते हैं (पोर्ट संख्या 1024 की तुलना में कम)

अधिक विस्तार से समझाया TCP पोर्ट

पूंछ -n +3 - netstat

awk के शीर्षक की कटौती '{$ 4 प्रिंट}' - चौथे स्तंभ है कि [आईपी] के होते हैं मुद्रित: के लिए [पोर्ट]

सामान्य मामला आपको अभी भी कटौती करने की देखभाल करने की ज़रूरत है अप्रासंगिक इंटरफेस; एक सुनवाई पता 0.0.0.0 सभी नेटवर्क कार्ड पर सुन रहा है, यदि नेटवर्क कार/नेटवर्क इंटरफेस के विशिष्ट आईपी की तुलना में कोई आईपी पता है।

0

एक स्क्रिप्ट आप शायद कुछ इस तरह का उपयोग करना चाहते हैं के हिस्से के रूप:

resp=`netstat -tunl | grep ":80 "` 
if [ -z "$resp" ]; then 
    echo "80 Port is free" 
else 
    echo "80 Port is not free" 
fi 
1
sudo netstat -anp | grep ':80' 

है कि आप प्रक्रिया है कि क्या इसके लायक है के लिए पोर्ट 80

संबंधित मुद्दे