GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo identificar el sistema operativo usando el valor TTL y el comando ping

¿Sabía que podemos identificar qué sistema operativo se está ejecutando en un sistema remoto simplemente haciendo ping? ¡Sí! En esta breve guía, veremos cómo determinar el sistema operativo con TTL valor y Ping dominio. Este método debería funcionar en cualquier sistema operativo que tenga la utilidad de línea de comando Ping.

Existen muchos comandos, aplicaciones y utilidades para averiguar el sistema operativo de un sistema remoto. Sin embargo, ¡encontrar el tipo de sistema operativo con TTL es muy fácil!

Puede detectar rápidamente si un sistema se ejecuta con Linux, Windows o cualquier otro sistema operativo observando el valor TTL de la salida del ping dominio. No necesita ninguna aplicación adicional para detectar el sistema operativo de un sistema remoto.

El valor TTL varía según la versión del sistema operativo y el dispositivo.

El valor TTL inicial predeterminado para Linux/Unix es 64 y valor TTL para Windows es 128 .

Estos son los valores TTL iniciales predeterminados para sistemas operativos populares como Linux, FreeBSD, Mac OS, Solaris y Windows.

Puede ver la lista completa de valores TTL para diferentes sistemas operativos y dispositivos al final.

Detectar el sistema operativo del host remoto con valor TTL

TTL, significa Tiempo de vida , es un valor de temporizador incluido en los paquetes enviados a través de redes basadas en TCP/IP que les dice a los destinatarios cuánto tiempo deben retener o usar el paquete o cualquiera de sus datos incluidos antes de caducar y descartar el paquete o los datos.

Y el comando Ping se usa para verificar la conectividad y la accesibilidad del sistema o dispositivo en la red de área local o en la red de área amplia. El comando ping viene preinstalado en la mayoría de los sistemas operativos.

Para ver el valor TTL de un host Linux/Windows, simplemente haga ping al host desde sí mismo o desde otros sistemas en la red:

Ejemplo:

$ ping -c5 localhost

Salida de muestra de mi escritorio Fedora:

PING localhost(localhost (::1)) 56 data bytes
64 bytes from localhost (::1): icmp_seq=1 ttl=64 time=0.063 ms
64 bytes from localhost (::1): icmp_seq=2 ttl=64 time=0.057 ms
64 bytes from localhost (::1): icmp_seq=3 ttl=64 time=0.070 ms
64 bytes from localhost (::1): icmp_seq=4 ttl=64 time=0.067 ms
64 bytes from localhost (::1): icmp_seq=5 ttl=64 time=0.056 ms

--- localhost ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4096ms
rtt min/avg/max/mdev = 0.056/0.062/0.070/0.005 ms

Como puede ver, obtengo 64 como valor TTL en la salida anterior. Porque es un sistema Linux.

¿Qué pasa con los hosts de Windows? Veamos qué obtenemos si hacemos ping a un sistema Windows.

Voy a hacer ping al escritorio de Windows 10 desde mi escritorio de Fedora. La dirección IP de Mi Windows 10 es 192.168.122.239 .

$ ping -c5 192.168.122.239

Salida de muestra:

PING 192.168.122.239 (192.168.122.239) 56(84) bytes of data.
64 bytes from 192.168.122.239: icmp_seq=1 ttl=128 time=6.85 ms
64 bytes from 192.168.122.239: icmp_seq=2 ttl=128 time=0.510 ms
64 bytes from 192.168.122.239: icmp_seq=3 ttl=128 time=0.601 ms
64 bytes from 192.168.122.239: icmp_seq=4 ttl=128 time=0.541 ms
64 bytes from 192.168.122.239: icmp_seq=5 ttl=128 time=0.558 ms

--- 192.168.122.239 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4088ms
rtt min/avg/max/mdev = 0.510/1.812/6.851/2.519 ms

Tenga en cuenta el valor TTL? Es 128. El valor TTL predeterminado para el sistema operativo Windows es 128.

Valores TTL iniciales

La siguiente tabla muestra los valores TTL iniciales predeterminados de varios sistemas operativos y dispositivos.

Es posible que este método no sea preciso todo el tiempo. Sin embargo, dará una idea del sistema operativo subyacente en un sistema remoto. Si solo conoce la dirección IP de un sistema remoto, puede usar el comando Ping para obtener el nombre del sistema operativo.

  • Enlace de referencia

Lectura relacionada:

  • Mostrar la salida del comando Ping en formato gráfico mediante Gping
  • Imprimir marca de tiempo con salida de comando ping en Linux
  • Cómo hacer ping en varios hosts a la vez en Linux
  • Prettyping:haga que la salida del comando Ping sea más bonita y fácil de leer
  • Haga ping a varios servidores y muestre el resultado en la interfaz de usuario de texto superior

