Non è definitivo ma nmap lo farà con il comando nmap -O -v
(vedi documenti per maggiori dettagli) Se utilizzi Windows o desideri una GUI, guarda zenmap
Se sei su una rete IPv4, usa semplicemente ping. Se la risposta ha un TTL di 128, la destinazione sta probabilmente eseguendo Windows. Se il TTL è 64, è probabile che l'obiettivo esegua qualche variante di Unix.
: Presumes ping service enabled on Windows local and remote hosts
:
del _IX.txt, Windows.txt
ping -n 1 [computername|ipaddress] | findstr /i /c:"Reply" > ttl.txt
for /f "tokens=1-9* delims=:=< " %%a in (ttl.txt) do (
if %%i leq 130 (
if %%i geq 100 (
echo Windows & rem or echo %%c >> Windows.txt
) else (
if %%i equ 64 (
echo *IX & rem or echo %%c >> _IX.txt
)
)
)
)