O comando ping trabalha com o protocolo ICMP (Internet Control Message Protocol) enviando mensagens. Quando uma maquina de destino recebe um Echo Request ela retorna um Echo Reply.
Para descobrir qual Sistema Operacional está sendo utilizado vamos usar o TTL (Time to Live). Este valor indica quanto tempo o pacote vai ficar circulando antes de ser descartado.
Cada Sistema Operacional trabalha com um TTL padrão e desta forma podemos identificar o tipo de sistema.
GNU/Linux
MS Windows
Valor padrão do TTL para alguns sistemas operacionais:
Unix - TTL - 255
Linux - TTL - 64
Windows - TTL - 128
Com estes números já podemos determinar o Sistema Operacional dos exemplos acima.
Os roteadores estão programados para decrementar o TTL a cada pacote que passa por ele. Se uma maquina Windows for "pingada" e o valor TTL for 126 significa que antes de chegar ao destino existem 2 roteadores.
Referência : http://www.dicas-l.com.br/arquivo/identificar_o_sistema_operacional_usando_ping.php