मेरे कंप्यूटर पर खोले गए / बंद किए गए पोर्ट को कैसे जांचें?


135

मेरे कंप्यूटर पर खोले गए / बंद किए गए पोर्ट की जांच कैसे करें?

मैंने netstat -aकमांड लाइन पर उपयोग किया ।

  • क्या पोर्ट स्थिति "LISTENING" इंगित करता है कि पोर्ट खुला है?
  • क्या कोई पोर्ट है, जो आउटपुट में नहीं दिखाया गया है, बंद है?


2
@Justgivemeaname: किसी अन्य होस्ट nmapपर खुले बंदरगाहों के लिए जाँच करने के लिए एक उपकरण है । यदि आप किसी मशीन पर चल सकते हैं , तो इसका उपयोग करना बहुत तेज़ और विश्वसनीय है। netstat
डेविड फ़ॉस्टर

@DavidFoerster: के बारे में पता नहीं था netstat, इसलिए मैंने यह सीखा। यह लिंक में कहता है कि इसका उपयोग किसी अन्य होस्ट से किया जाना चाहिए, हालांकि। धन्यवाद!
Justgivemeaname

जवाबों:


163

इसके लिए कुछ पैरामीटर हैं netstatजो इसके लिए उपयोगी हैं:

  • -lया --listeningकेवल आने वाले कनेक्शन के लिए सुनने वाले सॉकेट्स को दिखाता है।
  • -aया --allउपयोग में वर्तमान में सभी सॉकेट दिखाता है।
  • -tया --tcptcp सॉकेट दिखाता है।
  • -uया --udpudp सॉकेट दिखाता है।
  • -nया --numericमेजबानों और बंदरगाहों को संख्याओं के रूप में दिखाता है, बजाय dns में हल करने और / etc / सेवाओं में दिखता है।

आप जो चाहते हैं उसे पाने के लिए आप इनमें से एक मिश्रण का उपयोग करते हैं। वर्तमान में कौन से पोर्ट नंबर उपयोग में हैं, यह जानने के लिए, इनमें से किसी एक का उपयोग करें:

netstat -atn           # For tcp
netstat -aun           # For udp
netstat -atun          # For both

आउटपुट में उल्लिखित सभी पोर्ट या तो आने वाले कनेक्शन को सुनने के लिए उपयोग में हैं या किसी सहकर्मी से जुड़े हैं ** अन्य सभी बंद हैं। टीसीपी और यूडीपी पोर्ट 16 बिट्स चौड़े हैं (वे 1-65535 से जाते हैं)

** वे भी सहकर्मी से कनेक्ट / डिस्कनेक्ट हो सकते हैं।


71

आप इस कमांड का उपयोग कर सकते हैं:

netstat -tulnp | grep <port no>

यदि यह कुछ प्रक्रिया को इसके उपयोग को दर्शाता है। आउटपुट न होने पर इसका उपयोग (बंद नहीं किया गया)।


20

एक अन्य वैकल्पिक कमांड लाइन यह पता लगाने में आसान है कि कौन सी प्रक्रिया किसी पोर्ट का उपयोग कर रही है:

lsof -n -i4TCP:$PORT | grep LISTEN

मैंने अपने .bash_profile में अगला फ़ंक्शन जोड़ा,

function pslisten {
    echo `lsof -n -i4TCP:$1 | grep LISTEN`
}

और अब "Slisten 5060" चलाएं, यह देखने के लिए कि मेरा SIP पोर्ट कौन ले रहा है।

यह ऐप्पल मैक ओएस एक्स के साथ भी काम करता है।


13

क्या पोर्ट स्थिति "LISTENING" से संकेत मिलता है कि पोर्ट खोला गया है?

हाँ। इसका मतलब है कि कुछ सेवा आने वाले कनेक्शन के लिए आपके कंप्यूटर पर उस पोर्ट को सुन रही है यानी नए कनेक्शन स्थापित करने के लिए यह पोर्ट खुला है।

कोई भी पोर्ट जो आउटपुट में नहीं दिखाया गया है, यह दर्शाता है कि यह बंद है?

हाँ। याद रखें netstat -aसभी सक्रिय ( सुनते हुए ) और निष्क्रिय ( गैर-सुनने वाले ) कनेक्शनों को दर्शाएंगे यानी पोर्ट जो दोनों सर्वर के रूप में कार्य कर रहे हैं (कुछ सेवाएं इन पोर्ट्स को एक अलग मशीन / प्रक्रिया से कनेक्शन के लिए सुन रही हैं) और स्थापित (कनेक्शन इन पर स्थापित हैं) इस तथ्य की परवाह किए बिना कि मेजबान / सेवा एक सर्वर या क्लाइंट हो सकता है)

सभी टीसीपी और यूडीपी पोर्ट सॉकेट नामक एक श्रेणी के हैं और उनमें से बहुत सारे हैं। सॉकेट जानकारी देखने के लिए आप देख सकते हैं man ss


धन्यवाद। आपने लिखा है -aकि सर्वर और स्थापित का मतलब है। क्या "सर्वर" का मतलब उन पोर्ट्स से है जिन्हें कुछ सेवाओं द्वारा सुना जा रहा है? क्या "स्थापित" मीन पोर्ट्स हैं जहां क्लाइंट या सर्वर के पोर्ट की परवाह किए बिना मौजूदा कनेक्शन हैं? फिर किस प्रकार के पोर्ट -aनहीं दिखाते हैं?
टिम

मुझे नहीं लगता कि -aविकल्प का अर्थ "सभी सक्रिय" सॉकेट्स हैं; यह सिर्फ "सभी" का मतलब है। netstat डिफ़ॉल्ट रूप से सभी सक्रिय सॉकेट दिखाता है, लेकिन निष्क्रिय सॉकेट को छोड़ देता है (खुला, सुनना)। -aविकल्प का उपयोग करके सक्रिय और निष्क्रिय सॉकेट दोनों दिखाए जाते हैं।
एगॉन ओलीक्स

