विंडोज मशीन पर एक पोर्ट अवरुद्ध होने पर कैसे जांचें?


105

विंडोज प्लेटफॉर्म पर, मुझे अपने स्थानीय मशीन (जैसा कि) पर पोर्ट (3306, उदाहरण के लिए) की जांच करने के लिए क्या मूल विकल्प हैं localhost, अवरुद्ध किया जा रहा है?


1
बस स्पष्ट करने के लिए, क्या आपका मतलब अवरुद्ध है, जैसा कि एक फ़ायरवॉल या गेटवे द्वारा अवरुद्ध किया गया है, या क्या आप पहले से ही किसी और चीज़ के उपयोग में हैं?
स्क्विलमैन

1
ऑडिट मेरे पीसी फायरवॉल परीक्षण आप एक विशिष्ट पोर्ट या किसी बाहरी स्रोत से बंदरगाहों की एक सीमा का परीक्षण करने की अनुमति देता है।
पीटर स्टुअर

जवाबों:


111

चूंकि आप विंडोज मशीन पर हैं, इसलिए ये चीजें की जा सकती हैं,

  • निम्न आदेश निष्पादित करें और ": 3306" श्रोता की तलाश करें (आपने UDP / TCP का उल्लेख नहीं किया है)। यह पुष्टि करेगा कि पोर्ट पर कुछ चल रहा है।

    netstat -a -n

  • इसके बाद, यदि आप इस पोर्ट पर आने वाले कनेक्शनों की उम्मीद कर रहे हैं और महसूस करते हैं कि फ़ायरवॉल उन्हें रोक सकता है, तो आप विंडोज़ फ़ायरवॉल लॉगिंग शुरू कर सकते हैं और गिराए गए कनेक्शनों के लिए लॉग की जाँच कर सकते हैं।

    • विंडोज फ़ायरवॉल, उन्नत सेटिंग्स पर जाएं
    • "स्थानीय क्षेत्र कनेक्शन" के बगल में स्थित सेटिंग बटन पर क्लिक करें
    • "लॉग गिरा हुआ पैकेट" चुनें
    • लॉग फ़ाइल स्थान को देखें (यदि मौजूद नहीं है तो परिभाषित करें)
    • ओके पर क्लिक करें
    • अब, जब कनेक्शन का प्रयास किया जाता है (यह मानते हुए कि यह कब किया जाता है), तो पोर्ट 3306 पर एक ड्रॉप के लिए लॉग फ़ाइल देखें।
    • यदि यह देखा जाता है, तो आप इस पोर्ट के लिए एक अपवाद जोड़ना चाहेंगे।
  • फ़ायरवॉल स्थिति की जांच करने के लिए एक और कमांड है
    (विंडोज 7 उपयोगकर्ताओं के लिए अपडेट - जैसा कि Nickनीचे बताया गया है - नेटश एडवाइज़र फ़ायरवॉल का उपयोग करें )

    netsh फ़ायरवॉल शो स्थिति

    • यह ब्लॉक किए गए पोर्ट्स के साथ-साथ एप्लिकेशन एसोसिएशनों के साथ सक्रिय श्रवण पोर्ट्स को सूचीबद्ध करेगा
  • यह कमांड विंडोज फ़ायरवॉल कॉन्फ़िगरेशन डिटेल को डंप करेगा

    netsh फ़ायरवॉल शो को कॉन्फ़िगर करता है


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

यदि आप एक एप्लिकेशन / सेवा चला रहे हैं जो 3306 पर सुन रहा है, तो फ़ायरवॉल कॉन्फ़िगरेशन को इसे सक्षम होना चाहिए। यदि यह नहीं देखा जाता है, तो आप शायद इस ऐप / सेवा को अनुमति देने के लिए फ़ायरवॉल के साथ एक अपवाद जोड़ने से चूक गए हैं।

अंत में, पोर्ट 3306 का उपयोग आमतौर पर MySQL के लिए किया जाता है। इसलिए, मुझे लगता है कि आप इस विंडो मशीन पर MySQL सर्वर चला रहे हैं। इसलिए आपको आने वाले कनेक्शन को स्वीकार करते हुए 3306 के लिए एक श्रोता को देखना चाहिए। यदि आप यह नहीं देखते हैं, तो आपको पहले शुरू करने के लिए अपने एप्लिकेशन (MySQL) के साथ काम करना होगा।


4
महान विवरण के लिए +1
ऋषि

3
Windows Vista के साथ "netsh फ़ायरवॉल" कमांड शुरू किया गया है। यह अनुशंसा करता है कि आप "netsh advfirewall फ़ायरवॉल" का उपयोग करें और संदर्भ लेख go.microsoft.com/fwlink/?linkid=121488
Nick DeVore

5
कमांड लाइन पर आउटपुट पार्स |find "3306"करने के लिए, कमांड में जोड़ें , जैसेC:\Windows\System32>netstat -an |find "3306"
सेस टिमरमैन

