"ओपन" यूडीपी पोर्ट जैसी कोई चीज नहीं है, कम से कम इस मायने में नहीं कि ज्यादातर लोगों को सोचने के लिए उपयोग किया जाता है (जो "ओके, मैंने आपका कनेक्शन स्वीकार कर लिया है" जैसे कुछ का जवाब दे रहा है)। यूडीपी सत्र-कम है, इसलिए "एक पोर्ट" (पढ़ें: ऑपरेटिंग सिस्टम आईपी स्टैक में यूडीपी प्रोटोकॉल) अपने दम पर कभी भी "सफलता" का जवाब नहीं देगा।
यूडीपी बंदरगाहों में केवल दो राज्य हैं: सुनना या नहीं। यह आमतौर पर "एक प्रक्रिया द्वारा उस पर खुला सॉकेट होने" या "किसी भी सॉकेट के खुले न होने" का अनुवाद करता है। बाद के मामले का पता लगाना आसान होना चाहिए क्योंकि सिस्टम को कोड = 3 (पोर्ट अनुपलब्ध) के साथ ICMP गंतव्य अनुपलब्ध पैकेट के साथ प्रतिक्रिया करनी चाहिए । दुर्भाग्य से कई फ़ायरवॉल उन पैकेटों को गिरा सकते हैं, यदि आपको कुछ भी वापस नहीं मिलता है तो आप यह सुनिश्चित नहीं कर सकते हैं कि पोर्ट इस राज्य में है या नहीं। और आइए यह न भूलें कि ICMP सत्र-कम भी है और यह पुन: प्रसारण नहीं करता है: पोर्ट अप्राप्य पैकेट बहुत अच्छी तरह से नेट पर कहीं खो सकता है।
"सुनने" स्थिति में एक यूडीपी पोर्ट बिल्कुल भी जवाब नहीं दे सकता है (इस पर सुनने की प्रक्रिया सिर्फ पैकेट प्राप्त करती है और कुछ भी प्रेषित नहीं करती है) या यह कुछ वापस भेज सकता है (यदि प्रक्रिया रिसेप्शन पर कार्य करती है और यदि यह इसके द्वारा कार्य करती है मूल प्रेषक आईपी: पोर्ट) के लिए यूडीपी के माध्यम से जवाब देना। तो फिर, आप कभी भी यह सुनिश्चित करने के लिए नहीं जानते हैं कि अगर आपको कुछ वापस नहीं मिला तो क्या स्थिति होगी।
आप कहते हैं कि आपके पास प्राप्त होस्ट का नियंत्रण हो सकता है: जो आपको UDP पोर्ट की पुन: जांच करने के लिए अपने प्रोटोकॉल का निर्माण करने में सक्षम बनाता है: बस प्राप्त होस्ट पर एक प्रक्रिया डालें जो दिए गए UDP पोर्ट पर सुनेंगे और वापस जवाब देंगे (या आपको भेजेंगे) एक ईमेल, या unlink()
मेजबान फ़ाइल सिस्टम पर सब कुछ बाहर है और कुछ भी ... जो कुछ भी आपके ध्यान को ट्रिगर करेगा वह करेगा)।