@EgonOlieux धन्यवाद मुझे सही साबित होना है; उत्तर संपादित किया।
हेमेयल

@heemayl आपके उत्तर का दूसरा भाग अभी भी सही नहीं है। "सुनने" स्थिति में एक टीसीपी सॉकेट कभी कनेक्शन नहीं हो सकता है; यह किसी चीज से जुड़ा नहीं है, यह केवल सुन रहा है। सुनने के कारण टीसीपी सॉकेट्स को निष्क्रिय सॉकेट भी कहा जाता है। यदि कोई क्लाइंट सर्वर पर (श्रवण) सॉकेट से कनेक्ट करने का प्रयास करता है, तो क्लाइंट के साथ कनेक्शन स्थापित करने के लिए सर्वर पर एक नया सॉकेट बनाया जाएगा। एक सॉकेट जो एक स्थापित कनेक्शन का हिस्सा है उसे एक सक्रिय सॉकेट कहा जाता है।
एगॉन ओलीक्स

3

एक अन्य विकल्प है एस एस । इसे इस्तेमाल करना बहुत आसान है…।

नीचे दिए गए आदेश केवल वर्तमान श्रवण सॉकेट की एक सूची का उत्पादन करेंगे।

root@server:~# ss -l

    Netid  State      Recv-Q Send-Q                                     Local Address:Port                                                      Peer Address:Port   


u_dgr  UNCONN     0      0                                                      * 23353                                                                * 23352                
u_dgr  UNCONN     0      0                                                      * 568                                                                  * 362                  
u_dgr  UNCONN     0      0                                                      * 14836                                                                * 14837                
u_dgr  UNCONN     0      0                                                      * 20446                                                                * 369                  
u_dgr  UNCONN     0      0                                                      * 22877                                                                * 369                  
u_dgr  UNCONN     0      0                                                      * 504                                                                  * 347                  
u_dgr  UNCONN     0      0                                                      * 16298                                                                * 369                  
u_dgr  UNCONN     0      0                                                      * 23343                                                                * 369                  
u_dgr  UNCONN     0      0                                                      * 24125                                                                * 369                  
u_dgr  UNCONN     0      0                                                      * 24617                                                                * 369                  
u_dgr  UNCONN     0      0                                                      * 23352                                                                * 23353                
u_dgr  UNCONN     0      0                                                      * 23334                                                                * 369                  
u_dgr  UNCONN     0      0                                                      * 17113                                                                * 369                  
u_dgr  UNCONN     0      0                                                      * 16957                                                                * 369                  
u_dgr  UNCONN     0      0                                                      * 14793                                                                * 362                  
u_dgr  UNCONN     0      0                                                      * 23345                                                                * 362                  
u_dgr  UNCONN     0      0                                                      * 24070                                                                * 369                  
udp    UNCONN     0      0                                                      *:sunrpc                                                               *:*                    
udp    UNCONN     0      0                                                      *:981                                                                  *:*                    
udp    UNCONN     0      0                                                     :::sunrpc                                                              :::*                    
udp    UNCONN     0      0                                                     :::981                                                                 :::*                    
tcp    LISTEN     0      128                                            127.0.0.1:85                                                                   *:*                    
tcp    LISTEN     0      128                                                    *:ssh                                                                  *:*                    
tcp    LISTEN     0      128                                                    *:3128                                                                 *:*                    
tcp    LISTEN     0      100                                            127.0.0.1:smtp                                                                 *:*                    
tcp    LISTEN     0      128                                                    *:8006                                                                 *:*                    
tcp    LISTEN     0      128                                                    *:sunrpc                                                               *:*                    
tcp    LISTEN     0      128                                                   :::ssh                                                                 :::*                    
tcp    LISTEN     0      100                                                  ::1:smtp                                                                :::*                    
tcp    LISTEN     0      128                                                   :::sunrpc                                                              :::*                    

1
मुझे इस बारे में पता नहीं था, धन्यवाद ज़ी
निक फॉक्स

2

या यह घड़ी का उपयोग करके मदद कर सकता है, फिर आप जो देखना चाहते हैं उसके साथ खेलें।

sudo watch -d -n0 "netstat -atnp | grep ESTA"

sudo watch -d -n0 "netstat -tulnp | grep ESTA"

1
-a संघर्ष के साथ -l, -a सभी को पकड़ लेता है चाहे वह स्थापित हो या लिस्टेनिंग, और -l सिर्फ पकड़ लेता है, इसलिए वास्तव में यह '-tnp' tcp, '-lunp' -ud या '-Tunp' tcp + udp
ModerateJavaScriptDev

1

वास्तव में यह देखने का एक बेहतर तरीका है कि आपके पास कौन से पोर्ट खुले हैं। इसके साथ netstatया समस्या यह lsofहै कि वे नेटवर्क स्टैक को क्वेरी करते हैं और वास्तव में मशीन से कनेक्ट नहीं होते हैं, बल्कि यह देखने की कोशिश करते हैं कि सिस्टम पर क्या चल रहा है। बेहतर तरीका यह है कि इसका उपयोग nmapकरें:

nmap -sT -O localhost

खुले बंदरगाहों को देखने के लिए।


0
  1. उस सीमा में खोले गए बंदरगाहों की सूची प्राप्त करने के लिए यह प्रयास करें।

    for p in {1..1023}
    do
       (echo >/dev/tcp/localhost/$p) >/dev/null 2>&1 && echo "$p open"
    done
  2. और यह कमांड दिखाएगा कि यह क्या है!

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