Il ping di una porta UDP è piuttosto complicato, poiché di per sé non ci sono connessioni . Se non hai il controllo sull'host remoto, potresti non sapere davvero se i tuoi datagrammi UDP vengono effettivamente ricevuti. Suppongo che si conosce già se l'host remoto è raggiungibile, via ping, traceroute, mtr, ecc (In caso contrario, controllare che prima!)
Successivamente, poiché non hai netcat, avrai bisogno di un modo per generare pacchetti UDP.
La bashshell invia pacchetti UDP quando si reindirizzano i dati al dispositivo speciale /dev/udp/host/port. Per esempio:
#!/bin/bash
host="10.10.10.10"
port=12345
echo "PING" >/dev/udp/$host/$port
Python, ovviamente, è anche pienamente in grado di UDP, ad es
#!/bin/python
import socket
host="10.10.10.10"
port=12345
udp_sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
udp_sock.sendto('PING', (host, port))
Indipendentemente da come riesci a generare il tuo pacchetto "ping" UDP, vorrai sapere se il target lo ha ricevuto. Se la porta di destinazione è aperta (ovvero un servizio è in ascolto sulla porta specificata), ciò che accadrà sarà definito dall'applicazione. Spero che noterai qualche comportamento o indicazione dal sistema remoto.
Se la porta di destinazione è chiusa (ovvero nessun servizio è in ascolto su quella porta), allora dovresti ottenere un pacchetto di errori ICMP in risposta. Usa il tuo sniffer di rete a livello di filo preferito per guardarlo. Oppure, forse il tuo sistema HP-UX registra errori ICMP da qualche parte (mi dispiace, non ho alcuna esperienza con HP-UX).
Sfortunatamente, se la destinazione è protetta da firewall, potresti non ricevere una risposta quando la porta di destinazione è chiusa. L'unico modo infallibile per sapere se l'host remoto è reattivo è eseguire l'applicazione dipendente da dati UDP e controllare il traffico di rete.