À en juger par la sortie spécifique que Connection to Connection to 10.1.0.100 53 port [udp/domain] succeeded!
vous utilisez openbsd-netcat.
En regardant le code, le test doit se lier à la socket UDP, c’est-à-dire qu’une connexion est ouverte:
if (vflag || zflag) {
/* For UDP, make sure we are connected. */
if (uflag) {
if (udptest(s) == -1) {
ret = 1;
continue;
}
}
/* Don't look up port if -n. */
if (nflag)
sv = NULL;
else {
sv = getservbyport(
ntohs(atoi(portlist[i])),
uflag ? "udp" : "tcp");
}
fprintf(stderr,
"Connection to %s %s port [%s/%s] "
"succeeded!\n", host, portlist[i],
uflag ? "udp" : "tcp",
sv ? sv->s_name : "*");
Les problèmes les plus difficiles autour de 3 écrit dans le socket ouvert. Il convient de noter que cela ne fonctionne pas pour IPv6 et échoue après la vérification de 100 ports environ.
Donc, bien que l’autre suggestion puisse être valable, je ne pense pas que cela se produise dans ce cas particulier.
udptest
va de même pour la fonction que je recherche et cela répond à ma question. A partir du lien que vous avez fourni "* udptest () * Faites quelques écrit pour voir si le port UDP est là"En fait, ça ne marche pas. Vous pouvez vérifier en faisant:
Donc, avec UDP, ce n'est pas quelque chose que vous pouvez vraiment vérifier à moins que cela ne vous rende des informations.
la source
Eh bien j'ai un avis différent:
Donc, sur cette base, vous pouvez vérifier si la connexion entre a et b sur ce port udp est possible. Plus tard, vous pourrez continuer à vérifier avec tcpdump.
la source
10.12.0.12
? Pourquoi est-il utilisé sur les deux ordinateurs?Il existe un message ICMP pour signaler qu'un port, même un port UDP, est fermé. Donc, si un hôte envoie ce message, on peut supposer que le port est fermé.
https://en.wikipedia.org/wiki/Internet_Control_Message_Protocol#Destination_unreachable
la source