Определите операционную систему, используя значение TTL и пинг
Найдите тип операционной системы, используя TTL и Ping
Знаете ли вы, что мы можем определить, какая операционная система работает на удаленной системе, просто пропинговав ее? Да! В этом кратком руководстве мы увидим, как определить операционную систему с помощью значения TTL и команды Ping. Этот метод должен работать в любой операционной системе, в которой установлена утилита командной строки Ping.
Существует множество команд, приложений и утилит для определения типа ОС удаленной системы. Однако определить тип операционной системы с помощью TTL очень просто!
Вы можете быстро определить, работает ли система под управлением Linux, Windows или любой другой ОС, просмотрев значение TTL из выходных данных команды ping
. Вам не нужны никакие дополнительные приложения для обнаружения ОС удаленной системы.
Значения срока жизни
Значение TTL варьируется в зависимости от версии операционной системы и устройства.
Начальное значение TTL по умолчанию для Linux/Unix составляет 64, а значение TTL для Windows составляет 128.
Вот начальные значения TTL по умолчанию для популярных операционных систем, таких как Linux, FreeBSD, Mac OS, Solaris и Windows.
Значения TTL операционных систем
Полный список значений TTL для разных операционных систем и устройств вы можете просмотреть в конце.
Определить операционную систему удаленного хоста по значению TTL
TTL означает Время жизни. Это значение таймера, включенное в пакеты, отправляемые по сетям на основе TCP/IP, которое сообщает получателям, как долго хранить или использовать пакет или любые включенные в него данные до истечения срока действия. и отбрасывание пакета или данных.
Команда Ping используется для проверки возможности подключения и доступности системы или устройства в локальной или глобальной сети. Команда Ping предустановлена в большинстве операционных систем.
Чтобы просмотреть значение TTL хоста Linux/Windows, просто пропингуйте хост с самого себя или с других систем в сети:
Пример:
ping -c5 localhost
Пример вывода с моего рабочего стола 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
Пинговать хост Linux
Как вы можете видеть, в приведенном выше выводе я получаю значение 64 в качестве значения TTL. Потому что это система Linux.
А как насчет хостов Windows? Давайте посмотрим, что мы получим, если пропингуем систему Windows.
Я собираюсь проверить связь с рабочим столом Windows 10 со своего рабочего стола Fedora. IP-адрес «Моей Windows 10»: 192.168.122.239.
ping -c5 192.168.122.239
Пример вывода:
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
Пинг хоста Windows с хоста Linux
Обратите внимание на значение TTL? Это 128. Значение TTL по умолчанию для ОС Windows — 128.
Начальные значения TTL
В следующей таблице показаны начальные значения TTL по умолчанию для различных операционных систем и устройств.
Device / OS | Version | Protocol | TTL |
AIX | TCP | 60 | |
AIX | UDP | 30 | |
Android | 3.2.1 | TCP and ICMP | 64 |
Android | 5.1.1 | TCP and ICMP | 64 |
AIX | 3.2, 4.1 | ICMP | 255 |
BSDI | BSD/OS 3.1 and 4.0 | ICMP | 255 |
Compa | Tru64 v5.0 | ICMP | 64 |
Cisco | ICMP | 254 | |
DEC Pathworks | V5 | TCP and UDP | 30 |
Foundry | ICMP | 64 | |
FreeBSD | 2.1R | TCP and UDP | 64 |
FreeBSD | 3.4, 4.0 | ICMP | 255 |
FreeBSD | 5 | ICMP | 64 |
HP-UX | 9.0x | TCP and UDP | 30 |
HP-UX | 10.01 | TCP and UDP | 64 |
HP-UX | 10.2 | ICMP | 255 |
HP-UX | 11 | ICMP | 255 |
HP-UX | 11 | TCP | 64 |
Irix | 5.3 | TCP and UDP | 60 |
Irix | 6.x | TCP and UDP | 60 |
Irix | 6.5.3, 6.5.8 | ICMP | 255 |
juniper | ICMP | 64 | |
MPE/IX (HP) | ICMP | 200 | |
Linux | 2.0.x kernel | ICMP | 64 |
Linux | 2.2.14 kernel | ICMP | 255 |
Linux | 2.4 kernel | ICMP | 255 |
Linux | Red Hat 9 | ICMP and TCP | 64 |
MacOS/MacTCP | 2.0.x | TCP and UDP | 60 |
MacOS/MacTCP | X (10.5.6) | ICMP/TCP/UDP | 64 |
NetBSD | ICMP | 255 | |
Netgear FVG318 | ICMP and 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 |
Stratus | TCP_OS | ICMP | 255 |
Stratus | TCP_OS (14.2-) | TCP and UDP | 30 |
Stratus | TCP_OS (14.3+) | TCP and UDP | 64 |
Stratus | STCP | ICMP/TCP/UDP | 60 |
SunOS | 4.1.3/4.1.4 | TCP and UDP | 60 |
SunOS | 5.7 | ICMP and 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 and 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 and UDP | 128 | |
Windows | for Workgroups | TCP and UDP | 32 |
Windows | 95 | TCP and UDP | 32 |
Windows | 98 | ICMP | 32 |
Windows | 98, 98 SE | ICMP | 128 |
Windows | 98 | TCP | 128 |
Windows | NT 3.51 | TCP and UDP | 32 |
Windows | NT 4.0 | TCP and 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 | NT 4 Server SP4 | ICMP | 128 |
Windows | ME | ICMP | 128 |
Windows | 2000 pro | ICMP/TCP/UDP | 128 |
Windows | 2000 family | ICMP | 128 |
Windows | Server 2003 | 128 | |
Windows | XP | ICMP/TCP/UDP | 128 |
Windows | Vista | ICMP/TCP/UDP | 128 |
Windows | 7 | ICMP/TCP/UDP | 128 |
Windows | Server 2008 | ICMP/TCP/UDP | 128 |
Windows | 10 | ICMP/TCP/UDP | 128 |
Начальные значения TTL
Этот метод не всегда может быть точным. Однако это даст представление о базовой операционной системе в удаленной системе. Если вы знаете только IP-адрес удаленной системы, вы можете использовать команду Ping, чтобы получить имя ОС.
- Ссылка
Связанное чтение:
- Отображение вывода команды Ping в формате графика с помощью Gping
- Печать отметки времени с выводом команды Ping в Linux
- Как проверить связь с несколькими хостами одновременно в Linux
- Предварительная типизация: сделайте вывод команды Ping более красивым и удобным для чтения
- Пропинговать несколько серверов и отобразить результат в текстовом интерфейсе, напоминающем верхнюю часть