Назад | Перейти на главную страницу

Передача Netcat UDP никогда не останавливается, пока не будет завершена с помощью CTRL + C

Я пытаюсь отправить данные через машину, используя Netcat с помощью UDP вместо того TCP.

Теперь, в отличие от TCP (Netcat через TCP), который раньше отмечал завершение передачи файла выходом из nc процесс UDP (Netcat over UDP), кажется, никогда не завершается, если не выполняется принудительно с помощью CTRL + C

пример

$ pv upd_mnl_client.rb | NC -u 192.168.1.117 5555

385 B 0:00:00 [39,8 КБ / с] [====================================== ==============================>] 100%
^ C ## Я должен это сделать, потому что процесс никогда не завершается

Любая подсказка, что мне не хватает выше.

Вы не указали --send-only, поэтому у него нет способа узнать, закончили ли вы получать. Если вы хотите, чтобы он тоже получал данные, вам придется сообщить об этом, когда вы закончите. Если вы не хотите, чтобы он получал данные, укажите --send-only.

Вы можете использовать для этого функцию тайм-аута UDP. Например:

nc -ul -i5 <port>

Это отключит приемник UDP через 5 секунд.