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