您知道我们可以通过简单地 ping 来识别远程系统上正在运行的操作系统吗? 是的! 在这个简短的指南中,我们将看到如何确定操作系统 TTL 价值和 平 命令。 此方法应该适用于任何具有 Ping 命令行实用程序的操作系统。
存在大量命令、应用程序和实用程序来查找远程系统的操作系统。 但是,使用 TTL 查找操作系统类型非常容易!
通过查看来自输出的 TTL 值,您可以快速检测系统是否运行 Linux、Windows 或任何其他操作系统。 ping
命令。 您不需要任何额外的应用程序来检测远程系统的操作系统。
TTL 值取决于操作系统和设备的版本。
默认的初始 TTL 值 Linux/Unix 是 64, 和 TTL 值 视窗 是 128.
以下是 Linux、FreeBSD、Mac OS、Solaris 和 Windows 等流行操作系统的默认初始 TTL 值。
您可以在最后查看不同操作系统和设备的 TTL 值的完整列表。
用TTL值检测远程主机的操作系统
TTL,代表 生活时间, 是包含在通过基于 TCP/IP 的网络发送的数据包中的计时器值,它告诉接收者在过期和丢弃数据包或数据之前保留或使用数据包或其包含的任何数据的时间。
Ping 命令用于检查局域网或广域网上的系统或设备的连通性和可达性。 大多数操作系统中都预装了 Ping 命令。
要查看 Linux/Windows 主机的 TTL 值,只需从主机本身或网络上的其他系统 ping 主机:
例子:
$ 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
如你所见,我得到 64 作为上述输出中的 TTL 值。 因为它是一个Linux系统。
Windows 主机呢? 让我们看看如果我们 ping Windows 系统会得到什么。
我将从我的 Windows 10 桌面 ping Fedora 桌面。 我的 Windows 10 的 IP 地址是 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
请注意 TTL 值? 它是 128。 Windows 操作系统的默认 TTL 值为 128。
初始 TTL 值
下表显示了各种操作系统和设备的默认初始 TTL 值。
设备/操作系统 | 版本 | 协议 | TTL |
艾克斯 | TCP | 60 | |
艾克斯 | UDP | 30 | |
安卓 | 3.2.1 | TCP 和 ICMP | 64 |
安卓 | 5.1.1 | TCP 和 ICMP | 64 |
艾克斯 | 3.2、4.1 | ICMP | 255 |
BSDI | BSD / 操作系统 3.1 和 4.0 | ICMP | 255 |
康帕 | Tru64 v5.0 | ICMP | 64 |
思科 | ICMP | 254 | |
DEC Pathworks | V5 | TCP 和 UDP | 30 |
铸造厂 | ICMP | 64 | |
FreeBSD | 2.1R | TCP 和 UDP | 64 |
FreeBSD | 3.4、4.0 | ICMP | 255 |
FreeBSD | 5 | ICMP | 64 |
用户体验 | 9.0x | TCP 和 UDP | 30 |
用户体验 | 10.01 | TCP 和 UDP | 64 |
用户体验 | 10.2 | ICMP | 255 |
用户体验 | 11 | ICMP | 255 |
用户体验 | 11 | TCP | 64 |
鸢尾花 | 5.3 | TCP 和 UDP | 60 |
鸢尾花 | 6.x | TCP 和 UDP | 60 |
鸢尾花 | 6.5.3、6.5.8 | ICMP | 255 |
杜松 | ICMP | 64 | |
MPE/IX (HP) | ICMP | 200 | |
Linux | 2.0.x 内核 | ICMP | 64 |
Linux | 2.2.14 内核 | ICMP | 255 |
Linux | 2.4 内核 | ICMP | 255 |
Linux | 红帽 9 | ICMP 和 TCP | 64 |
MacOS/MacTCP | 2.0.x | TCP 和 UDP | 60 |
MacOS/MacTCP | X (10.5.6) | ICMP/TCP/UDP | 64 |
NetBSD | ICMP | 255 | |
网件FVG318 | ICMP 和 UDP | 64 | |
开放式BSD | 2.6 & 2.7 | ICMP | 255 |
开放式虚拟机 | 07.01.2002 | ICMP | 255 |
操作系统/2 | TCP/IP 3.0 | 64 | |
OSF/1 | V3.2A | TCP | 60 |
OSF/1 | V3.2A | UDP | 30 |
索拉里斯 | 2.5.1、2.6、2.7、2.8 | ICMP | 255 |
索拉里斯 | 2.8 | TCP | 64 |
层云 | 操作系统 | ICMP | 255 |
层云 | TCP_OS (14.2-) | TCP 和 UDP | 30 |
层云 | TCP_OS (14.3+) | TCP 和 UDP | 64 |
层云 | STCP | ICMP/TCP/UDP | 60 |
太阳操作系统 | 4.1.3/4.1.4 | TCP 和 UDP | 60 |
太阳操作系统 | 5.7 | ICMP 和 TCP | 255 |
极品 | V4.1 / V4.2A | TCP | 60 |
极品 | V4.1 / V4.2A | UDP | 30 |
极品 | V4.2 – 4.5 | ICMP | 255 |
虚拟机/多网 | TCP 和 UDP | 64 | |
虚拟机/TCPware | TCP | 60 | |
虚拟机/TCPware | UDP | 64 | |
VMS/卧龙岗 | 1.1.1.1 | TCP | 128 |
VMS/卧龙岗 | 1.1.1.1 | UDP | 30 |
虚拟机/UCX | TCP 和 UDP | 128 | |
视窗 | 工作组 | TCP 和 UDP | 32 |
视窗 | 95 | TCP 和 UDP | 32 |
视窗 | 98 | ICMP | 32 |
视窗 | 98, 98 东南 | ICMP | 128 |
视窗 | 98 | TCP | 128 |
视窗 | 新台币 3.51 | TCP 和 UDP | 32 |
视窗 | 新台币 4.0 | TCP 和 UDP | 128 |
视窗 | NT 4.0 SP5- | 32 | |
视窗 | NT 4.0 SP6 + | 128 | |
视窗 | NT 4 WRKS SP 3、SP 6a | ICMP | 128 |
视窗 | NT 4 服务器 SP4 | ICMP | 128 |
视窗 | 我 | ICMP | 128 |
视窗 | 2000 专业版 | ICMP/TCP/UDP | 128 |
视窗 | 2000个家庭 | ICMP | 128 |
视窗 | 服务器 2003 | 128 | |
视窗 | 经验值 | ICMP/TCP/UDP | 128 |
视窗 | 远景 | ICMP/TCP/UDP | 128 |
视窗 | 7 | ICMP/TCP/UDP | 128 |
视窗 | 服务器 2008 | ICMP/TCP/UDP | 128 |
视窗 | 10 | ICMP/TCP/UDP | 128 |
初始 TTL 值
这种方法可能并不总是准确的。 但是,它将提供远程系统中底层操作系统的概念。 如果您只知道远程系统的 IP 地址,则可以使用 Ping 命令来获取操作系统的名称。
- 参考链接
相关阅读:
- 使用 Gping 以图形格式显示 Ping 命令输出
- 在 Linux 中使用 Ping 命令输出打印时间戳
- 如何在 Linux 中一次 Ping 多个主机
- Prettyping – 使 Ping 命令的输出更漂亮、更易于阅读
- Ping 多个服务器并在类似顶部的文本 UI 中显示输出
CLI命令行检测操作系统识别操作系统LinuxLinux命令Linux提示Ping命令生存时间TTL