मैं डेबियन पर अपने खुले बंदरगाहों को कैसे सूचीबद्ध कर सकता हूं?


58

डेबियन सर्वर पर खुले बंदरगाहों की सूची प्रदर्शित करने के लिए कमांड क्या है?

मैंने कोशिश की netstat -a | egrep 'Proto|LISTEN'लेकिन मैं कुछ और अधिक विशिष्ट चाहूंगा जो वास्तव में पोर्ट नंबर को सूचीबद्ध करता है।

जवाबों:


86
 netstat -pln

-lलिस्टिंग पोर्ट्स को सूचीबद्ध करेगा, -pप्रक्रिया को भी प्रदर्शित -nकरेगा , नामों के बजाय पोर्ट नंबर दिखाएगा। -tकेवल टीसीपी पोर्ट दिखाने के लिए जोड़ें ।


12
के लिए -pठीक से काम करने के लिए, आप रूट के रूप में चलाने के लिए इस की जरूरत है, इसलिए sudo netstat -tpln, अन्यथा प्रक्रिया स्तंभ विशेष रूप से उपयोगी नहीं होगा, जब तक कि आप जिसका प्रक्रिया किसी दिए गए पोर्ट पर ध्यान दे रहा है उपयोगकर्ता हैं।
cjc

21

lsof -i -P

lsofविकल्पों की कमी नहीं है , क्योंकि इसके लिए मैन पेज देखें। रन के रूप में रूट -Pसे लिए गए नाम के बजाय पोर्ट नंबर को सूचीबद्ध /etc/servicesकरता है, हालांकि, यह आपको सभी सक्रिय नेटवर्क कनेक्शनों की सूची और उनकी स्थिति (सुनने, स्थापित करने आदि) के साथ प्रदान करेगा।


यह सही उत्तर होना चाहिए। Netstat डिफ़ॉल्ट रूप से स्थापित नहीं है
जोस

10

लगभग हर कोई क्या चाहता है (टीसीपी और यूडीपी) netstat -tunlp

मैं हर दिन, शायद हर घंटे इसका उपयोग करता हूं। 'Lsof' हैक अधिक पोर्टेबल है (सोलारिस पर भी काम करता है), लेकिन डेबियन पर यह एक आवश्यक पैकेज नहीं है, आपको इसे स्थापित करना होगा।


हाँ, और इसे माध्यम से चलाएं sudo
Martijn Heemels 23

1
मेरे मित्र ने मुझे इस आदेश को याद रखने के लिए सिखाया कि एक फूल नाम के साथ netstat -tulpenध्वज eअतिरिक्त जानकारी देता है।
डेले

1
और अब, 2018 में, मेरा ताज़ा डेबियन बॉक्स नहीं है, netstatलेकिन है lsof। :)
जेसन

10

मैं एक बड़ा प्रशंसक हूं netstat -ntlpऔर lsof -iदोनों का उल्लेख पहले ही किया जा चुका है।

मेरे लिए एक नया (ईआर) आदेश है एस एस

मंगलाचरण इस प्रकार है:

ss -l

आदेश और झंडे के संदर्भ में विकल्प रखना अच्छा है।


1
विकल्प विशेष रूप से अच्छे हैं क्योंकि मोंगो डॉकटर कंटेनर (और संभवतः कई अन्य) में ss था, लेकिन netstat या lsof नहीं था
Foon

मैंने एक साक्षात्कार प्रश्न के रूप में इसका उपयोग करना शुरू कर दिया। शायद 40 अलग-अलग लोगों से पूछा गया। अब तक किसी ने ss का उल्लेख नहीं किया है। मैं इसे ओपी की तरह पूछता हूं, फिर अगर वे जवाब देते हैं, तो मैं कहता हूं, "ठीक है, मैं एक्स को हटा देता हूं, अब आप इसे कैसे कर सकते हैं।" विचारों से बाहर तक।
दम्मती

6

तुम कर सकते हो:

netstat -an | egrep 'Proto|LISTEN'

या केवल:

netstat -anl

जो आपको सिस्टम पर सुनने वाले सभी सॉकेट देगा।


2
यह सबसे अच्छा समाधान होगा (जहां "सर्वश्रेष्ठ" को "सिस्टम की व्यापक श्रेणी पर काम करता है" (BSD, Linux, AIX, Solaris, मुझे विश्वास है कि HP-UX) के रूप में परिभाषित किया गया है
voretaq7

0

TechRepulic का एक अच्छा लेख है जिसे आप यहां पा सकते हैं । यह कुछ समान कमांड है जैसा कि आपने ऊपर सूचीबद्ध किया है लेकिन कुछ भिन्नताएं भी हैं। मैं कंप्यूटर में एक पोर्ट स्कैन करने के लिए नैम्प का उपयोग करने की अत्यधिक सलाह दूंगा ताकि आप बाहरी दृष्टिकोण से देख सकें कि क्या पोर्ट खुले और सुन रहे हैं।


क्या आप मुझे बता सकते हैं कि यह मतदान क्यों हुआ था? जैसा कि मैंने बस ऊपर दिए गए बहुत सारे समाधानों के साथ एक लिंक प्रदान किया है जो बाहरी स्कैन करने के साथ-साथ एक अलग दृष्टिकोण के साथ अनुमोदित थे। धन्यवाद।
एरिक

8
मैं नीचे नहीं गया, लेकिन अधिकांश स्टैक-एक्सचेंज की तरह सर्वरफॉल्ट पर हम आम तौर पर आपसे यह उम्मीद करते हैं कि आप यहां जवाब दें, और कहीं और लिंक नहीं। लिंक समय के साथ चले जाते हैं, लेकिन हम चाहते हैं कि एसएफ पर सामग्री अभी भी मूल्यवान हो जब लिंक मर जाते हैं।
ज़ोदाचेस

कोड की एकमात्र रेखा जो उपरोक्त लेख की कड़ी है, sudo nmap -T4 -A -v 192.168.1.1/24बाकी सब कुछ है - यह मत करो - बिना किसी विवरण के ऐसा करो ... इसका एक पुस्तक के पीछे का कवर पढ़ना पसंद है - मांस के बिना बहुत सारे शब्द।
किंग्सइनरसोल

0

सुनने वाले पोर्ट्स बाहर से खुलने वाले पोर्ट्स के समान नहीं हैं। आपको फ़ायरवॉल पर विचार करने की आवश्यकता है। यदि आप nmapकिसी अन्य कंप्यूटर से प्रोग्राम को आज़माते हैं, तो आप फ़ायरवॉल द्वारा ब्लॉक किए गए खुले पोर्ट नहीं देख पाएंगे।


0

मैं इसके बजाय उपयोग करना पसंद करता हूं:

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