Il n'existe pas de port UDP "ouvert", du moins pas dans le sens où la plupart des gens ont l'habitude de l'entendre (qui consiste à répondre quelque chose comme "OK, j'ai accepté votre connexion"). UDP est sans session, donc "un port" (lire : le protocole UDP dans la pile IP du système d'exploitation) ne répondra jamais "succès" de lui-même.
Les ports UDP n'ont que deux états : en écoute ou non. Cela se traduit généralement par "avoir un socket ouvert sur lui par un processus" ou "n'avoir aucun socket ouvert". Ce dernier cas devrait être facile à détecter puisque le système devrait répondre avec un message ICMP Destination Unreachable avec le code=3 (Port inaccessible). Malheureusement, de nombreux pare-feu peuvent rejeter ces paquets et si vous ne recevez rien en retour, vous ne pouvez pas être sûr que le port est dans cet état ou non. N'oublions pas non plus que le protocole ICMP est sans session et n'effectue pas de retransmissions : le paquet Port Unreachable peut très bien être perdu quelque part sur le réseau.
Un port UDP en état d'écoute peut ne pas répondre du tout (le processus qui l'écoute reçoit simplement le paquet et ne transmet rien) ou peut renvoyer quelque chose (si le processus agit à la réception). y s'il agit en répondant via UDP à l'expéditeur original IP:port). Donc, une fois de plus, vous ne pouvez jamais être sûr de l'état de la situation si vous ne recevez rien en retour.
Vous dites que vous pouvez contrôler l'hôte récepteur : cela vous permet de construire votre propre protocole pour vérifier l'accessibilité du port UDP : il suffit de mettre un processus sur l'hôte récepteur qui écoutera sur le port UDP donné. y répondre (ou vous envoyer un e-mail, ou simplement paniquer et unlink()
tout ce qui se trouve sur le système de fichiers de l'hôte... tout ce qui peut attirer votre attention fera l'affaire).
0 votes
J'ai répondu à la question "Tester la connectivité du port UDP". Mais je vous suggère de vous concentrer sur la partie plus spécifique "s'assurer qu'OpenVPN reçoit mes paquets UDP" - cela peut être facilement réalisé en regardant les logs OpenVPN.