उबंटू में एक खुला बंदरगाह कैसे बंद करें?


31

मुझे अपने पीसी में सभी खुले बंदरगाहों को सूचीबद्ध करने के लिए एक कमांड की आवश्यकता है, और एक पोर्ट को बंद करने के लिए दूसरी कमांड।

कोई सुझाव?

मुझे कुछ एप्लिकेशन पोर्ट बंद करने की आवश्यकता है।

जवाबों:


34

netstat पोर्ट स्टेट देखने के लिए इस्तेमाल किया जा सकता है।

sudo netstat -lnp

प्रत्येक एल पर जिम्मेदार पी rocess के साथ सभी एल istening बंदरगाहों n बोझ को सूचीबद्ध करने के लिए । पोर्ट को बंद करने के लिए प्रक्रिया को समाप्त करें या मार दें। ( , ...)killpkill

प्रक्रिया समाप्ति के बिना, यह संभव नहीं है! । मैन्युअल रूप से कमांडलाइन से पोर्ट बंद करना देखें । दूसरा तरीका आप फ़ायरवॉल समाधान के लिए देख सकते हैं (नेटवर्क से उस पोर्ट को अलग करना)


मैं बंदरगाह को बंद करने की जरूरत है लेकिन आवेदन को मारने के बिना
nux

किसी पोर्ट को बाहरी पोर्ट के रूप में बंद करना संभव है।
सर्गज़ैच


12

ubuntu में ओपन पोर्ट को बंद करने के लिए आप नीचे कमांड का उपयोग कर सकते हैं

sudo kill $(sudo lsof -t -i:3000)

के स्थान पर 3000आप अपना पोर्ट नंबर निर्दिष्ट कर सकते हैं

lsof कमांड प्रक्रिया द्वारा खोली गई फ़ाइल के बारे में जानकारी देगी

-t : यह ध्वज निर्दिष्ट करता है कि lsof को प्रक्रिया पहचानकर्ताओं के साथ केवल और कोई हेडर के साथ terse आउटपुट का उत्पादन करना चाहिए - उदाहरण के लिए, ताकि आउटपुट को मारने के लिए पाइप किया जा सके (1)। यह विकल्प -w विकल्प चुनता है।

-i : यह ध्वज उन फ़ाइलों की सूची का चयन करता है, जिनके किसी भी इंटरनेट पते में निर्दिष्ट पते से मेल खाता है। यदि कोई पता निर्दिष्ट नहीं है, तो यह विकल्प सभी इंटरनेट और x.25 (HP-UX) नेटवर्क फ़ाइलों की सूची का चयन करता है।


8

आप अनुप्रयोग को बंद किए बिना नेटवर्क स्तर पर पोर्ट को ब्लॉक करने के लिए iptables का उपयोग कर सकते हैं। पोर्ट अभी भी खुला दिखाई देगा, लेकिन पहुंच से बाहर होगा।

वैकल्पिक रूप से, यह एप्लिकेशन पर निर्भर है, कुछ पोर्ट को निष्क्रिय करने की अनुमति देता है (dovecot और pop3 या imap पोर्ट के बारे में सोचें), और कुछ नहीं कर सकते। कुछ एप्लिकेशन को केवल स्थानीयहोस्ट या किसी विशिष्ट पते पर सुनने के लिए कॉन्फ़िगर किया जा सकता है।


6

आप उपयोग कर सकते हैं netstat -nalpऔर lsof -i:portउपकरण खुला बंदरगाह के पीछे प्रक्रिया / बाइनरी पहचान करने के लिए।

यदि आप पोर्ट को बंद करना चाहते हैं, तो आपको प्रक्रिया को मारना होगा या रिश्तेदार सेवा को बंद करना होगा। यदि आप केवल अपने स्थानीय बॉक्स के लिए सेवाएं चलाना चाहते हैं, तो आप स्थानीय सेवा को सुनने के लिए संबंधित सेवा को कॉन्फ़िगर कर सकते हैं / 127.0.0.1 सभी उपलब्ध (0.0.0.0) ips पर नहीं।


1

यदि किसी सेवा को चलाने के कारण आपका पोर्ट खोला जाता है, जैसे कि ftp सेवा के लिए vsftpd, तो आप रुक सकते हैं और फिर सेवा को अक्षम कर सकते हैं ताकि सेवा से संबंधित निष्पादन योग्य फ़ाइल भी मारे जाएंगे। डेबियन बेस सिस्टम में आप किसी सेवा को नष्ट करने के लिए bellow कमांड चला सकते हैं:

service SERVICENAME stop
systemctl disable SERVICENAME

शुभ लाभ


धन्यवाद। मैंने सेवा का नाम चेक किया sudo netstat -lnpऔर पोर्ट 22 को रोकने के लिए आपके सुझाए गए आदेशों को चला दिया :)
ऋषभ अग्रहरि

1

सभी खुले बंदरगाहों की सूची दिखाने के लिए:

netstat -lnp

एक खुला पोर्ट बंद करने के लिए:

fuser -k port_no/tcp

उदाहरण:

fuser -k 8080/tcp

दोनों में आप sudoजरूरत पड़ने पर उपयोग कर सकते हैं ।

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