Skip to content

🔍 Descubra qual SO(Sistema Operacional) esta rodando na maquina através do Ping

License

Notifications You must be signed in to change notification settings

WalderlanSena/checkso

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 

Repository files navigation

CheckSO

Identifique o SO(Sistema Operacional) da máquina "pingada"


❗ Atenção:

Na maioria dos sistemas operacionais é possivel fazer uma alteração no retorno do TTL, que no script é ultilizado para a identificação do sistema. Todavia este script assim como o repositório como um todo é apenas um DICA de ultilização dessa funcionaliade. 😉

O que é o protocolo ICMP ?

ICMP, sigla para o inglês Internet Control Message Protocol, é um protocolo integrante do Protocolo IP, definido pelo RFC 792, é utilizado para fornecer relatórios de erros à fonte original. Qualquer computador que utilize IP precisa aceitar as mensagens ICMP e alterar o seu comportamento de acordo com o erro relatado. Os gateways devem estar programados para enviar mensagens ICMP quando receberem datagramas que provoquem algum erro.
Fonte: Wikipedia

Sobre o Script

"O comando ping trabalha com o protocolo ICMP enviando mensagens. Quando uma maquina de destino recebe um ECHO_REQUEST ela retorna um ECHO_REPLY."
Com isso há utilização do programa ping seria:

Requisição para máquina: Linux

PING 192.168.2.16 (192.168.2.16) 56(84) bytes of data.
64 bytes from 192.168.2.16: icmp_seq=1 ttl=64 time=0.082 ms
64 bytes from 192.168.2.16: icmp_seq=2 ttl=64 time=0.076 ms
64 bytes from 192.168.2.16: icmp_seq=3 ttl=64 time=0.065 ms
64 bytes from 192.168.2.16: icmp_seq=4 ttl=64 time=0.082 ms

Requisição para máquina: Windows

PING 192.168.2.11 (192.168.2.11) 56(84) bytes of data.
64 bytes from 192.168.2.11: icmp_seq=1 ttl=128 time=368 ms
64 bytes from 192.168.2.11: icmp_seq=2 ttl=128 time=113 ms
64 bytes from 192.168.2.11: icmp_seq=3 ttl=128 time=312 ms
64 bytes from 192.168.2.11: icmp_seq=4 ttl=128 time=127 ms


Peceba que o TTL (Time to Live) de cada requisão exerce "um padrão" para cada sistema operacional demostrado acima. Com isso podemos verificar e saber qual sistema a máquina está utilizando.

Exemplo do teste:

if [ $valorSO -eq 64  ]
 then
 echo "[-] Sistema Operacional : aproximadamente - GNU/Linux"
fi

⚠️ Obs:

Também é válido resaltar que a cada vez que um pacote passa por um roteador, o mesmo decrementa 2 no valor do TTL, Sendo assim o valor talvez tenha que ser ajustado,ou simplismente reavaliado as verificações do "test

License

MIT https://opensource.org/licenses/MIT

About

🔍 Descubra qual SO(Sistema Operacional) esta rodando na maquina através do Ping

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages