用ping命令知道别人电脑的系统信息

TTL
TTL全称“Time To Live”就是存活时间的意思,根据这个可以判断对方计算机的操作系统。在本机中生成ICMP数据包时,系统会给这个ICMP数据包初始化一个TTL值,如Windows XP就会生成一个“128”,如果遇到路由设备转发TTL值就会减1,到达目标地址。如果在转发过程中变为0就丢弃了。

Ping www.a.shifen.com [115.239.211.112](百度的别名,和服务器地址)
①本机向local dns请求www.baidu.com
②local dns向根域请求www.baidu.com,根域返回com.域的服务器IP
③向com.域请求www.baidu.com,com.域返回baidu.com域的服务器IP
④向baidu.com请求www.baidu.com,返回cname www.a.shifen.com和a.shifen.com域的服务器IP
⑤向root域请求www.a.shifen.com
⑥向com.域请求www.a.shife.com
⑦向shifen.com请求
⑧向a.shifen.com域请求
⑨拿到www.a.shifen.com的IP
⑩localdns返回本机www.baidu.com cname www.a.shifen.com 以及 www.a.shifen.com的IP
在这里插入图片描述
如果我们ping 202.102.48.141提示请求超时,通常有如下原因:
1.对方装有防火墙并禁止ICMP回显。
2.对方已关机。
3.本机的IP设置不正确或者网关设置错误。
4.网线不通。
在这里插入图片描述
根据返回的TTL值我们就可以判断所ping电脑的操作系统了
UNIX 及类 UNIX操作系统 ICMP 回显应答的 TTL 字段值为 255
Compaq Tru64 5.0 ICMP 回显应答的 TTL 字段值为 64
Windows 7 ICMP 回显应答的 TTL 字段值为 64
WINXP-32bit 回显应答的 TTL 字段值为 128
微软 Windows NT/2K/2003操作系统 ICMP回显应答的 TTL 字段值为 128
微软 Windows 95 操作系统 ICMP回显应答的 TTL 字段值为 32

当然,返回的TTL值是相同的但有些情况下有所特殊
LINUX Kernel 2.2.x & 2.4.x ICMP 回显应答的 TTL 字段值为 64
FreeBSD 4.1, 4.0, 3.4;
Sun Solaris 2.5.1, 2.6, 2.7, 2.8;
OpenBSD 2.6, 2.7,
NetBSD
HP UX 10.20
ICMP 回显应答的 TTL 字段值为 255

Windows 95/98/98SE
Windows ME
ICMP 回显应答的 TTL 字段值为 32

Windows NT4 WRKS
Windows NT4 Server
Windows 2000
Windows XP
ICMP 回显应答的 TTL 字段值为 128

Guess you like

Origin blog.csdn.net/weixin_45905650/article/details/108490216