掀起你的盖头来——识别远程操作系统.PDF

掀起你的盖头来——识别远程操作系统.PDF

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
掀起你的盖头来——识别远程操作系统

掀起你的盖头来——识别远程操作系统 —— POSTED BY ADMIN ON OCT 1, 2012 IN FLOWS36 | 0 COMMENTS 我们在判定远程操作系统类型的时候,最熟悉的方法就是使用 ICMP 协议 Ping 同一局 域网内的不同主机,屏幕上回显的 TTL 值会因不同主机操作系统的不同而不同,甚至 是由于系统版本、防火墙、补丁等细节不同,在不同的主机,即使相同的操作系统,回 显的 TTL 值也会有所不同。 下图是 ping 同一局域网内的 Windows XP 主机,TTL 值为 128。选择 ping 局域网中 主机的原因是由于以太网中两台主机进行通信中间没有跳点,TTL 是从发起端发出的原 始值。 下图是 ping 同一局域网内的 Ubuntu 主机,TTL 值为 64。 1 下图是 ping 百度网站的例子。通过地址解析我们 ping 的是 61.135.169.125 ,TTL 值 为 56。直接 ping 互联网上的主机,虽然 TTL 值也有不同,但是不能直接显示发送端 的原始值。TTL 是由发送主机设置的,可防止数据包在互联网上无限循环。转发 IP 数 据包时,要求路由器至少将 TTL 减小 1。不过这个值会接近 2^n (1≤n≤8 ),所以可 认为以下对端主机为 Linux 系统。 然而单纯依赖 TTL 数值也是不准确的,还需要更加完整和系统性的识别技术,这就催 生出操作系统识别技术的迅速发展。 其中最具代表性的就是基于各种操作系统 TCP/IP 协议栈指纹的识别。常用的网络协议 是标准的,因而从理论上讲各种操作系统的协议栈应该是相同的。但在实际情况中,各 种操作系统的协议栈的实现存在细微的差异,这些差异称作网络协议栈的指纹。由于每 个操作系统对于网络部分的实现不尽相同,虽然在一些核心功能上都是一样的,但细节 上可以区分,这样就为识别操作系统提供了可行性。 TCP/IP 规范并不是被严格地执行,每个不同的实现将会拥有自身的特性,规范可能被 打乱,一些选择性的特性被使用,而其他的一些系统则可能没有使用。某些对 IP 协议 的改进也可能被实现,这就成为了某些操作系统的特性。根据 TCP 数据包的响应来进 行探测,它是依靠不同操作系统对特定 TCP 的不同反应来区分的。 对 TCP 协议族来说,这些差异通常表现在数据包头的标志字段中,如窗口大小(Window 2 Size )、ACK 序号、TTL 等的不同取值。通过对这些差别进行归纳总结,可以比较准确 地识别出远程系统的类型。TTL (Time To Live )是数据包的存活时间,表示一个数据 包在被丢弃之前可以通过多少跃点。不同操作系统的默认 TTL 值往往是不同的。DF 位 表示不分段的标志,在 IP 协议中设定,不同操作系统对 DF 位有不同的处理方式,有 些操作系统设置 DF 位,有些不设置 DF 位,还有一些操作系统在特定场合设置 DF 位, 在其他场合不设置 DF

文档评论(0)

youbika + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档