UDP is being a connectionless protocol, you can t reliably say that the port is open or not. Below two commands are the only way of checking the same. When you send a packet to the open port, there need not be any acknowledgment saying that the port is open.
Theoretically, UDP should give a ICMP REJECT message saying “port unreachable”, but it can also drop the message as if its a black hole.
# nmap -sU -p UN4500 xx.xx.xx.xx # nc -vz -u xx.xx.xx.xx 53
Using nmap and netcat tool would be of help, but let me repeat that this is not reliable. However, if you want to check whether the port is blocked at a hardware level either at client end or the server end, what you can probably do is to open a UDP port at the server end like below:
server.example.com # nc -u -l 4500
And then at the client side, open the communication using nc as below and write some message and check whether it is reaching at the server end.
client.example.com # nc -u server.example.com 4500
On a quick note, to check whether a port is open, programmatically/script, use the below command:
nc 127.0.0.1 22 &> /dev/null; echo $?
If $? is 0, the port is open and if 1, the port is closed.
Uninterrupted service delivery can only be assured through constant monitoring of services and servers. Let us take care of your servers 24/7/365.