If you would like to discover remote machine’s operating system, there is an option to do this with nmap.
Suppose you want to scan a machine with ip address 192.168.1.10.
All you have to do is open your terminal and type the command below:
(warning: this command needs administrative rights. – I use Ubuntu.)
sudo nmap -O 192.168.1.10
and you will get an answer like this from nmap:
Starting Nmap 5.21 ( http://nmap.org ) at 2011-12-22 18:52 EET
Nmap scan report for 192.168.1.2
Host is up (0.00027s latency).
Not shown: 995 filtered ports
PORT STATE SERVICE
80/tcp open http
135/tcp open msrpc
139/tcp open netbios-ssn
445/tcp open microsoft-ds
912/tcp open unknown
MAC Address: 40:61:86:4B:17:48 (Micro-star Int’l Co.)
Warning: OSScan results may be unreliable because we could not find at least 1 open and 1 closed port
Device type: general purpose
Running: Microsoft Windows Vista|2008|7
OS details: Microsoft Windows Vista SP0 or SP1, Server 2008 SP1, or Windows 7
Network Distance: 1 hop
OS detection performed. Please report any incorrect results at http://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 14.33 seconds