Ce n'est pas définitif mais nmap le fera avec la commande nmap -O -v
(voir la documentation pour plus de détails) Si vous utilisez Windows ou si vous voulez une interface graphique, regardez zenmap
Si vous êtes sur un réseau IPv4, utilisez simplement le ping. Si la réponse a un TTL de 128, la cible exécute probablement Windows. Si le TTL est 64, la cible exécute probablement une variante d'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
)
)
)
)