Linux – reliable way to detect OS of the network hosts from linux workstation

linuxmonitoringnmap

How to detect OS of running computers on the network.

We use linux. I want to write wrapper on the python, which will periodically scan network and write results to google spreadsheet. I tried nmap -O and -A, but unfortunately this commands in not reliable. Because

  1. It's depend on running services and nmap database of fingerprints.

  2. If there are no fingerprints in installed nmap database – scanner cannot determine OS version.

Is there no reliable os detection method for windows/linux hosts with free tools?

Best Answer

Here's a list of what you can read into:

  • you could ssh in and use uname -o

  • use you can use ping to sort determine OS, nice link for some OS's here.

  • if your machines are stock then just use nmap, it is the definitive project for this.

  • or you can read into IP Stack Fingerprinting and have a machine intercept packets.