Saviez-vous que nous pouvons identifier quel système d'exploitation s'exécute sur un système distant en lui envoyant simplement un ping ? Oui! Dans ce bref guide, nous verrons comment déterminer le système d'exploitation avec TTL valeur et Ping commande. Cette méthode devrait fonctionner sur n'importe quel système d'exploitation disposant de l'utilitaire de ligne de commande Ping.
Il existe de nombreuses commandes, applications et utilitaires permettant de connaître le système d'exploitation d'un système distant. Cependant, trouver le type de système d'exploitation avec TTL est super facile !
Vous pouvez rapidement détecter si un système fonctionne avec Linux, ou Windows ou tout autre système d'exploitation en regardant la valeur TTL à partir de la sortie du ping
commande. Vous n'avez besoin d'aucune application supplémentaire pour détecter le système d'exploitation d'un système distant.
La valeur TTL varie en fonction de la version d'un système d'exploitation et d'un périphérique.
La valeur TTL initiale par défaut pour Linux/Unix est 64 , et valeur TTL pour Windows est 128 .
Voici les valeurs TTL initiales par défaut pour les systèmes d'exploitation populaires tels que Linux, FreeBSD, Mac OS, Solaris et Windows.

Vous pouvez afficher la liste complète des valeurs TTL pour différents systèmes d'exploitation et appareils à la fin.
Détecter le système d'exploitation de l'hôte distant avec la valeur TTL
TTL, signifie Time to live , est une valeur de minuterie incluse dans les paquets envoyés sur des réseaux TCP/IP qui indique aux destinataires combien de temps conserver ou utiliser le paquet ou l'une de ses données incluses avant d'expirer et de supprimer le paquet ou les données.
Et la commande Ping est utilisée pour vérifier la connectivité et l'accessibilité du système ou de l'appareil sur le réseau local ou le réseau étendu. La commande Ping est préinstallée sur la plupart des systèmes d'exploitation.
Pour afficher la valeur TTL d'un hôte Linux/Windows, envoyez simplement un ping à l'hôte depuis lui-même ou depuis d'autres systèmes du réseau :
Exemple :
$ ping -c5 localhost
Exemple de sortie de mon bureau 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

Comme vous pouvez le voir, j'obtiens 64 comme valeur TTL dans la sortie ci-dessus. Parce que c'est un système Linux.
Qu'en est-il des hôtes Windows ? Voyons ce que nous obtenons si nous pinçons un système Windows.
Je vais envoyer un ping au bureau Windows 10 à partir de mon bureau Fedora. L'adresse IP de Mon Windows 10 est 192.168.122.239 .
$ ping -c5 192.168.122.239
Exemple de résultat :
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

