прослушивать данные UDP на локальном порту с помощью netcat

55

netcat -ul -p2115терпит неудачу с заявлением об использовании. Что я делаю неправильно?

Спасибо!

Тайлер
источник

Ответы:

71

Чтобы процитировать ncman страницу :

-lИспользуется для указания того, что nc должен прослушивать входящее соединение, а не инициировать соединение с удаленным хостом. Ошибочно использовать эту опцию в сочетании с опциями -p, -s или -z. Кроме того, любые тайм-ауты, указанные с параметром -w, игнорируются.

Ключевым моментом здесь является то, что -pнельзя сочетать с -lфлагом. При использовании -lфлага используются любые порты, указанные в позиционных аргументах. Так что вместо этого вы можете использовать следующее:

netcat -ul 2115
Андрей М.
источник
19

-pэто неправильно. Это будет работать на дистрибутивах Redhat и Debian:

nc -u -l 2115
Майк
источник
5

По какой-то причине решение Эндрю не сработало для меня. В ходе дальнейших исследований я узнал, что нам нужно добавить флаг -p при локальной работе. Так что следующая команда сработала для меня.

 nc -ulp 2115
Шешанк Кодам
источник
6
Вероятно, потому что есть две отдельные и слегка несовместимые реализации netcat в общем использовании.
womble