本文最后更新于90 天前,其中的信息可能已经过时。
操作系统
TTL
| 操作系统类型 | 默认 TTL 值 | 典型响应示例 |
|---|---|---|
| Windows | 128 | Reply from x.x.x.x: bytes=32 time<1ms TTL=128 |
| Linux/Unix | 64 | 64 bytes from x.x.x.x: icmp_seq=1 ttl=64 time=0.5ms |
| macOS | 64 | 同 Linux |
| Cisco 设备 | 255 | 网络设备专属 TTL |
**注意**:TTL 值可被人为修改(如 Linux 可通过 sysctl net.ipv4.ip_default_ttl 调整),仅作为初步判断依据。
NMAP
Nmap 的 -O 参数专门用于 OS 探测,通过发送多种探针包分析响应特征。
# 基础 OS 探测
nmap -O 目标IP
# 更详细的探测(适合防火墙/IDS 环境)
nmap -O --osscan-guess 目标IP # 当无法确定时给出最可能的 OS
nmap -O -T4 目标IP # 加快扫描速度(T4 为中等速度模板)
nmap -Pn -O 目标IP # 针对开启了ICMP包过滤防火墙

这里加-Pn是因为目标为Windows服务器开启防火墙后会阻断ICMP包。
监听其他应用层协议
SSH:Linux/macOS 默认开启 SSH,SSH 握手包会包含 OS 版本(如 SSH-2.0-OpenSSH_7.6p1 Ubuntu-4ubuntu0.7 → Ubuntu);Windows 需手动安装 SSH 服务,且版本特征不同。
SMB:Windows 主机默认开启 SMB 服务(445 端口),可通过 SMB 协议版本判断(如 SMBv1 对应 Windows XP/7,SMBv3 对应 Windows 10/Server 2019)。
工具:Wireshark 过滤规则 smb || ssh
不同操作系统默认开放的端口和服务存在明显差异,可通过端口扫描结果间接推断 OS。
| 端口 | 典型服务 | 关联操作系统 |
|---|---|---|
| 135/139/445 | RPC/SMB | Windows |
| 22 | SSH | Linux/macOS(Windows 少见) |
| 5900 | VNC | Linux/macOS 居多 |
| 3389 | RDP | Windows |
| 21 | FTP | Linux(vsftpd)/Windows(IIS FTP) |
| 操作命令 |
基于 Web 应用的指纹识别
若目标有 Web 应用,可通过 Web 框架、文件扩展名、错误页面 判断 OS。
文件扩展名:.aspx → Windows(.NET 框架);.php/.jsp → Linux 居多。
错误页面:Windows IIS 的 404 页面会显示 Microsoft-IIS/版本号;Linux Apache 的 404 页面更简洁。
whatweb 目标

IP
IP归属地
各类在线查询工具

IP反查机构
各类空间测绘引擎都有这个功能

IP反查域名
在线工具网站

空间搜索引擎

威胁情报

IP-C段查询
包含完整 C 段的目标,通常属于内网资产或企业采购的专用公网网段;针对这类 C 段开展渗透测试时,若未提前明确资产边界,极易出现测试范围偏离授权目标的情况。
nmap 192.168.1.0/24 #扫描整个C类网段
网络测绘空间也可进行被动收集