Notez la valeur TTL ? Il s'agit de 128. La valeur TTL par défaut pour le système d'exploitation Windows est 128.
Valeurs TTL initiales
Le tableau suivant indique les valeurs TTL initiales par défaut de divers systèmes d'exploitation et périphériques.
Appareil/SE | Version | Protocole | TTL |
AIX | TCP | 60 | |
AIX | UDP | 30 | |
Android | 3.2.1 | TCP et ICMP | 64 |
Android | 5.1.1 | TCP et ICMP | 64 |
AIX | 3.2, 4.1 | ICMP | 255 |
BSDI | BSD/OS 3.1 et 4.0 | ICMP | 255 |
Entreprise | Tru64 v5.0 | ICMP | 64 |
Cisco | ICMP | 254 | |
Trajectoires DEC | V5 | TCP et UDP | 30 |
Fonderie | ICMP | 64 | |
FreeBSD | 2.1R | TCP et UDP | 64 |
FreeBSD | 3.4, 4.0 | ICMP | 255 |
FreeBSD | 5 | ICMP | 64 |
HP-UX | 9.0x | TCP et UDP | 30 |
HP-UX | 10.01 | TCP et UDP | 64 |
HP-UX | 10.2 | ICMP | 255 |
HP-UX | 11 | ICMP | 255 |
HP-UX | 11 | TCP | 64 |
Irix | 5.3 | TCP et UDP | 60 |
Irix | 6.x | TCP et UDP | 60 |
Irix | 6.5.3, 6.5.8 | ICMP | 255 |
genévrier | ICMP | 64 | |
MPE/IX (HP) | ICMP | 200 | |
Linux | noyau 2.0.x | ICMP | 64 |
Linux | noyau 2.2.14 | ICMP | 255 |
Linux | noyau 2.4 | ICMP | 255 |
Linux | Red Hat 9 | ICMP et TCP | 64 |
MacOS/MacTCP | 2.0.x | TCP et UDP | 60 |
MacOS/MacTCP | X (10.5.6) | ICMP/TCP/UDP | 64 |
NetBSD | ICMP | 255 | |
Netgear FVG318 | ICMP et UDP | 64 | |
OpenBSD | 2.6 &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 |
Strates | TCP_OS | ICMP | 255 |
Strates | TCP_OS (14.2-) | TCP et UDP | 30 |
Strates | TCP_OS (14.3+) | TCP et UDP | 64 |
Strates | STCP | ICMP/TCP/UDP | 60 |
SunOS | 4.1.3/4.1.4 | TCP et UDP | 60 |
SunOS | 5.7 | ICMP et TCP | 255 |
Ultrix | V4.1/V4.2A | TCP | 60 |
Ultrix | V4.1/V4.2A | UDP | 30 |
Ultrix | V4.2 – 4.5 | ICMP | 255 |
VMS/Multinet | TCP et UDP | 64 | |
VMS/TCPware | TCP | 60 | |
VMS/TCPware | UDP | 64 | |
VMS/Wollongong | 1.1.1.1 | TCP | 128 |
VMS/Wollongong | 1.1.1.1 | UDP | 30 |
VMS/UCX | TCP et UDP | 128 | |
Windows | pour les groupes de travail | TCP et UDP | 32 |
Windows | 95 | TCP et UDP | 32 |
Windows | 98 | ICMP | 32 |
Windows | 98, 98 SE | ICMP | 128 |
Windows | 98 | TCP | 128 |
Windows | NT 3.51 | TCP et UDP | 32 |
Windows | NT 4.0 | TCP et UDP | 128 |
Windows | NT 4.0 SP5- | 32 | |
Windows | NT 4.0 SP6+ | 128 | |
Windows | NT 4 WRKS SP 3, SP 6a | ICMP | 128 |
Windows | Serveur NT 4 SP4 | ICMP | 128 |
Windows | MOI | ICMP | 128 |
Windows | 2000 pro | ICMP/TCP/UDP | 128 |
Windows | Famille 2000 | ICMP | 128 |
Windows | Serveur 2003 | 128 | |
Windows | EXP | ICMP/TCP/UDP | 128 |
Windows | Vista | ICMP/TCP/UDP | 128 |
Windows | 7 | ICMP/TCP/UDP | 128 |
Windows | Serveur 2008 | ICMP/TCP/UDP | 128 |
Windows | 10 | ICMP/TCP/UDP | 128 |
Cette méthode peut ne pas être précise tout le temps. Cependant, cela donnera une idée du système d'exploitation sous-jacent dans un système distant. Si vous ne connaissez que l'adresse IP d'un système distant, vous pouvez utiliser la commande Ping pour obtenir le nom du système d'exploitation.
- Lien de référence
Lire connexe :
- Afficher la sortie de la commande Ping sous forme de graphique à l'aide de Gping
- Imprimer l'horodatage avec la sortie de la commande Ping sous Linux
- Comment envoyer un ping à plusieurs hôtes à la fois sous Linux
- Prettyping - Rendre la sortie de la commande Ping plus jolie et plus facile à lire
- Pingez plusieurs serveurs et affichez la sortie dans l'interface utilisateur textuelle supérieure