मैं कैसे देख सकता हूं कि मेरी मशीन पर कौन से पोर्ट खुले हैं?


147

मैं यह देखना चाहूंगा कि मेरी मशीन पर कौन से पोर्ट खुले हैं, उदाहरण के लिए मेरी मशीन किस पोर्ट पर सुन रही है। उदाहरण के लिए पोर्ट 80 अगर मैंने एक वेब सर्वर स्थापित किया है, और इसी तरह।

क्या इसके लिए कोई आज्ञा है?

जवाबों:


113

nmap नैम स्थापित करें

नैम्प ("नेटवर्क मैपर") नेटवर्क अन्वेषण या सुरक्षा ऑडिटिंग के लिए एक स्वतंत्र और खुला स्रोत उपयोगिता है

nmap 192.168.1.33 आंतरिक पीसी या nmap external ip address

अधिक जानकारी man nmap


11
धन्यवाद, nmap localhostमहान काम किया।
जोनास

11
याद रखें कि nmap localhostऔर nmap 192.168.0.3(या कभी आप जो भी मशीन IP है) के बीच अंतर है
LassePoulsen

6
मुझे लगता है कि netstat इसका बेहतर जवाब है। netstat यह सूचीबद्ध करेगा कि सिस्टम सीधे क्या सुन रहा है, और एक अतिरिक्त एप्लिकेशन का उपयोग किए बिना या लोकलहोस्ट या अनावश्यक नेटवर्क पर अनावश्यक कॉल कर रहा है।
मथिउ ट्रुडल-लापिएरे

2
यह बेवकूफी है। यदि आपके पास कंप्यूटर तक पहुंच है, तो बस उपयोग करें netstat -ln। आप तुरंत सभी खुले बंदरगाहों को देखेंगे।
एलेक्सिस विलके

1
nmap localhostऐसी सेवाएँ नहीं मिलीं जो केवल लोकलहोस्ट के लिए बाध्य थीं। उदाहरण के लिए, मैं influxdसाथ चलता हूं bind-address:localhost:8086। यह दिखाई नहीं दिया sudo nmap localhost, लेकिन अंदर नहीं दिखा sudo netstat -tulpn
डैन डैस्केलस्कु

277

मैंने हमेशा इसका उपयोग किया है:

sudo netstat -ntlp | grep LISTEN

4
sudo netstat -ntlp | grep LISTEN... sudoअन्यथा उपयोग करें ... पीआईडी ​​मुद्रित नहीं किया जाएगा।
रफाफ तहसीन

6
-lसुनने के लिए पहले से ही फ़िल्टर। grep LISTENशीर्ष लेख जानकारी की 2 पंक्तियों को छिपाने में मदद नहीं करेगा।
दानस्केलस्कु

3
-t: टीसीपी, -l: सॉकेट सुन, -p: शो पीआईडी और प्रोग्राम का नाम, -n: प्रिंट 127.0.0.1:80के बजाय localhost:http। संदर्भ: linux.die.net/man/8/netstat
रिक

1
के netstatसाथ स्थापित करेंsudo apt-get install net-tools
रिचऑर्ट

2
विस्तार आदेश है sudo netstat --tcp --listening --programs --numericgrepजब तक आप कॉलम हेडर को खत्म नहीं करना चाहते, तब तक उपयोग करने की कोई आवश्यकता नहीं है ।
पैट्रिक डार्क

60

यह पता लगाने के अन्य अच्छे तरीके हैं कि पोर्ट क्या सूचीबद्ध कर रहे हैं और आपके फ़ायरवॉल नियम क्या हैं:

  • sudo netstat -tulpn

  • sudo ufw status


मैं nmapफिर से जवाब बदल देता हूं , उपयोग की अक्षमता netstatबकवास है।
जोनास

2
@ जोनास: मेरी टिप्पणी को उत्तर के तहत देखें। यह उन सेवाओं को सूचीबद्ध नहीं करेगा जो केवल लोकलहोस्ट से जुड़ी हैं।
डैन डस्केल्सस्कु

27

खुले बंदरगाहों को सूचीबद्ध करने के लिए netstatकमांड का उपयोग करें ।

