ไม่มีสิ่งเช่นพอร์ต UDP "เปิด" อย่างน้อยก็ไม่ได้อยู่ในความรู้สึกที่คนส่วนใหญ่คุ้นเคยกับการคิด (ซึ่งเป็นการตอบคำถามแบบ "ตกลงฉันยอมรับการเชื่อมต่อของคุณ") UDP ไม่มีเซสชันดังนั้น "พอร์ต" (อ่าน: โปรโตคอล UDP ใน IP สแต็คของระบบปฏิบัติการ) จะไม่ตอบสนอง "ความสำเร็จ" ด้วยตัวเอง
พอร์ต UDP มีสองสถานะเท่านั้น: การฟังหรือไม่ ซึ่งมักแปลว่า "เปิดซ็อกเก็ตโดยใช้กระบวนการ" หรือ "ไม่มีซ็อกเก็ตเปิดอยู่" กรณีหลังควรตรวจจับได้ง่ายเนื่องจากระบบควรตอบกลับด้วยแพ็กเก็ตICMP ปลายทางที่ไม่สามารถเข้าถึงได้ที่มีรหัส = 3 (พอร์ตที่เข้าไม่ถึง) น่าเสียดายที่ไฟร์วอลล์จำนวนมากสามารถดร็อปแพ็กเก็ตเหล่านั้นได้ดังนั้นหากคุณไม่ได้รับสิ่งใดกลับมาคุณไม่ทราบว่าพอร์ตนั้นอยู่ในสถานะนี้หรือไม่ และอย่าลืมว่า ICMP นั้นมีเซสชั่นน้อยลงเช่นกันและไม่ทำการส่งสัญญาณซ้ำ: แพ็คเก็ตพอร์ตที่เข้าถึงไม่ได้อาจหายไปไหนก็ได้บนเน็ต
พอร์ต UDP ในสถานะ "กำลังฟัง" อาจไม่ตอบสนองเลย (กระบวนการรับฟังเพิ่งได้รับแพ็คเก็ตและไม่ส่งข้อมูลใด ๆ ) หรือสามารถส่งบางสิ่งกลับมาได้ (หากกระบวนการทำงานตามการรับและถ้ามันทำโดย ตอบสนองผ่าน UDP ไปยัง IP ผู้ส่งดั้งเดิม: พอร์ต) ดังนั้นอีกครั้งคุณไม่มีทางรู้แน่นอนว่ารัฐคืออะไรถ้าคุณไม่ได้อะไรกลับมา
คุณบอกว่าคุณสามารถควบคุมโฮสต์ที่รับได้: นั่นทำให้คุณสามารถสร้างโปรโตคอลของคุณเองเพื่อตรวจสอบความสามารถในการเข้าถึงพอร์ต UDP: เพียงแค่วางกระบวนการบนโฮสต์ผู้รับที่จะรับฟังพอร์ต UDP ที่กำหนดและตอบกลับ (หรือส่งถึงคุณ อีเมลหรือเพียงแค่คลั่งไคล้และunlink()
ทุกอย่างในระบบไฟล์โฮสต์ ... อะไรก็ตามที่ทำให้คุณสนใจ)