Verificando a porta UDP aberta em C ++

Como posso verificar se uma porta UDP remota está aberta usando o C ++ nativo? Como o UDP é sem conexão, chamarconnect() não é útil. Eu não posso tentar vinculá-lo, pois não é local.nmap também não pode indicar. (Contudonetstat pode descobrir, mas acho que se olha para informações internas sobre portas / arquivos abertos). Existe alguma maneira de detectá-lo? Se eu passar uma camada para baixo no nível da rede, é possível enviar uma mensagem ICMP por C ++ para verificar o status de porta inacessível? Quer dizer, isso daria informações suficientes sobre o status da porta?

Plataforma é Linux.

questionAnswers(2)

yourAnswerToTheQuestion