Portanto, existem várias coisas chamadas netcat; O ubuntu tem até mesmo / etc / alternatives link simbólico para ele.
Acho que parte do seu problema é que o UDP não faz sessões; Eu copiei parte do arquivo /usr/share/doc/netcat-traditional/README.gz abaixo, o que explica muito bem.
UDP connections are opened instead of TCP when -u is specified. These aren't really "connections" per se since UDP is a connectionless protocol, although netcat does internally use the "connected UDP socket" mechanism that most kernels support. Although netcat claims that an outgoing UDP connection is "open" immediately, no data is sent until something is read from standard input. Only thereafter is it possible to determine whether there really is a UDP server on the other end, and often you just can't tell. Most UDP protocols use timeouts and retries to do their thing and in many cases won't bother answering at all, so you should specify a timeout and hope for the best. You will get more out of UDP connections if standard input is fed from a source of data that looks like various kinds of server requests.
OK, então talvez isso não seja uma grande explicação, mas é o que eu pude encontrar.
Se ainda não o fez, talvez queira experimentar todas as opções do netcat que possa encontrar relacionadas com a espera ... experimentou:
-
usando -l e também -u para garantir que você esteja no modo "ouvindo"
-
-vv para ver exatamente o que está acontecendo
-
-q -1 ... o que deve "esperar para sempre" mesmo depois de receber EOF (esperamos, ouvindo de novo?)