I am using scheduler/API to scan target machines for Vulnerabilities(Using Nessus). But before the scan starts, I want to check if the servers are available or not for scan. I understand from this question that, "ping sends icmp, that can be filtered by the firewall".

So other than ICMP ping , what can I use to verify if the servers are available or not ?


The good way to test if the server is online and delivering some service... is to test the given service.

So, if they are used as a web server, do an HTTP/HTTPS query and see if you get a reply. You may even want to check the content of the reply to make sure that it comes from the server you thing about, and not some proxy.

If they are mail hosts, do an SMTP or IMAP connection (based on their services), and verify that you get a valid reply.

If they allow remote SSH connection, try to establish an SSH connection.


  • Thanks for the answer. But here I have many different servers, and checking each depending on their service would be difficult and time consuming. Is there any one or two commands using which I can check the availability ? – tech_enthusiast Mar 19 '18 at 1:11
  • You do not provide specific details enough so the main idea is still to test the relevant service of each. Or ssh if you connect to each with ssh, or SNMP queries if each of your server is remotely monitored and has a running SNMP daemon. – Patrick Mevzek Mar 19 '18 at 3:21
  • The main idea is to scan the servers using network scanner such as Nessus (I might now have no information about the servers' services as they are in thousands). But as you might know, network scanners will take a lot of time in case the servers are not up. So, I want to check if servers are up or down before network scanner start the scan. – tech_enthusiast Mar 22 '18 at 6:29

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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