Linux
  1. Uso del comando timedatectl para cambiar la hora y la fecha en el sistema RHEL7 Linux

  2. Cómo identificar directorios de trabajo usando variables y caracteres de shell

  3. Cómo instalar y usar el comando ping en Linux

  4. ¿Cómo obtener el sistema operativo actual en MSBuild?

  5. Cómo verificar el sistema operativo y la versión usando un comando de Linux

Cómo eliminar archivos y directorios usando la línea de comandos de Linux

Cómo clonar y restaurar una partición de Linux usando el comando dd

Cómo instalar y usar el comando Ping en Linux

Cómo usar el comando DD y cómo grabar ISO usándolo

Cómo instalar y usar el comando Ack en el sistema Linux

Cómo obtener información de hardware en Linux usando el comando dmidecode

    Dispositivo/SO Versión Protocolo TTL
    AIX TCP 60
    AIX UDP 30
    Android 3.2.1 TCP e ICMP 64
    Android 5.1.1 TCP e ICMP 64
    AIX 3.2, 4.1 ICMP 255
    BSDI BSD/OS 3.1 y 4.0 ICMP 255
    Compañía Tru64 v5.0 ICMP 64
    Cisco ICMP 254
    Pautas DEC V5 TCP y UDP 30
    Fundición ICMP 64
    FreeBSD 2.1R TCP y UDP 64
    FreeBSD 3.4, 4.0 ICMP 255
    FreeBSD 5 ICMP 64
    HP-UX 9.0x TCP y UDP 30
    HP-UX 10.01 TCP y UDP 64
    HP-UX 10.2 ICMP 255
    HP-UX 11 ICMP 255
    HP-UX 11 TCP 64
    Irix 5.3 TCP y UDP 60
    Irix 6.x TCP y UDP 60
    Irix 6.5.3, 6.5.8 ICMP 255
    enebro ICMP 64
    EMP/IX (HP) ICMP 200
    Linux núcleo 2.0.x ICMP 64
    Linux núcleo 2.2.14 ICMP 255
    Linux núcleo 2.4 ICMP 255
    Linux Sombrero rojo 9 ICMP y TCP 64
    Mac OS/MacTCP 2.0.x TCP y UDP 60
    Mac OS/MacTCP X (10.5.6) ICMP/TCP/UDP 64
    NetBSD ICMP 255
    Netgear FVG318 ICMP y UDP 64
    OpenBSD 2.6 y 2.7 ICMP 255
    OpenVMS 07.01.2002 ICMP 255
    OS/2 TCP/IP 3.0 64
    OSF/1 V3.2A TCP 60
    OSF/1 V3.2A UDP 30
    Solaris 2.5.1, 2.6, 2.7, 2.8 ICMP 255
    Solaris 2.8 TCP 64
    Estratos TCP_OS ICMP 255
    Estratos TCP_OS (14.2-) TCP y UDP 30
    Estratos TCP_OS (14.3+) TCP y UDP 64
    Estratos STCP ICMP/TCP/UDP 60
    Sun OS 4.1.3/4.1.4 TCP y UDP 60
    SunOS 5.7 ICMP y TCP 255
    Ultrix V4.1/V4.2A TCP 60
    Ultrix V4.1/V4.2A UDP 30
    Ultrix V4.2 – 4.5 ICMP 255
    VMS/multired TCP y UDP 64
    VMS/TCPware TCP 60
    VMS/TCPware UDP 64
    SVM/Wollongong 1.1.1.1 TCP 128
    SVM/Wollongong 1.1.1.1 UDP 30
    VMS/UCX TCP y UDP 128
    Windows para grupos de trabajo TCP y UDP 32
    Windows 95 TCP y UDP 32
    Windows 98 ICMP 32
    Windows 98, 98 SE ICMP 128
    Windows 98 TCP 128
    Windows NT 3.51 TCP y UDP 32
    Windows NT 4.0 TCP y UDP 128
    Windows NT 4.0 SP5- 32
    Windows NT 4.0 SP6+ 128
    Windows NT 4 OBRAS SP 3, SP 6a ICMP 128
    Windows Servidor NT 4 SP4 ICMP 128
    Windows YO ICMP 128
    Windows 2000 pro ICMP/TCP/UDP 128
    Windows 2000 familia ICMP 128
    Windows Servidor 2003 128
    Windows XP ICMP/TCP/UDP 128
    Windows Vista ICMP/TCP/UDP 128
    Windows 7 ICMP/TCP/UDP 128
    Windows Servidor 2008 ICMP/TCP/UDP 128
    Windows 10 ICMP/TCP/UDP 128