Není to definitivní, ale nmap to udělá příkazem nmap -O -v (další podrobnosti viz dokumenty) Pokud používáte Windows nebo chcete gui, podívejte se na zenmap 
Pokud jste v síti IPv4, stačí použít ping. Pokud má odpověď TTL 128, cíl pravděpodobně používá systém Windows. Pokud je TTL 64, cíl pravděpodobně používá nějakou variantu Unixu.
: 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
          )
       )
    )
)
 
            Jak zjistit, které verze balíčku mohu nainstalovat na APT         
            Jaký souborový systém použít mezi OSX a Linuxem