मैं दूसरी सिफारिश के चरण 2 में निर्दिष्ट सेटिंग्स बटन को नहीं ढूँढ सकता ...
बस्सी

@ बासी, डॉक्स का प्रयास करें ।microsoft.com
nik

23

NETSTATआपको बताएगा कि क्या पोर्ट सुन रहा है लेकिन यह आपको यह नहीं बताएगा कि पोर्ट बाहरी दुनिया के लिए खुला है या नहीं। मेरे NETSTATकहने का मतलब यह है कि यह दिखा सकता है कि 0.06.0 पोर्ट 3306 पर लिस्टेनिंग कर रहा है, लेकिन एक फ़ायरवॉल अभी भी उस पोर्ट को ब्लॉक कर सकता है जो बाहरी कनेक्शन को रोक रहा है; इसलिए यह NETSTATअकेले पर भरोसा करने के लिए पर्याप्त नहीं है ।

पोर्ट अवरुद्ध है या नहीं इसकी जाँच करने का सबसे अच्छा तरीका क्लाइंट मशीन से पोर्ट स्कैन करना है।

पोर्ट स्कैन करने के कई तरीके हैं लेकिन जब से आपने विंडोज पर उल्लेख किया है तब मैं Microsoft कमांड लाइन उपयोगिता PortQryऔर ग्राफ़िकल संस्करण पोर्टब्रीयूआई का सुझाव दूंगा

सभी खुले बंदरगाहों का परीक्षण करने के लिए:

portqry.exe -n #.#.#.#   

एक विशिष्ट बंदरगाह का परीक्षण करने के लिए:

portqry.exe -n #.#.#.# -e #

उदाहरण के लिए 192.168.1.1 पर राउटर के वेब इंटरफेस का परीक्षण करें:

portqry.exe -n 192.168.1.1 -e 80

कौन सा रिटर्न:

TCP port 80 (http service): LISTENING

एक स्थानीय मशीन पर परीक्षण के रूप में, जिसमें कोई HTTPD नहीं चल रहा है:

TCP port 80 (http service): NOT LISTENING

पोर्टस्कैन उपयोगिता का उपयोग करके आपको 3 परिणामों में से एक मिलेगा।

  • Listening मतलब सर्वर निर्दिष्ट पोर्ट पर सुन रहा है
  • Filtered इसका मतलब यह है कि इसे रीसेट फ्लैग सेट के साथ एक टीसीपी पावती पैकेट मिला है, जो संभवत: फ़ायरवॉल या सॉफ़्टवेयर समस्या को इंगित करता है
  • Not Listening इसका मतलब है कि इसे कोई प्रतिक्रिया नहीं मिली

telnetएक अन्य कमांड लाइन विकल्प है जो आमतौर पर डिफ़ॉल्ट रूप से ओएस पर स्थापित होता है। यह कमांड लाइन उपयोगिता का उपयोग एक त्वरित तरीके से देखने के लिए किया जा सकता है कि क्या पोर्ट नेटवर्क अनुरोध का जवाब देता है।

उपयोग करने के लिए telnetआप बस एक कमांड प्रॉम्प्ट से निम्नलिखित कमांड जारी करेंगे:

telnet localhost 3306

यदि पोर्ट 3306पर localhostप्रतिसाद दे रहा है , तो ऊपर दी गई कमांड आपको एक त्वरित संकेत दे सकती है।


मैं PortQryUI को डाउनलोड करता हूं और मैंने अवरुद्ध होने के बाद जांच की और tcp और udp दोनों में 445 पोर्ट को सक्षम किया, यह tcp में समान सुन रहा है और udp में नहीं सुन रहा है।
लियाम नेसन 20

17

PowerShell 4.0 के बाद से आप कमांड का उपयोग कर सकते हैं Test-NetConnection

यदि आप अपने उदाहरण के रूप में पोर्ट 3306 का परीक्षण करना चाहते हैं तो कमांड है

Test-NetConnection -ComputerName localhost -Port 3306

TechNet टेस्ट-नेटकनेक्शन डॉक्यूमेंटेशन


इसके लिए +1। एक बहुत अच्छा विकल्प है कि सबसे आधुनिक खिड़कियों मशीनों पर कुछ भी की स्थापना की आवश्यकता नहीं है।
DCaugs

5

यदि आप स्थानीय मशीन (बाहरी आईपी पते का उपयोग करके) से पोर्ट पर टेलनेट कर सकते हैं, लेकिन किसी अन्य मशीन से नहीं - तो इसे बीच में अवरुद्ध किया जा रहा है।

ध्यान दें कि आपके स्थानीय मशीन पर फ़ायरवॉल पहली कार्रवाई को भी रोक सकता है।


ध्यान दें कि Win7 और नए सिस्टम पर टेलनेट अब स्थापित नहीं किया जा रहा है।
एलेक्सिस विलके

@AlexisWilke यह सही नहीं है। टेलनेट को स्थापित किया जा सकता है
गहरा

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