UDP पोर्ट पर सर्वर से कनेक्टिविटी सत्यापित करें


14

मैं जानना चाहता हूं कि क्या यूडीपी का उपयोग करके किसी विशेष पोर्ट पर एक एचपी-यूएक्स मशीन एक रिमोट मशीन (जिस पर मेरा नियंत्रण नहीं है) से संवाद कर सकती है।

मैंने टेलनेट की कोशिश की, लेकिन ऐसा नहीं लग रहा है कि यह यूडीपी का समर्थन करता है। मैं netcat का उपयोग करूंगा, लेकिन मुझे कोई बंडल नहीं मिला। यह मशीन उत्पादन में है इसलिए मैं शिकायत करने या चीजों को स्थापित करने के आसपास गड़बड़ नहीं करना चाहता ... (nmap, netcat from source ...)

ऐसा करने का कोई सरल तरीका?

जवाबों:


16

UDP पोर्ट को पिंग करना एक तरह से मुश्किल है, क्योंकि प्रति कनेक्शन नहीं हैं । यदि आपके पास रिमोट होस्ट पर नियंत्रण नहीं है, तो आप वास्तव में कभी नहीं जान सकते हैं कि आपके यूडीपी डेटाग्राम वास्तव में प्राप्त हो रहे हैं या नहीं। मैं तुम्हें पहले से ही पता है कि क्या दूरस्थ होस्ट पहुंचा जा सकता है मान, के माध्यम से ping, traceroute, mtr, आदि (यदि नहीं, कि पहले की जाँच!)

अगला, चूंकि आपके पास नहीं है netcat, आपको यूडीपी पैकेट बनाने के कुछ तरीके की आवश्यकता होगी।

bashखोल यूडीपी पैकेट भेजता है जब आप विशेष उपकरण के लिए डेटा अनुप्रेषित /dev/udp/host/port। उदाहरण के लिए:

#!/bin/bash
host="10.10.10.10"
port=12345
echo "PING" >/dev/udp/$host/$port

बेशक, अजगर, यूडीपी के लिए भी पूरी तरह से सक्षम है, जैसे

#!/bin/python
import socket
host="10.10.10.10"
port=12345
udp_sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
udp_sock.sendto('PING', (host, port))

भले ही आप अपने यूडीपी "पिंग" पैकेट को उत्पन्न करने के लिए कैसे प्रयास करते हैं, आप जानना चाहेंगे कि क्या लक्ष्य प्राप्त हुआ। यदि लक्ष्य पोर्ट खुला है (यानी एक सेवा दिए गए पोर्ट पर सुन रहा है), तो क्या होता है आवेदन-परिभाषित किया जाएगा। उम्मीद है, आपको रिमोट सिस्टम से कुछ व्यवहार या संकेत दिखाई देंगे।

यदि लक्ष्य पोर्ट बंद है (यानी कोई सेवा उस पोर्ट पर नहीं सुन रही है), तो आपको प्रतिक्रिया में ICMP त्रुटि पैकेट वापस मिलना चाहिए । इसके लिए अपने पसंदीदा वायर-लेवल नेटवर्क स्निफर का उपयोग करें। या, शायद आपका HP-UX सिस्टम ICMP त्रुटियों को कहीं लॉग करता है (क्षमा करें, मुझे HP-UX के साथ कोई अनुभव नहीं है)।

दुर्भाग्य से, यदि लक्ष्य फ़ायरवॉल है, तो आपको लक्ष्य पोर्ट बंद होने पर प्रतिक्रिया नहीं मिल सकती है। दूरस्थ होस्ट उत्तरदायी है या नहीं यह जानने का एकमात्र अचूक तरीका है कि आप अपने यूडीपी-डेटा-निर्भर अनुप्रयोग को चलाएं और नेटवर्क ट्रैफ़िक को देखें।


10

आप उपयोग कर सकते हैं netcat। OSX में, यह मेरी आज्ञा है:

$ nc -vnzu <IP> <PORT>
found 0 associations
found 1 connections:
1: flags=82<CONNECTED,PREFERRED>
outif (null)
src <SOURCE IP> port <SOURCE PORT>
dst <DEST IP> port <DEST PORT>
rank info not available

सब कुछ के लिए बिल्कुल सही, एनसी काम करता है!
शोएब खान
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.