Is it possible to check that if the ports are open for the remote system on ubuntu server?

I should able to check if a port(eg:ssh) on my machine is open for the remote machine.

closed as too broad by Jenny D says Reinstate Monica, kasperd, Andrew Schulman, Xavier Lucas, HopelessN00b Mar 25 '15 at 23:27

Please edit the question to limit it to a specific problem with enough detail to identify an adequate answer. Avoid asking multiple distinct questions at once. See the How to Ask page for help clarifying this question. If this question can be reworded to fit the rules in the help center, please edit the question.


use good old telnet:

[user@lappie ~]$ telnet host 22
Trying ip.adr.tld ...
Connected to host  (ip.addr.tld).
Escape character is '^]'.
SSH-2.0-OpenSSH_5.1p1 Debian-5

this is a successful attempt. An unsuccessful one should look like this;

[user@lappie ~]$ telnet host 23
Trying ip.adr.tld ...
telnet: connect to address ip.adr.tld: Connection refused
telnet: Unable to connect to remote host: Connection refused

or with nmap

[user@lappie ~]$ nmap host

Starting Nmap 5.21 ( http://nmap.org ) at 2010-10-07 11:25 CEST
Nmap scan report for host (ip.adr.tld)
Host is up (0.0052s latency).
rDNS record for ip.adr.tld : host.domain.tld
Not shown: 995 closed ports
22/tcp   open  ssh
80/tcp   open  http
111/tcp  open  rpcbind
3000/tcp open  ppp
5666/tcp open  nrpe

Nmap done: 1 IP address (1 host up) scanned in 0.18 seconds
  • Great help!. I felt It's only listing the port no's for which the services are running on the specified host. I checked it stopping the services and running nmap command again. so it didn't list the port which I stopped. Is it really showing the open ports for remote machine? – user53864 Oct 7 '10 at 10:39
  • 1
    @user53864: you should run this test on a remote machine, obviously. – natxo asenjo Oct 7 '10 at 11:00
  • 2
    This will only work for TCP services. – user62491 Oct 27 '11 at 17:07
  • Using nmap on aws machine trigger an abuse report. – Newbee Aug 7 '18 at 13:23

Use NMAP. Example:

nmap example.com

You can use IP address in place of domain name. Here is the full documentation: http://nmap.org/book/man.html

  • 1
    Its only listing the ports on which services are running on a specified machine. – user53864 Oct 7 '10 at 6:05
  • Then you're using it wrong. – Christoffer Hammarström Oct 7 '10 at 8:50
  • @user53864, that is correct. More specifically, it will list all OPEN ports and also describe what services are using them. If you are looking for a specific port, try simply "nmap example.com 22" as natxo asenjo said, which will scan port 22 (SSH) to see if it is open. – Joshua Oct 7 '10 at 14:31

This is simple as :

nc -zw3 domain.tld 22 && echo "opened" || echo "closed"

-w3 is the timeout

  • 1
    nc -vzw3 domain.tld 22 is shorter and might be a bit more informative... – g2mk Oct 25 '18 at 15:31

For a script, I use something like the following:

nmap example.com -p 22 -sV --version-all -oG - | grep -iq '22/open'

The return value tells you whether the port is open!


From this StackOverflow answer:

You seem to be looking for a port scanner such as nmap or netcat, both of which are available for Windows, Linux, and Mac OS X.

For example, check for telnet on a known ip:

  nmap -A -p 23

For example, look for open ports from 20 to 30 on host.example.com:

  nc -z host.example.com 20-30

nmap example.com -p 22


Telnet will only work for TCP services, so if you're trying to see if your DHCP server (UDP/68) is running on a remote machine it won't work. Likewise nmap defaults to only scanning TCP ports.

For UDP ports use:

nmap -sU example.com -p 68


I used following command .It gave output what I wanted. nmap -A IPAddressOfRemoteSystem -p portNumber ex : nmap -A -p 8080 (or) we can check the local ports also

before that first check what are the ports are open/listen mode by using following command.

netstat -ntlp | grep LISTEN

after that

nmap -A localhost -p portNumber

and close any one port for example if mysql is running on 3306 you can stop it by,

sudo service mysql stop

and then,

nmap -A localhost -p 3306

Hope this will helpfull.

Not the answer you're looking for? Browse other questions tagged or ask your own question.