Discovering remote OS
I need to make a tool to use in my office. Many times users need to know what machines are in Linux and what are in Windows. Is there any way to do this? Is there any protocol?
We work with parallel computing, and need to create dynamic lists of available hosts to create a cluster. I could use tools, like nmap, I think, but I want to do something on my own.
Thanks any kind of help.
Have each box run a little app that simply sends whatever OS it's running to anyone who connects to it on a certain port. Try to connect to that port on every computer in the office and see who's running what.
I think nmap dose OS detection by examining the tcp packets, different OSes probably implament the tcp/ip stack in slightly different ways.
Heres a better idea. Assign different host names to linux and windows machines. Here our machines are named Dev-WinXp-09. Theres probably an easy way to resolve the name of a computer given its IP address, so if you adopt (or already have) a similar naming structure this should be pretty easy.
These are very good ideas! Thanks to you both! :D