विंडोज प्लेटफॉर्म पर, मुझे अपने स्थानीय मशीन (जैसा कि) पर पोर्ट (3306, उदाहरण के लिए) की जांच करने के लिए क्या मूल विकल्प हैं localhost
, अवरुद्ध किया जा रहा है?
विंडोज प्लेटफॉर्म पर, मुझे अपने स्थानीय मशीन (जैसा कि) पर पोर्ट (3306, उदाहरण के लिए) की जांच करने के लिए क्या मूल विकल्प हैं localhost
, अवरुद्ध किया जा रहा है?
जवाबों:
चूंकि आप विंडोज मशीन पर हैं, इसलिए ये चीजें की जा सकती हैं,
निम्न आदेश निष्पादित करें और ": 3306" श्रोता की तलाश करें (आपने UDP / TCP का उल्लेख नहीं किया है)। यह पुष्टि करेगा कि पोर्ट पर कुछ चल रहा है।
netstat -a -n
इसके बाद, यदि आप इस पोर्ट पर आने वाले कनेक्शनों की उम्मीद कर रहे हैं और महसूस करते हैं कि फ़ायरवॉल उन्हें रोक सकता है, तो आप विंडोज़ फ़ायरवॉल लॉगिंग शुरू कर सकते हैं और गिराए गए कनेक्शनों के लिए लॉग की जाँच कर सकते हैं।
फ़ायरवॉल स्थिति की जांच करने के लिए एक और कमांड है
(विंडोज 7 उपयोगकर्ताओं के लिए अपडेट - जैसा कि Nick
नीचे बताया गया है - नेटश एडवाइज़र फ़ायरवॉल का उपयोग करें )
netsh फ़ायरवॉल शो स्थिति
यह कमांड विंडोज फ़ायरवॉल कॉन्फ़िगरेशन डिटेल को डंप करेगा
netsh फ़ायरवॉल शो को कॉन्फ़िगर करता है
यदि आपके पास एक सक्रिय ब्लॉक है (लॉगिंग शुरू होने के बाद आने वाले कनेक्शन फायरवॉल द्वारा गिराए जा रहे हैं), तो आपको लॉग में देखना चाहिए।
यदि आप एक एप्लिकेशन / सेवा चला रहे हैं जो 3306 पर सुन रहा है, तो फ़ायरवॉल कॉन्फ़िगरेशन को इसे सक्षम होना चाहिए। यदि यह नहीं देखा जाता है, तो आप शायद इस ऐप / सेवा को अनुमति देने के लिए फ़ायरवॉल के साथ एक अपवाद जोड़ने से चूक गए हैं।
अंत में, पोर्ट 3306 का उपयोग आमतौर पर MySQL के लिए किया जाता है। इसलिए, मुझे लगता है कि आप इस विंडो मशीन पर MySQL सर्वर चला रहे हैं। इसलिए आपको आने वाले कनेक्शन को स्वीकार करते हुए 3306 के लिए एक श्रोता को देखना चाहिए। यदि आप यह नहीं देखते हैं, तो आपको पहले शुरू करने के लिए अपने एप्लिकेशन (MySQL) के साथ काम करना होगा।
|find "3306"
करने के लिए, कमांड में जोड़ें , जैसेC:\Windows\System32>netstat -an |find "3306"
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
प्रतिसाद दे रहा है , तो ऊपर दी गई कमांड आपको एक त्वरित संकेत दे सकती है।
PowerShell 4.0 के बाद से आप कमांड का उपयोग कर सकते हैं Test-NetConnection
यदि आप अपने उदाहरण के रूप में पोर्ट 3306 का परीक्षण करना चाहते हैं तो कमांड है
Test-NetConnection -ComputerName localhost -Port 3306
यदि आप स्थानीय मशीन (बाहरी आईपी पते का उपयोग करके) से पोर्ट पर टेलनेट कर सकते हैं, लेकिन किसी अन्य मशीन से नहीं - तो इसे बीच में अवरुद्ध किया जा रहा है।
ध्यान दें कि आपके स्थानीय मशीन पर फ़ायरवॉल पहली कार्रवाई को भी रोक सकता है।