Es gibt also mehrere Dinge, die netcat genannt werden. Ubuntu hat sogar / etc / alternatives symbolic-link-hackery dafür.
Ich denke, ein Teil Ihres Problems ist, dass UDP keine Sitzungen durchführt. Ich habe einen Teil der Datei /usr/share/doc/netcat-traditional/README.gz kopiert, die das Erklären recht gut macht.
UDP-Verbindungen werden anstelle von TCP geöffnet, wenn -u angegeben wird. Dies sind keine "Verbindungen" an sich, da UDP ein verbindungsloses Protokoll ist, obwohl netcat intern den Mechanismus "Verbundener UDP-Socket" verwendet, der von den meisten Kerneln unterstützt wird. Obwohl netcat behauptet, dass eine ausgehende UDP-Verbindung sofort "offen" ist, werden keine Daten gesendet, bis etwas von der Standardeingabe gelesen wird. Erst danach kann festgestellt werden, ob tatsächlich ein UDP-Server am anderen Ende vorhanden ist, und oft kann man es nicht sagen. Die meisten UDP-Protokolle verwenden Timeouts und Wiederholungsversuche, um ihre Sache zu erledigen, und in vielen Fällen werden sie gar nicht erst antworten. Daher sollten Sie ein Timeout angeben und auf das Beste hoffen.
OK, vielleicht ist das keine sehr gute Erklärung, aber ich könnte es finden.
Wenn Sie dies noch nicht getan haben, möchten Sie vielleicht mit allen möglichen Netcat-Optionen experimentieren, die mit dem Warten zu tun haben ... haben Sie experimentiert mit:
Verwenden Sie -l und -u, um sicherzustellen, dass Sie sich im "Hörmodus" befinden
-vv, um genau zu sehen, was passiert
-q -1 ... was sollte "ewig warten", nachdem EOF empfangen wurde (hoffentlich wieder zuhören?)