Detección de sistema operativo por TTL
Script de detección de sistema operativo usado el ttl dentro de una respuesta ICMP
TTL
#!/bin/bash
#------------------Colores------------
verde="\e[1;32m"
Rojo="\e[1;31m"
purpura="\e[1;35m"
reset="\e[1;0m"
azul="\e[1;34m"
reset="\e[1;0m"
IP=$1
if [ -z "$IP" ];then
echo -e "${Rojo}[+] Coloca un valor de entrada en formato de ip${reset}"
echo -e "${verde}[+] Ej:${reset} ${purpura}1.2.3.4${reset}"
exit 1
fi
init=$(ping -c 1 "$IP")
echo "******************************************************************"
echo -e "${verde}[+] Resultado de la ejecucion${reset}"
echo -e "${purpura}$init${reset}"
echo "******************************************************************"
#Extratemos el ttl y lo comparamos
ttl=$(ping -c 1 "$IP" | grep -Poi "ttl=[1-9]*"|grep -Pow "\d+")
if [ -z "$ttl" ];then
echo -e "${Rojo}[+] Vaya parece que la Ip no es accesible${reset}"
echo -e "[${azul}info${reset}] ${purpura}Valida la direccion ${azul}$IP${reset}${purpura} y comprueba que este activa${reset}"
exit 2
fi
echo -e "${verde}[+] TTL detectado de valor:${reset} ${purpura}ttl=$ttl${reset}"
if [ "$ttl" -ge 126 ];then
echo -e "${azul}[+] Posible sistema detectado:${reset} ${purpura}Windows${reset}"
else
if [ "$ttl" -ge 62 ]; then
echo -e "${azul}[+] Posible sistema detectado:${reset} ${purpura}Linux${reset}"
fi
fi

Last updated