क्या मेरी मशीन पर एक विशिष्ट नेटवर्क टीसीपी पोर्ट खोलने के लिए कुछ बुनियादी उपयोगिता है?
मुझे यह परीक्षण करने की आवश्यकता है कि मेरा कार्यक्रम सुनने की स्थिति में बंदरगाहों के साथ कैसे व्यवहार करता है।
क्या मेरी मशीन पर एक विशिष्ट नेटवर्क टीसीपी पोर्ट खोलने के लिए कुछ बुनियादी उपयोगिता है?
मुझे यह परीक्षण करने की आवश्यकता है कि मेरा कार्यक्रम सुनने की स्थिति में बंदरगाहों के साथ कैसे व्यवहार करता है।
जवाबों:
netcat को वही करना चाहिए जो आप चाहते हैं। क्या यह आपको मशीन और गूंज सामान को STDOUT पर सुनने के लिए है:
nc -4 -k -l -v localhost 1026
जब आप यह चाहते हैं कि जब कनेक्शन समाप्त हो जाए, तो -k का उपयोग न करें
आपके पास
टीसीपी सुनो: http://www.allscoop.com/tcp-listen.php
पोर्ट पीकर: http://www.linklogger.com/portpeeker.htm
Microsoft की कमांड-लाइन उपयोगिता Portqry.exe
IPerf का प्रयास करें। विंडोज के लिए एक संस्करण है। आप इसे बस की तरह चला सकते हैं iperf -s -p 1234
, और यह पोर्ट 1234 पर सुनेगा। तब आप कुछ कर के रिमोट मशीन से उस पोर्ट से जुड़ सकते हैं:
telnet 192.168.1.1 1234
iperf -c 192.168.1.1 1234
portqry -n 192.168.1.1 -e 1234
आपको अंतिम दो के लिए iperf.exe
या प्राप्त करने की आवश्यकता होगी portqry.exe
। iPerf को इस कार्य के लिए कड़ाई से तैयार नहीं किया गया है, लेकिन यह कनेक्टिविटी, बैंडविड्थ की उपलब्धता, तनाव परीक्षण लिंक आदि की समस्या निवारण के लिए बहुत अच्छा है।
ऐसा लगता है कि यह उपयोगिता ठीक वही करेगी जो आप चाहते हैं, यहां तक कि प्राप्त किए गए डेटा को प्रदर्शित करना यदि आप चाहें: http://www.drk.com.ar/builder.php
यह एक कमांड लाइन के बजाय एक जीयूआई है, कुछ के लिए एक फायदा है।
Netpipes उपकरण नल और नली हमेशा मुझे अच्छी तरह से सेवा की है, को सरल बनाने stdin
और stdout
मेरे कार्यक्रमों नेटवर्क पर उपयोग करने के लिए।
नेटकैट के समान ।
उबंटू विवरण:
Netpipes पैकेज टीसीपी / आईपी स्ट्रीम स्क्रिप्ट में प्रयोग करने योग्य बनाता है। यह प्रोग्रामर को सॉकेट से संबंधित सभी थकाऊ प्रोग्रामिंग बिट्स को छोड़ने और फ़िल्टर, या अन्य सेवा लिखने पर ध्यान केंद्रित करने की अनुमति देकर क्लाइंट / सर्वर कोड को सरल बना सकता है।
EXAMPLES
This creates a TCP-IP socket on the local machine bound to port 3000.
example$ faucet 3000 --out --verbose tar -cf - .
Every time some process (from any machine) attempts to connect to port 3000 on this machine the faucet program will fork(2) a process and the child
will exec(2) a
tar -cf - .
यह विंडसर्क , एक पैकेट और प्रोटोकॉल विश्लेषक के लिए सही उपयोग है जो विंडोज / लिनक्स नेटवर्किंग स्टैक के बीच में बैठता है।
यह आपको पोर्ट की परवाह किए बिना आपकी संपूर्ण मशीन द्वारा प्राप्त सभी टीसीपी / यूडीपी पैकेटों को देखने की अनुमति देगा। आप इस कार्यक्रम को आगे के विश्लेषण के लिए एक निश्चित पोर्ट पर भेजे गए केवल पैकेट को फ़िल्टर करने के लिए भी कह सकते हैं। Wireshark के लिए लाभ यह है कि यह प्रत्येक पैकेट के लिए बहुत विस्तृत संदेश प्रदान करता है - स्रोत, गंतव्य, पोर्ट, मैक पते, डेटा, दिनांक, चेकसम, आदि बहुत उपयोगी (और मुफ्त!) उपकरण।
टीसीपी सुनो सबसे अच्छा जवाब IMHO है। मैंने टीसीपी बिल्डर को देखा और पसंद किया, लेकिन आपको उस ऐप को चलाने के लिए व्यवस्थापक अधिकारों की आवश्यकता है, आपको टीसीपी श्रोता के साथ उनकी आवश्यकता नहीं है, और आपको टीसीपी बिल्डर, या अनज़िप स्थापित करने और फ़ाइलों का एक गुच्छा कॉपी करने की आवश्यकता है, जबकि टीसीपी श्रोता 1 है EXE, और कुछ नहीं।
टीसीपी श्रोता को भी व्यवस्थापक अधिकारों की आवश्यकता नहीं थी, और जब मैंने एवी को स्कैन किया तो कुछ भी नहीं कहा कि यह दुर्भावनापूर्ण था। विरूस्तोटल पर बिल्डर का कहना था कि एवी खराब था, लेकिन यह गलत निकला (मुझे उम्मीद है) :)
जबकि मुझे बिल्डर को sans admin अधिकार चलाने के लिए मिला, लेकिन यह सॉकेट को हुक नहीं कर सका जबकि श्रोता कर सकते थे। एक बार जब मैंने अपना सारा परीक्षण कर लिया, तो मैं केवल श्रोता की 1 फ़ाइल को हटा सकता था और सभी पहले की तरह था।
Netcat अच्छा होता, लेकिन मुझे ऐसा संस्करण नहीं मिला जो 2012 या बाद के सर्वर के साथ काम करेगा। इसलिए, पूरी तरह से परीक्षण करने के लिए यदि नेटवर्क फ़ायरवॉल और स्थानीय फ़ायरवॉल विशिष्ट टीसीपी पोर्ट को कनेक्ट करने की अनुमति देते हैं, तो टीसीपी श्रोता इस काम के लिए सबसे अच्छा उपकरण लगता है।
का आनंद लें!
आप netcat के विंडोज संस्करण का उपयोग कर सकते हैं :
nc -l -v localhost -p 7
मुझे विंडोज पर नेटकैट पसंद है, लेकिन इंटरनेट से सामान डाउनलोड और इंस्टॉल करना हमेशा संभव नहीं होता है। शायद आप एक उत्पादन सर्वर स्थापित कर रहे हैं, और आप कुछ भी स्थापित करने से पहले (और बिना) अपने फ़ायरवॉल नियमों का परीक्षण करना चाहते हैं।
अधिकांश (सभी?) विंडोज सर्वरों में एक JScript.net कंपाइलर है। आप सादे पुराने विंडोज बैच फ़ाइल लिख सकते हैं जो कि एक मान्य JScript.net प्रोग्राम, एक पॉलीग्लॉट प्रोग्राम भी है ।
tl; डॉ;
polyglot-listener.bat 1234
पोर्ट पर सुनने के लिए टाइप करें 1234
।jsc.exe
अपने सिस्टम पर निष्पादन योग्य खोजने के लिए विचार है :
for /f "tokens=* delims=" %%v in ('dir /b /s /a:-d /o:-n "%SystemRoot%\Microsoft.NET\Framework\*jsc.exe"') do (
set "jsc=%%v"
)
और बैच फ़ाइल संकलित करने के लिए इसका उपयोग करें।
"!jsc!" /nologo /out:"%APPDATA%\listener.exe" "%~dpsfnx0"
बैच फ़ाइल में बेसिक JScript.Net कोड होता है जो एक सिंक्रोनस सॉकेट बनाता है, इस पर सुनें, कनेक्शन स्वीकार करें और जो कुछ भी हो उसे ड्रॉप करें:
listener.Bind(localEndPoint);
listener.Listen(10);
// Start listening for connections.
while (true) {
var data:byte[] = new byte[1024];
Console.WriteLine("Waiting for a TCP connection on {0}:{1}...", ipAddress, port);
var handler = listener.Accept();
Console.WriteLine("Connected to {0}", handler.RemoteEndPoint);
try {
// An incoming connection needs to be processed.
while (handler.Receive(data) > 0);
} finally {
Console.WriteLine("Disconected\n");
}
handler.Shutdown(SocketShutdown.Both);
handler.Close();
}
संकलित कार्यक्रम के रूप में सहेजा जाएगा %APPDATA%\listener.exe
। यह अपने आप चल सकता है, एक सर्वर पर कॉपी किया जा सकता है, लेकिन पॉलीग्लॉट बैच फ़ाइल से संकलन आपके रास्ते में किसी भी सुरक्षा बाधा की परवाह किए बिना काम करेगा।
Sysinternals टूलकिट से TCPView एक बहुत अच्छा अवलोकन प्रदान करता है।