[ZBXNEXT-6501] Add possibility for remote check UDP services and ports Created: 2021 Feb 10  Updated: 2021 Jun 02

Status: Open
Project: ZABBIX FEATURE REQUESTS
Component/s: Agent (G), Agent2 plugin (G), Server (S)
Affects Version/s: 5.0.8
Fix Version/s: None

Type: Change Request Priority: Minor
Reporter: Igor Gorbach (Inactive) Assignee: Zabbix Development Team
Resolution: Unresolved Votes: 4
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Sub-task

 Description   

We want to have a possibility to use simple checks for checking UDP port availability 

with items like

net.udp.service[udp,<ip>,port]

It is very important in case of Video Services monitoring

Now, the only ntp service available

Also, we want to check packets loss for checking UDP traffic to remote host

Now, we're able to use nping for that, for example
 

nping --udp -c 2  -p 5001 <ip>

Starting Nping 0.7.40 ( https://nmap.org/nping ) at 2020-08-31 22:41 PDT 
SENT (0.0977s) UDP <ip>:53 > 172.31.0.25:5001 ttl=64 id=48591 iplen=28 
SENT (1.0981s) UDP <ip>:53 > 172.31.0.25:5001 ttl=64 id=48591 iplen=28 
RCVD (1.3151s) UDP <ip>:5001 > 172.31.0.69:53 ttl=64 id=42729 iplen=1498   
Max rtt: 216.701ms | Min rtt: 216.701ms | Avg rtt: 216.701ms Raw packets sent: 2 (56B) | Rcvd: 1 (1.498KB) |
Lost: 1 (50.00%) Nping done: 1 IP address pinged in 1.40 seconds

Please, add native support for those checks to simple checks and agent checks

 



 Comments   
Comment by Alex Kalimulin [ 2021 Jun 02 ]

There is no universal way to do a generic ping over UDP that would work in all cases. UDP is a connectionless protocol that, in contrast with TCP, does not provide any kinds of delivery confirmations.

When a client sends a UDP packet to some port, the packet gets delivered to the target OS which in turn checks whether there is a listener process registered in the OS. If there is then the packet gets delivered to the process which is free to either respond or keep silence, depending on the application logic. If there is no listener process, then the packet gets discarded and the OS sends back ICMP packet “port unreachable”.

In theory, one can tell the UDP port is closed by checking such ICMP responses. In practice, however, firewalled environments just block such packets more often than not.

Utilities, like nping —udp just send UDP packets and hope for the best. You can rely on their results only when you either know for sure that ICMP packets are always delivered from your target to the sender or know that the application does always immediately respond to UDP requests with some response.

Generated at Tue Jun 24 07:06:37 EEST 2025 using Jira 9.12.4#9120004-sha1:625303b708afdb767e17cb2838290c41888e9ff0.