उदाहरण के लिए:

    $ sudo netstat -tulpn | grep LISTEN
    tcp        0      0 127.0.0.1:53            0.0.0.0:*               LISTEN      5452/dnsmasq    
    tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN      1037/cupsd      
    tcp6       0      0 ::1:631                 :::*                    LISTEN      1037/cupsd

उपरोक्त उदाहरण में तीन सेवाएं लूपबैक पते से जुड़ी हैं।

लूपबैक एड्रेस "127.0.0.1" से बंधी आईपीवी 4 सेवाएं केवल स्थानीय मशीन पर उपलब्ध हैं। IPv6 के लिए समान लूपबैक पता ":: 1" है। IPv4 पता "0.0.0.0" का अर्थ है "कोई भी IP पता", जिसका अर्थ होगा कि अन्य मशीनें संभावित पोर्ट पर स्थानीय रूप से कॉन्फ़िगर किए गए नेटवर्क इंटरफेस में से किसी से भी जुड़ सकती हैं।

lsofकमांड का उपयोग करने के लिए एक और तरीका है :

    $ sudo lsof -nP -i | grep LISTEN
    cupsd     1037   root    9u  IPv6  11276      0t0  TCP [::1]:631 (LISTEN)
    cupsd     1037   root   10u  IPv4  11277      0t0  TCP 127.0.0.1:631 (LISTEN)
    dnsmasq   5452 nobody    5u  IPv4 212707      0t0  TCP 127.0.0.1:53 (LISTEN)

अधिक जानकारी के लिए देखते हैं man netstatया man lsof


3
मैंने सोचा था कि -lविकल्प LISTENआईएनजी बंदरगाहों को सूचीबद्ध करना था । तो यहाँ grep ज़रूरत से ज़्यादा होगा ?!
एलेक्सिस विलके

24

यह दिखाने के लिए पर्याप्त है कि 0.0.0.0पोर्ट 80 (मानक वेब सर्वर पोर्ट नंबर) पर आईपी पते पर एक प्रक्रिया सुनने की ज़रूरत है (इसलिए यह किसी भी अनुरोध का जवाब देगा)। मेरे मामले में यह दिखाता है कि यह वेब सर्वर हैlighttpd

$ sudo netstat -ntlp | grep :80
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN          2495/lighttpd

यदि आप बाद में यह सुनिश्चित करना चाहते हैं कि आपके फ़ायरवॉल के माध्यम से आपके द्वारा अनुमति दी जाने वाली एकमात्र चीज़ पोर्ट 80 है तो मैं अक्सर फ़ायरवॉल टेस्ट करने के लिए www.grc.com से शील्ड्सअप का उपयोग करता हूँ।


11

sudo iptables -Lआपके पीसी के लिए पोर्ट नियमों को सूचीबद्ध करेगा। ध्यान दें कि यदि आप ufw या shorewall फ़ायरवॉल का उपयोग कर रहे हैं तो आउटपुट को पढ़ना मुश्किल हो सकता है। उस मामले में sudo ufw statusउदाहरण के लिए उपयोग करें ।

यह अपने आप में बहुत उपयोगी नहीं है, भले ही एक बंदरगाह खुली पहुंच है फिर भी उस बंदरगाह पर सुनने की कोई प्रक्रिया नहीं होने पर भी इनकार कर दिया जाएगा।


4

यदि आप सर्वर मशीनों या स्थानीय के लिए बंदरगाहों की निरंतर निगरानी के लिए देख रहे हैं, तो मुझे लगता है कि आप नैम्पिक के ग्राफिकल संस्करण का उपयोग भी कर सकते हैं।

ज़ेनमैप, नैमप सिक्योरिटी स्कैनर के लिए आधिकारिक ग्राफिकल यूज़र इंटरफ़ेस (GUI) है।

उपलब्ध समर्थन करता है (लिनक्स, विंडोज, मैक ओएस एक्स, बीएसडी, आदि)

इस उपकरण दृश्य पर एक नज़र डालें:

यहां छवि विवरण दर्ज करें

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