Listen to UDP data on local port with netcat

netcat -ul -p2115 fails with a usage statement.

What am I doing wrong?


Solution 1:

To quote the nc man page:

-l Used to specify that nc should listen for an incoming connection rather than initiate a connection to a remote host. It is an error to use this option in conjunction with the -p, -s, or -z options. Additionally, any timeouts specified with the -w option are ignored.

The key here is that -p cannot be combined with the -l flag. When using the -l flag, any ports specified in the positional arguments are used. So instead, you could use the following:

netcat -ul 2115

Solution 2:

-p is be wrong. This will work on Redhat and Debian based distros:

nc -u -l 2115

Solution 3:

For some reason, Andrew's solution didn't work for me. With further research, I learned that we need to add -p flag when working locally. So the following command worked for me.

 nc -ulp 2115