101 votes

Tester la connectivité du port UDP

J'essaie de tester si je peux accéder à un port particulier sur un serveur distant (auquel j'ai accès) par UDP.

Les deux serveurs sont tournés vers l'Internet. J'utilise netcat pour avoir un certain port d'écoute.

J'utilise ensuite nmap pour vérifier ce port afin de voir s'il est ouvert, mais il ne semble pas l'être.

Iptables est désactivé.

Avez-vous une idée de la raison pour laquelle cela pourrait être le cas ? Je vais éventuellement configurer un tunnel VPN, mais comme je suis très novice en matière de tunnels, je veux m'assurer que j'ai la connectivité sur le port UDP 1194 avant d'avancer.

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.

8voto

Koray Güclü Points 171

Vous pouvez scanner les ports udp en utilisant la commande suivante

nmap -sU -v <hostname or ip>

1voto

ewwhite Points 193555

Vous pouvez le faire avec netcat (nc) ou iperf en supposant que vous ayez une autre machine à tester en dehors du réseau. Mon choix se porterait sur une nmap Scan UDP depuis un système extérieur à votre environnement. Quelle était votre ligne de commande nmap ? Y a-t-il des pare-feu matériels ou d'autres dispositifs dans le mélange ?

1voto

David Waddell Points 11

J'ai une approche simple d'esprit. Si le serveur UDP ne renvoie pas les données attendues, j'arrête simplement de collecter les dgrammes, en supposant qu'il est tombé en panne :

LINE: while(1)
{
    my $line;
    my $flags;

    local $SIG{ALRM} = sub {die "exceeded timeout for recv"};
    alarm 5;
    eval {
        $socket->recv($line,2024,$flags);
    };

    unless($line =~ /\{.*\}/){
        if($verbose){
            print STDERR "Invalid or empty dgram:\n",'"', $line, '"',"\n";
        }

        last LINE;
    }
}

1voto

Igor Vaschuk Points 363

En fait, si le serveur écoute le port 6111, Netcat l'indique explicitement :

# nc -ul 6111
Ncat: bind to :::6111: Address already in use. QUITTING.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X