A port is a logical entity which acts as an endpoint of communication associated with an application or process on a Linux operating system. It is useful to know which ports are open and running services on a target machine before using them.


netcat (or nc in short) is a powerful and easy-to-use utility that can be employed for just about anything in Linux in relation to TCP, UDP, or UNIX-domain sockets.


We can use it to: open TCP connections, listen on arbitrary TCP and UDP ports, send UDP packets, do port scanning under both IPv4 and IPv6 and beyond.


Using netcat, you can check if a single or multiple or a range of open ports as follows. The command below will help us see if the port 22 is open on the host

$ nc -zv 22


In the command above, the flag:

  • -z – sets nc to simply scan for listening daemons, without actually sending any data to them.
  • -v – enables verbose mode.


The next command will check if ports 80, 22 and 21 are open on the remote host (we can use the hostname as well):

nc -zv 80 22 21


It is also possible to specify a range of ports to be scanned:’

$ nc -zv 20-80


Was this answer helpful? 0 Users Found This Useful (0 Votes)