मैं एक सर्वर पर एक वैकल्पिक पोर्ट के तहत एक साइट स्थापित करने की कोशिश कर रहा हूं, लेकिन पोर्ट फ़ायरवॉल द्वारा बंद हो सकता है। क्या एक विशिष्ट पोर्ट पर बाहर या अंदर पिंग करने का एक तरीका है, यह देखने के लिए कि क्या यह खुला है?
मैं एक सर्वर पर एक वैकल्पिक पोर्ट के तहत एक साइट स्थापित करने की कोशिश कर रहा हूं, लेकिन पोर्ट फ़ायरवॉल द्वारा बंद हो सकता है। क्या एक विशिष्ट पोर्ट पर बाहर या अंदर पिंग करने का एक तरीका है, यह देखने के लिए कि क्या यह खुला है?
जवाबों:
मान लें कि यह एक टीसीपी (यूडीपी के बजाय) पोर्ट है जिसे आप उपयोग करने की कोशिश कर रहे हैं:
सर्वर पर ही, netstat -an
यह देखने के लिए उपयोग करें कि कौन से पोर्ट सुन रहे हैं।
बाहर से, बस उपयोग telnet host port
(या telnet host:port
यूनिक्स सिस्टम पर) यह देखने के लिए कि क्या कनेक्शन अस्वीकार, स्वीकार या टाइमआउट है।
उस बाद के परीक्षण पर, फिर सामान्य तौर पर:
विंडोज 7 या विंडोज विस्टा पर डिफ़ॉल्ट विकल्प 'टेलनेट' को आंतरिक या बाहरी कमांड, ऑपरेबल प्रोग्राम या बैच फ़ाइल के रूप में मान्यता नहीं दी जाती है। इसे हल करने के लिए, बस इसे सक्षम करें: क्लिक करें * प्रारंभ ** → नियंत्रण कक्ष → प्रोग्राम → विंडोज सुविधाओं को चालू या बंद करें। सूची में, नीचे स्क्रॉल करें और टेलनेट क्लाइंट का चयन करें और क्लिक करें OK।
Could not open connection to the host, on port *x*: Connect failed
संकेत देता है?
telnet api-3t.sandbox.paypal.com 443
मिल जाता Connecting to api-3t.sandbox.paypal.com...Could not open connection to the host on port 443: Connect failed
है, तो यह है क्योंकि फ़ायरवॉल इसे रोक रहा है?
o host port
खुली कमांड लाइन (cmd.exe) टाइप करते हैं और फिर टाइप करते हैं तो एक अंतर होता हैtelnet host port
विंडोज पर आप उपयोग कर सकते हैं
netstat -na | find "your_port"
परिणामों को कम करने के लिए। तुम भी के लिए फ़िल्टर कर सकते हैं LISTENING
, ESTABLISHED
, TCP
और इस तरह के। हालांकि यह मामला संवेदनशील है।
find
मेरे लिए विंडोज 10 में काम नहीं किया, लेकिन netstat -na | findstr "8080"
काम किया
यदि आप बाहर से जाँच कर रहे हैं, सर्वर से ही नहीं, और आप टेलनेट को स्थापित करने से परेशान नहीं होना चाहते हैं (क्योंकि यह विंडोज के अंतिम संस्करणों के साथ नहीं आता है) या कोई अन्य सॉफ्टवेयर, तो आपके पास मूल पावरशेल है:
Test-NetConnection -Port 800 -ComputerName 192.168.0.1 -InformationLevel Detailed
(दुर्भाग्य से यह केवल PowerShell 4.0 या नए के साथ काम करता है। अपने PowerShell संस्करण की जांच करने के लिए, टाइप करें $PSVersionTable
।)
पुनश्च: ध्यान दें, इन दिनों ट्विटर्सफेयर पर कुछ दावे हैं जो संकेत देते हैं कि पावरस्ले कोर से "टेस्ट-कनेक्शन" या शॉर्टकट "tnc" का उल्लेख करके इस उत्तर को बेहतर बनाया जा सकता है। Https://twitter.com/david_obrien/status/1214082339203993600 देखें और कृपया इसे बेहतर बनाने के लिए इस उत्तर को संपादित करने में मेरी मदद करें!
(यदि आपके पास PSVersion <4.0 है, तो आप भाग्य से बाहर हैं। इस तालिका को देखें:
भले ही आप Windows प्रबंधन फ्रेमवर्क 4.0 को स्थापित करके PowerShell के अपने संस्करण को अपग्रेड कर सकते हैं , लेकिन इसने मेरे लिए ट्रिक नहीं किया, टेस्ट-नेटकॉन्फेक्शन cmdlet अभी भी उपलब्ध नहीं है)।
Windows मशीन पर आप Microsoft से पोर्ट क्यूरी का उपयोग कर सकते हैं यह जांचने के लिए कि क्या कोई एप्लिकेशन पहले से ही एक विशिष्ट पोर्ट पर निम्न कमांड का उपयोग कर सुन रहा है:
portqry -n 11.22.33.44 -p tcp -e 80
portqry -n 11.22.33.44 -p udp -e 19132
मुझे यह पसंद आया:
netstat -an | find "8080"
टेलनेट से
telnet 192.168.100.132 8080
और यह सुनिश्चित करें कि फ़ायरवॉल उस मशीन पर बंद है।
netstat -an | find "8080"
इसे चलाता हूं तो मुझे एक त्रुटि मिलती है ,no such file named "8080"
यदि telnet
उपलब्ध नहीं है, तो PuTTY डाउनलोड करें । यह एक बहुत ही बेहतर टेलनेट, एसएसएच, आदि क्लाइंट है और कई स्थितियों में उपयोगी होगा, न केवल यह एक है, खासकर यदि आप एक सर्वर का संचालन कर रहे हैं।
क्या आप इसे करने के लिए एक उपकरण चाहते हैं? Http://www.canyouseeme.org/ पर एक वेबसाइट है । अन्यथा, आपको किसी अन्य सर्वर की आवश्यकता है ताकि आपको यह देखने के लिए कॉल किया जा सके कि क्या पोर्ट खुला है ...
विंडोज सर्वर पर आप उपयोग कर सकते हैं
netstat -an | where{$_.Contains("Yourport")}
एक और उपयोगिता जो मुझे मिली और अच्छी और छोटी है, वह है पोर्टक्यूरी कमांड लाइन पोर्ट स्कैनर संस्करण 2.0 ।
आप एक सर्वर और एक पोर्ट को पिंग कर सकते हैं और यह आपको पोर्ट की स्थिति बताएगा। इसके लिए एक कमांड-लाइन उपयोगिता और एक यूआई है।