विंडोज़ में टीसीपी/आईपी नेटवर्क में समस्याओं के निदान के लिए कई उपकरण हैं (ping
, telnet
, pathping
, आदि।)। लेकिन उनमें से सभी आपको आसानी से स्थिति की जांच करने या दूरस्थ सर्वर पर खुले नेटवर्क पोर्ट को स्कैन करने की अनुमति नहीं देते हैं। Portqry.exe यूटिलिटी टीसीपी/आईपी नेटवर्क में विभिन्न नेटवर्क सेवाओं और फायरवॉल के संचालन से संबंधित मुद्दों का निदान करने के लिए दूरस्थ मेजबानों पर टीसीपी/यूडीपी बंदरगाहों की प्रतिक्रिया की जांच करने के लिए एक सुविधाजनक उपकरण है। प्राय:, Portqry उपयोगिता का उपयोग telnet
. के लिए अधिक कार्यात्मक प्रतिस्थापन के रूप में किया जाता है कमांड, और टेलनेट के विपरीत, यह आपको खुले यूडीपी पोर्ट की जांच करने की भी अनुमति देता है।
पोर्टक्यूरी के साथ ओपन यूडीपी/टीसीपी पोर्ट को स्कैन करना
Windows Server 2003 के लिए PortQry का पहला संस्करण नए OS संस्करणों (Windows Server 2008 और नए) में ठीक से काम नहीं करता है, इसलिए उपयोगिता का दूसरा संस्करण, PortQryV2 , जारी कर दी गई है। यह वह संस्करण है जिसका आपको आज उपयोग करना चाहिए (आप यहां PortQryV2 डाउनलोड कर सकते हैं)।
विंडोज 10 पर, आप चोकोलेटी पैकेज मैनेजर का उपयोग करके पोर्टक्यूरी को कमांड के साथ स्थापित कर सकते हैं:
choco install portqry
डाउनलोड करें और PortQryV2.exe को निकालें पुरालेख। कमांड प्रॉम्प्ट चलाएँ और उपयोगिता के साथ निर्देशिका में जाएँ, उदाहरण के लिए:
cd c:\tools\PortQryV2
उदाहरण के लिए, क्लाइंट से DNS सर्वर की उपलब्धता की जांच करने के लिए, आपको यह जांचना होगा कि क्या उस पर 53 TCP और UDP पोर्ट खुले हैं। पोर्ट चेक कमांड का सिंटैक्स इस प्रकार है:
PortQry -n server [-p protocol] [-e || -r || -o endpoint(s)]
- -n सर्वर का नाम या आईपी पता है, जिसकी उपलब्धता की आप जांच कर रहे हैं;
- -e जाँच की जाने वाली पोर्ट संख्या है (1 से 65535 तक);
- -r जाँच किए जाने वाले पोर्ट की श्रेणी है (उदाहरण के लिए, 1:80);
- -p जाँच के लिए प्रयोग किया जाने वाला प्रोटोकॉल है। यह TCP, UDP या BOTH हो सकता है (TCP डिफ़ॉल्ट रूप से उपयोग किया जाता है)।
हमारे उदाहरण में, कमांड इस तरह दिखती है:
PortQry.exe –n 10.0.25.6 -p both -e 53
Portqry तीन उपलब्ध पोर्ट स्थिति में से एक लौटाएगा:
- सुनना - इसका मतलब है कि बंदरगाह खोला गया है (कनेक्शन स्वीकार करता है), उससे एक प्रतिक्रिया प्राप्त हुई है;
- नहीं सुनना - दिखाता है कि लक्ष्य प्रणाली पर कोई प्रक्रिया (सेवा) नहीं है जो निर्दिष्ट पोर्ट पर कनेक्शन स्वीकार करती है। पोर्टक्यूरी को यूडीपी पोर्ट, या टीसीपी पैकेट को रीसेट फ्लैग के साथ चेक करते समय एक आईसीएमपी प्रतिक्रिया "गंतव्य पहुंच योग्य - पोर्ट पहुंच योग्य नहीं" प्राप्त हुई;
- फ़िल्टर किया गया - इसका मतलब है कि पोर्टक्यूरी को निर्दिष्ट पोर्ट से कोई प्रतिक्रिया नहीं मिली है या प्रतिक्रिया को फ़िल्टर कर दिया गया है। यानी, यह पोर्ट लक्ष्य प्रणाली पर नहीं सुन रहा है या उस तक पहुंच फ़ायरवॉल या कुछ सिस्टम सेटिंग्स द्वारा प्रतिबंधित है। डिफ़ॉल्ट रूप से, TCP पोर्ट पर 3 बार मतदान होता है, और UDP एक होता है।
हमारे उदाहरण में, DNS सर्वर क्लाइंट से TCP और UDP दोनों पोर्ट पर उपलब्ध है।
TCP port 53 (domain service): LISTENING UDP port 53 (domain service): LISTENING
-o . का उपयोग करना विशेषता, आप उनकी उपलब्धता की जांच के लिए बंदरगाहों का क्रम निर्दिष्ट कर सकते हैं:
portqry -n 10.0.25.6 -p tcp -o 21,110,143
अगला कमांड जाने-माने टीसीपी/आईपी पोर्ट नंबरों की श्रेणियों को स्कैन करता है और उन बंदरगाहों की सूची देता है जो कनेक्शन स्वीकार करते हैं (टीसीपी पोर्ट स्कैनर के रूप में काम करता है):
portqry -n 10.0.25.6 -r 1:1024 | find ": LISTENING"
आप खुले पोर्ट स्कैन परिणाम को टेक्स्ट फ़ाइल में सहेज सकते हैं:
portqry -n 10.0.25.6 -p tcp -r 20:500 -l scan_port_log.txt
Portqry उपयोगिता में एक इंटरैक्टिव मोड है:
portqry –i
अब, पोर्टक्यूरी इंटरएक्टिव मोड प्रॉम्प्ट पर, आप दूरस्थ कंप्यूटर का नाम और पोर्ट नंबर निर्दिष्ट कर सकते हैं:
node srv-lic
set port=80
निर्दिष्ट सर्वर पर पोर्ट की जांच करने के लिए, q . दबाएं और दर्ज करें।
-wport . का उपयोग करना और -wpid तर्क, आप स्थानीय होस्ट पर निर्दिष्ट पोर्ट (wport), या निर्दिष्ट प्रक्रिया (wpid) से जुड़े सभी पोर्ट की स्थिति की निगरानी कर सकते हैं।
उदाहरण के लिए, निम्न कमांड 10 मिनट के भीतर निर्दिष्ट स्थानीय पोर्ट की प्रतिक्रिया की निगरानी करेगा (उदाहरण के लिए, आरडीपी पोर्ट 3389), और यदि इसकी स्थिति बदलती है, तो यह व्यवस्थापक को इस बारे में सूचित करेगा (लॉगफाइल में एक विस्तृत लॉग उपलब्ध होगा) ।टेक्स्ट)। पोर्ट मॉनिटरिंग को रोकने के लिए, Ctrl-C दबाएं:
portqry -wport 3389 -wt 600 –l LogFile.txt -y -v
आप स्थानीय कंप्यूटर पर खुले पोर्ट और सक्रिय TCP/UDP कनेक्शन के बारे में जानकारी प्राप्त कर सकते हैं:
portqry.exe -local
उन्नत नेटवर्क सेवाएं PortQry में पोर्ट स्थिति खोलें
पोर्टक्यूरी में कुछ नेटवर्क सेवाओं के लिए अंतर्निहित समर्थन है। ये LDAP, रिमोट प्रोसीजर कॉल्स (RPC), ई-मेल प्रोटोकॉल SMTP/POP3/IMAP4, SNMP, FTP/TFTP, NetBIOS नाम सेवा, L2TP, आदि हैं। पोर्ट उपलब्धता की जाँच के अलावा, टूल प्रोटोकॉल-विशिष्ट अनुरोध करता है सेवाओं की स्थिति प्राप्त करें।
उदाहरण के लिए, निम्न कमांड का उपयोग करके आप आरपीसी एंडपॉइंट मैपर सर्विस (टीसीपी/135) की उपलब्धता की जांच कर सकते हैं और कंप्यूटर पर पंजीकृत आरपीसी एंडपॉइंट्स के नामों की सूची प्राप्त कर सकते हैं (उनके नाम, यूयूआईडी, वे पते से बंधे हैं और जिस एप्लिकेशन से वे संबंधित हैं)।
portqry -n 10.0.25.6 -p tcp -e 135
TCP port 135 (epmap service): LISTENING Using ephemeral source port Querying Endpoint Mapper Database… Server’s response: UUID: d95afe72-a6d5-4259-822e-2c84da1ddb0d ncacn_ip_tcp:10.0.25.6 [49152] UUID: 8975497f-93f3-4376-9c9c-fd2277495c27 Frs2 Service ncacn_ip_tcp:10.0.25.6 [5722] UUID: 6b5bd21e-528c-422c-af8c-a4079be4a448 Remote Fw APIs ncacn_ip_tcp:10.0.25.6 [63006] UUID: 12345678-1234-abcd-ef22-0123456789ab IPSec Policy agent endpoint ncacn_ip_tcp:10.0.25.6 [63006] UUID: 367abb81-9844-35f1-ad32-912345001003 ncacn_ip_tcp:10.0.25.6 [63002] UUID: 50cda2a3-574d-40b3-1d66-ee4aaa33a076 ncacn_ip_tcp:10.0.25.6 [56020] …….. UUID: 3c4428c5-f0ab-448b-bda1-6ce01eb0a6d5 DHCP Client LRPC Endpoint ncacn_ip_tcp:10.0.25.6 [49153] Total endpoints found: 61 ==== End of RPC Endpoint Mapper query response ==== portqry.exe -n 10.0.25.6 -e 135 -p TCP exits with return code 0x00000000.
या आप Microsoft SQL सर्वर पर चल रही SQL सर्वर ब्राउज़र सेवा से उपलब्धता और प्रतिक्रिया की जाँच कर सकते हैं:
PortQry.exe -n rome-sql01 -e 1434 -p UDP
UDP port 1434 (ms-sql-m service): LISTENING or FILTERED Sending SQL Server query to UDP port 1434... Server's response: ServerName ROME-SQL01 InstanceName MSSQLSERVER IsClustered No Version 15.0.2000.5 tcp 53200 ServerName ROME-SQL01 InstanceName DBINVENT IsClustered No Version 15.0.2000.5 tcp 1433 ==== End of SQL Server query response ==== UDP port 1434 is LISTENING
जैसा कि आप देख सकते हैं, PortQry टूल ने न केवल 1434/UDP पोर्ट की उपलब्धता को दिखाया, बल्कि SQL सर्वर के संस्करण और SQL सर्वर और उनके TCP पोर्ट पर चल रहे इंस्टेंस के नाम भी दिखाए। पहला DBINVENT उदाहरण डिफ़ॉल्ट पोर्ट TCP/1433 पर सुनता है, और दूसरा MSSQLSERVER RPC श्रेणी से एक निश्चित TCP/53200 पोर्ट का उपयोग करता है।
आप समुदाय का नाम निर्दिष्ट करके डिवाइस पर SNMP पोर्ट का चुनाव कर सकते हैं:
portqry -n rome-sql1 -cn !snmp_trap! -e 161 -p udp
SMTP सर्वर पर पोर्ट TCP/25 की जाँच करते समय, आप सेवा SMTP बैनर प्राप्त कर सकते हैं:
portqry -n mx.woshub.com -p tcp -e 25
PortQuery GUI संस्करण
मूल रूप से, पोर्टक्यूरी विशेष रूप से एक कंसोल (सीएलआई) उपकरण था। उन उपयोगकर्ताओं के लिए इसे और अधिक सुविधाजनक बनाने के लिए जो कमांड प्रॉम्प्ट का उपयोग करना पसंद नहीं करते हैं, माइक्रोसॉफ्ट ने पोर्टक्यूरी के लिए सरल ग्राफिक इंटरफ़ेस विकसित किया है - PortQueryUI . आप Microsoft की आधिकारिक डाउनलोड वेबसाइट से PortQueryUI डाउनलोड कर सकते हैं:PortQueryUI.
वास्तव में, PortQueryUI एक ग्राफिक ऐड-ऑन है जो पोर्टक्यूरी के लिए एक कमांड उत्पन्न करने और ग्राफिक विंडो में परिणाम वापस करने के लिए है।
इसके अलावा, लोकप्रिय Microsoft सेवाओं की उपलब्धता की जाँच करने के लिए PortQueryUI में प्रश्नों के कई पूर्वनिर्धारित सेट शामिल हैं:
- डोमेन और ट्रस्ट (एक सक्रिय निर्देशिका डोमेन नियंत्रक पर ADDS सेवाओं की जाँच करना)
- एक्सचेंज सर्वर
- एसक्यूएल सर्वर
- नेटवर्किंग
- आईपी सेक
- वेब सर्वर
- नेट मीटिंग
मुझे लगता है कि PortQueryUI को किसी विशेष टिप्पणी की आवश्यकता नहीं है। यदि आप नीचे दिए गए स्क्रीनशॉट को देखें तो यह स्पष्ट होना चाहिए। डीएनएस नाम दर्ज करें या आईपी पता दूरस्थ सर्वर से, पूर्वनिर्धारित सेवाओं में से किसी एक का चयन करें (पूर्वनिर्धारित सेवा क्वेरी करें ), या मैन्युअल पोर्ट जांच के लिए पोर्ट नंबर निर्दिष्ट करें (मैन्युअल रूप से इनपुट क्वेरी पोर्ट ) और क्वेरी . क्लिक करें बटन।
PortQueryUI में संभावित वापसी कोड (स्क्रीनशॉट में हाइलाइट किया गया):
- 0 (0x00000000) - कनेक्शन सफलतापूर्वक स्थापित हो गया है और पोर्ट उपलब्ध है;
- 1 (0x00000001) - निर्दिष्ट पोर्ट अनुपलब्ध या फ़िल्टर किया गया है;
- 2 (0x00000002 - यूडीपी कनेक्शन की उपलब्धता की जांच करते समय एक सामान्य रिटर्न कोड, क्योंकि एसीके प्रतिक्रिया वापस नहीं की जाती है।