Không có thứ gọi là cổng UDP "mở", ít nhất là không phải theo nghĩa mà hầu hết mọi người thường nghĩ (đó là trả lời một cái gì đó như "OK, tôi đã chấp nhận kết nối của bạn"). UDP không có phiên, vì vậy "một cổng" (đọc: giao thức UDP trong ngăn xếp IP của hệ điều hành) sẽ không bao giờ tự đáp ứng "thành công".
Cổng UDP chỉ có hai trạng thái: nghe hay không. Điều đó thường có nghĩa là "có một ổ cắm mở trên nó theo một quy trình" hoặc "không có bất kỳ ổ cắm nào mở". Trường hợp sau phải dễ dàng phát hiện do hệ thống sẽ phản hồi với gói Không thể truy cập đích của ICMP với mã = 3 (Cổng không thể truy cập được). Thật không may, nhiều tường lửa có thể làm rơi các gói đó, vì vậy nếu bạn không nhận lại được bất cứ điều gì, bạn không biết chắc là cổng có ở trạng thái này hay không. Và đừng quên rằng ICMP cũng không có phiên và không thực hiện truyền lại: gói Không thể truy cập cổng rất có thể bị mất ở đâu đó trên mạng.
Một cổng UDP ở trạng thái "nghe" hoàn toàn không thể phản hồi (quá trình nghe trên nó chỉ nhận được gói và không truyền bất cứ thứ gì) hoặc nó có thể gửi lại một cái gì đó (nếu quá trình này hoạt động khi nhận và nếu nó hoạt động phản hồi qua UDP cho IP người gửi ban đầu: cổng). Vì vậy, một lần nữa, bạn không bao giờ biết chắc trạng thái là gì nếu bạn không nhận lại được gì.
Bạn nói rằng bạn có thể kiểm soát máy chủ nhận: điều đó giúp bạn có thể xây dựng giao thức của riêng mình để kiểm tra khả năng tiếp cận cổng UDP: chỉ cần đặt một quy trình trên máy chủ nhận sẽ lắng nghe trên cổng UDP đã cho và trả lời lại (hoặc gửi cho bạn một email, hoặc chỉ là quái đản và unlink()
mọi thứ trên hệ thống tệp máy chủ ... bất cứ điều gì sẽ kích hoạt sự chú ý của bạn sẽ làm).