如何判断目标操作系统
1. 被动指纹识别
这是在不与目标系统直接交互或发送特定探测请求的情况下进行识别,通常通过分析网络流量来完成
- TTL (Time-To-Live):这是最常用且最简单的方法。TTL 是 IP 包在网络中存活的最大跳数。不同的操作系统有不同的初始 TTL 值
- Linux/Unix:通常为 64
- Windows:通常为 128
- 老版本 Windows XP:也可能是 64
- 思科设备:通常为 255
- 判断方法:在你的机器上
ping
目标,或者通过tracert
/traceroute
,观察返回包的 TTL 值。例如,你ping
一个服务器,返回的 TTL 是 118,那么初始值很可能是 128,表明目标是 Windows
- TCP 窗口大小 (Window Size):不同的操作系统在进行 TCP 握手时,其初始的 TCP 窗口大小也不同
- Linux:通常为 5840
- Windows:通常为 65535
- 判断方法:通过抓包工具(如 Wireshark)分析 TCP 三次握手的第一个 SYN-ACK 包,观察其 Window Size 字段