远程主机OS指纹识别(下)

  • 来源:
  • 更新日期:2018-05-30

摘要:4)Don\'t Fragment位探测:一些操作系统会设置IP头部\"Don\'t Fragment(DF)位\"(不分片位)以改善性能监视这个位就可以判定区分远程OS。

 4)Don\'t Fragment位探测

一些操作系统会设置IP头部"Don\'t Fragment(DF)位"(不分片位)以改善性能监视这个位就可以判定区分远程OS。
5)TCP初始窗口的大小检测
这种方法检查返回的数据包里包含的窗口大小某些操作系统在实现TCP/IP 协议栈时将这个域设置为独特的值如 AIX 是 0x3F25、Windows NT和 BSD 是0x402E。
6)TCP可选项探测
利用发送的TCP数据包里所设定的一些TCP可选项根据返回包的内容判断操作系统。
7049.jpg_wh300.jpg
7)ACK值探测
寻找不同的操作系统在设置ACK序列号上存在的差异和规律有些操作系统会将其设置为所确认的TCP数据包的序列号,而另外一些则将所确认的TCP数据包序列号加1作为ACK序列号返回。
8)ICMP错误消息抑制
有些操作系统限制返回ICMP错误消息的速率发送一些UDP包给某个随机选定的高端口统计在给定时间段内接受不可达错误消息的数目。
9)ICMP错误消息引用
当需要发送错误消息时不同的操作系统所引用的原网络包信息量不同。通过检测返回的ICMP错误消息中所引用的消息可以粗略地判断操作系统类型。
10)ICMP错误消息回射完整性
某些操作系统对TCP/IP协议栈的实现在返回ICMP错误消息的时候会修改所引用的IP头可以通过检测其对IP头的改动粗略判断操作系统。
11)TOS服务类型
检测ICMP端口不可达消息的TOS字段多数操作系统会是0而另一些则不是。
12)片段处理
不同的TCP/IP协议栈实现对重叠的片段处理上有差异有的操作系统在重组时会使用后到达的新数据覆盖旧数据有些则相反。